[发明专利]一种具有存储感知的多层分块调度方法有效
申请号: | 201310145363.X | 申请日: | 2013-04-24 |
公开(公告)号: | CN103246563A | 公开(公告)日: | 2013-08-14 |
发明(设计)人: | 王艳;李肯立;杜家宜;唐卓;肖正;朱宁波 | 申请(专利权)人: | 湖南大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 长沙市融智专利事务所 43114 | 代理人: | 黄美成 |
地址: | 410082 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 具有 存储 感知 多层 分块 调度 方法 | ||
1.一种具有存储感知的多层分块调度方法,其特征在于,包括以下步骤:
步骤1:所有的任务被执行一次称作一个迭代,以需要执行多次的具有执行顺序的一组任务构建的迭代空间作为分块对象,确定迭代空间的分块向量(Pi,Pj)方向,分块在Pj方向上的大小为f,分块在Pi方向上的大小为h,从任务间的依赖关系集合D中找出最外边的两个依赖CW和CCW,Pi=CCW和Pj=CW,所述依赖关系是指任务间的执行顺序;
步骤2:确定当前迭代所需要装载和保存的数据大小与分块向量大小f和h的关系式,以及当前迭代的调度长度Ls;
步骤3:按照策略一和策略二确定分块向量的大小f和h;
1)设定f为1,根据策略一和策略二计算h,分别得到h1和h2;
策略一:2NUMother+NUMtop+NUMnext≤Ms;
策略二:(NUMtop+NUMother)Tw+NUMother×Tr≤Ls×f×h;
2)若h1>h2,则h的取值为h2,采用策略一和策略二计算f,分别得到f1和f2,进入3);否则,分块大小h的取值为h1,f的取值为1;
3)若f1>1,分块大小确定为f1*h2;否则分块大小为f*h1,且f=1;
步骤4:采用迭代重计时技术,分散任务之间的延时改变任务之间里层循环的依赖关系,重构分块空间;
步骤5:按照分块大小f*h划分第一次分块空间,把第一次分块所产生的每一个子分块当作一个节点即作为一个簇任务,构成新的迭代空间,按照步骤1依次对每个子分块进行分块,获得第二次分块的方向向量(P2i,P2j);
步骤6:确定第二次分块向量的大小;
第二次分块向量在P2i方向上的大小为Ncore,在P2j方向上的大小为1,Ncore为处理器内核的数量;
步骤7:依据得到的两个分块向量对迭代空间进行分块后得到执行顺序图,按照执行顺序图对任务进行调度。
2.根据权利要求1所述的具有存储感知的多层分块调度方法,其特征在于,所述步骤1中分块向量的方向的具体确定过程如下:
任务间的依赖关系是指任务之间的执行顺序,用dk=(dki,dkj)表示,其中dki表示两任务在里层循环的执行依赖关系,dkj表示两任务在外层循环的执行依赖关系,从任务间的依赖关系集合D中找出最外边的两个依赖CW和CCW,Pi=CCW和Pj=CW;
CCW逆时针区间向量是指与j向量夹角最大的向量,CW顺时针区间向量是指与j向量夹角最小的向量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南大学,未经湖南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310145363.X/1.html,转载请声明来源钻瓜专利网。