[发明专利]基于关键路径的适应处理器内核紧缺调度方法有效
申请号: | 201310305300.6 | 申请日: | 2013-07-21 |
公开(公告)号: | CN103336723A | 公开(公告)日: | 2013-10-02 |
发明(设计)人: | 谢志强;韩英杰 | 申请(专利权)人: | 哈尔滨理工大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F15/163 |
代理公司: | 哈尔滨东方专利事务所 23118 | 代理人: | 陈晓光 |
地址: | 150080 黑龙江省*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 关键 路径 适应 处理器 内核 紧缺 调度 方法 | ||
1.一种基于关键路径的适应处理器内核紧缺调度方法,其特征是: 该方法包括如下步骤:任务图转换模块采用复制叉节点的方法将DAG任务图转换为产品加工树;产品加工树调度模块按层序遍历产品加工树,自上而下将所述的产品加工树划分成若干子树,自最底层的子树起,依次在子树中查找并优先调度关键路径上节点,形成调度序列,每调度完成一棵子树便将该子树虚拟为一个节点并加入上层的子树中,直到所有节点调度完毕,形成初始调度序列;序列合并调整模块采用合并通信最为频繁且合并后对任务完成总时间影响最小序列的方式,将调度序列合并以适应处理器内核紧缺,多核处理器任务处理的效率,使任务在处理器剩余内核不足时仍能够得到较为理想的调度,减少处理器内核空闲等待,同时也使任务图中每个节点都能得到充分调度,使任务完成时间得以提前,提升同构多核处理器性能。
2.根据权利要求1 所述的基于关键路径的适应处理器内核紧缺调度方法,其特征是:所述的调度方法具体实施步骤如下:
步骤1:遍历DAG任务图,复制叉节点,将DAG图转换为产品加工树;
步骤2:由叶节点起层序遍历产品加工树,依次将入度大于1的节点加入队列a;
步骤3:判断队列a是否为空,如不为空,继续执行,否则跳至步骤13;
步骤4:取出队列a当前头结点Ti,与其紧前节点序列形成以Ti为根节点的产品加工树;
步骤5:在加工树中查找关键路径,将关键路径上节点依次加入队列b;
步骤6:判断队列b是否为空,如不空继续向下执行,否则跳转至步骤3;
步骤7:取出并删除队列b当前头结点,判断该节点入度是否大于1,如该任务节点入度不大于1,继续向下执行,否则跳转至步骤9;
步骤8:与紧前节点序列形成调度序列,跳转到步骤6;
步骤9:将不在关键路径上的紧前节点序列形成初始调度序列;
步骤10:拟合并紧前节点序列,如果合并后使得该节点开始时间延迟,继续向下执行;否则跳转至步骤12;
步骤11:将关键紧前节点序列与非关键紧前节点序列分别形成调度序列,并将节点分配到使其最早开始执行的序列上,跳转至步骤6;
步骤12:合并紧前节点序列形成调度序列,跳转至步骤6;
步骤13:判断产品加工树中是否还有未调度节点,如果有继续向下执行,否则,跳转至步骤15;
步骤14:将该节点与其紧前节点序列形成调度序列;
步骤15:初始调度序列形成完毕;
步骤16:将初始调度序列分别加入队列;
步骤17:判断队列数是否多于处理器当前剩余内核数,如果多于继续向下执行,否则跳转至步骤21;
步骤18:查找与其他队列通信次数最多的队列;
步骤19:将该队列以其他队列拟合并,并分别计算任务完成总时间;
步骤20:选择对任务完成总时间影响最小的队列,形成调度序列,跳转至步骤17;
步骤21:将调度序列形成最终执行序列;
步骤22:为每个调度序列分配内核。
3.根据权利要求1或2 所述的基于关键路径的适应处理器内核紧缺调度方法,其特征是:该方法的具体过程是:
(1)任务图转换模块:
应用程序的任务之间往往存在数据约束关系,这种关系在程序开始执行之前就已经存在,而DAG图可以很好地表示出这种关系,DAG图可以通过复制节点的方式转换为综合调度中常用的产品加工树模型,便于对任务图中节点的进一步分析和调度;
(2)产品加工树调度模块:
关键路径是加工树中执行时间最长的路径,所以关键路径工序的有效调度将很大程度上影响任务完成总时间;由于产品加工树只能优先调度叶节点工序,剩下的待调度工序加工流程仍为树状结构,当优先调度关键路径上节点后,剩余加工树的关键路径可能发生改变,如果始终坚持任务节点调度开始时确定的关键路径,不能保证总是优先调度变化了的关键路径上的工序;为此,加工树调度模块采用如下调度策略进行设计:
按层序将产品加工树分解成子树,在子树中查找并优先调度关键路径上节点形成调度序列;当该子树调度完毕后,将该子树虚拟为一个任务节点,加入上一级子树中进行调度,直到产品加工树调度完成为止,在将子树虚拟为节点时,虚拟节点的权值为子树执行时间,通信时间为根节点通信时间;
关键路径上节点通常包含多个紧前节点序列,在对关键路径上节点进行调度时,如果直接将其分配到关键路径上紧前节点序列上进行调度,则当该节点的其他紧前节点序列执行时间与通信时间之和较大时会导致当前待调度节点完成时间延迟;因此,本文在为节点分配调度序列时,首先对节点的紧前节点序列进行拟合并,将使节点尽早开始执行的序列合并到同一内核上执行,可以最大限度的提前任务完成的总时间;对于拟合并后使待调度节点的开始时间延迟的,则将序列分配到不同内核上,并将待调度节点分配到使其最早开始执行的序列上;
(3)序列合并调整模块:
当处理器当前剩余内核不足以完成任务调度时,按传统调度算法对任务进行处理后的调度序列将无法分配到当前内核上执行;如果当前任务的优先级最高,则处理器的剩余内核上将不会有任务执行;此时,处理器的剩余内核将会空闲,进而产生处理器资源浪费;
在序列合并调整中,当内核数剩余不足时,因为经过调度后形成的初始序列之间大都依然存在通信关系,而这种通信开销有可能会使某些节点的开始执行时间向后推移,如果合并这种有通信关系的序列可以尽量减少通信开销,在合并序列的同时也要注重选取合并后对任务执行总时间影响最小的序列进行合并;通过这种合并策略可以减少最终调度序列的数量,以适应处理器当前剩余内核数量,进而减少处理器资源浪费。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨理工大学,未经哈尔滨理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310305300.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:配电网三相潮流状态估计方法
- 下一篇:运动信息整合咨询系统及方法