[发明专利]基于关键路径和任务复制的单任务多核调度方法有效
申请号: | 201210554170.5 | 申请日: | 2012-12-19 |
公开(公告)号: | CN103034614A | 公开(公告)日: | 2013-04-10 |
发明(设计)人: | 谢志强;韩英杰 | 申请(专利权)人: | 哈尔滨理工大学 |
主分类号: | G06F15/163 | 分类号: | G06F15/163;G06F9/48 |
代理公司: | 哈尔滨东方专利事务所 23118 | 代理人: | 陈晓光 |
地址: | 150080 黑龙江省*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 关键 路径 任务 复制 多核 调度 方法 | ||
1.一种基于关键路径和任务复制的单任务多核调度方法,其特征是:该方法主要包括如下步骤:DAG任务图处理模块,采用任务复制的方法,将DAG任务图中的fork节点复制给其后继任务节点,形成join结构任务图,再进一步将join图转换为产品加工树;任务节点调度分配模块,引入综合调度中关键路径思想,查找产品加工树的关键路径,并优先调度关键路径上节点,提前关键路径上节点开始执行时间;调度序列调整优化模块,采用合并相似度最大的调度序列的方式,将调度序列合并以使调度序列数不大于处理器内核数,实现处理器内核充分并行处理。
2.根据权利要求1所述的基于关键路径和任务复制的单任务多核调度方法,其特征是:所述的调度方法具体实施步骤如下:
步骤1:遍历DAG任务图,并将任务图中fork节点复制给它的后继任务节点,形成只含有join节点的任务图;
步骤2:将join任务图转换为与之对应的产品加工树;
步骤3:在产品加工树中计算由根节点到各叶节点的路径长度,找到路径最长的,作为关键路径,如路径长度相同,则找到包含节点数最多的,作为关键路径;
步骤4:将关键路径由第一个节点起,依次加入队列;
步骤5:判断队列是否为空,如不为空继续向下执行,否则跳转至步骤14;
步骤6:取队列中第一个任务节点,判断该节点入度是否大于1,并从队列中删除该节点,如该任务节点入度不大于1,继续向下执行,否则跳转至步骤8;
步骤7:与紧前节点序列形成调度序列,跳转到步骤5;
步骤8:判断不在关键路径上的紧前节点序列是否已形成调度序列,如已形成调度序列跳转至步骤11;否则继续向下执行;
步骤9:判断该序列中是否含有有入度大于1的节点,如果含有入度大于1的节点继续向下执行,否则跳转至步骤11;
步骤10:将紧前节点序列虚拟为一棵产品加工树,跳转至步骤3;
步骤11:拟合并紧前节点序列,如果合并后使得该节点开始时间延迟,继续向下执行;否则跳转至步骤13;
步骤12:将关键紧前节点序列与非关键紧前节点序列分别形成调度序列,并将节点分配到使其最早开始执行的序列上,跳转到步骤5;
步骤13:合并紧前节点序列形成调度序列,跳转到步骤5;
步骤14:判断产品加工树中是否还有未调度节点,如果有,将该节点虚拟为一棵产品加工树并跳转到步骤3;否则继续向下执行;
步骤15:判断调度序列数是否大于处理器内核数,如果是,继续向下执行;否则跳转到步骤20;
步骤16:将调度序列分别加入队列;
步骤17:依次计算队列之间的相似度;
步骤18:查找相似度最大的队列;
步骤19:合并相似度最大的队列,跳转到步骤15;
步骤20:为每个调度序列分配内核;
步骤21:输出调度结果甘特图。
3.根据权利要求1或2所述的基于关键路径和任务复制的单任务多核调度方法,其特征是:所述的根节点到各叶节点的路径长度是路径上各工序加工时间和节点间通信时间总和。
4.根据权利要求1或2或3所述的基于关键路径和任务复制的单任务多核调度方法,其特征是:所述的任务节点调度分配模块中引入综合调度中关键路径策略,并且采用紧前节点组尽早调度策略进行关键路径上节点调度。
5.根据权利要求1或2或3或4所述的基于关键路径和任务复制的单任务多核调度方法,其特征是:所述的调度序列调整优化模块中采用合并相似度最大策略,根据处理器内核数对调度序列数进行调整。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨理工大学,未经哈尔滨理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210554170.5/1.html,转载请声明来源钻瓜专利网。