[发明专利]基于关键路径的适应处理器内核紧缺调度方法有效
申请号: | 201310305300.6 | 申请日: | 2013-07-21 |
公开(公告)号: | CN103336723A | 公开(公告)日: | 2013-10-02 |
发明(设计)人: | 谢志强;韩英杰 | 申请(专利权)人: | 哈尔滨理工大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F15/163 |
代理公司: | 哈尔滨东方专利事务所 23118 | 代理人: | 陈晓光 |
地址: | 150080 黑龙江省*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 关键 路径 适应 处理器 内核 紧缺 调度 方法 | ||
技术领域:
本发明涉及一种适应处理器内核紧缺的多核调度方法。
背景技术:
多核处理器现已广泛应用于各个领域,如何在满足一定约束条件下使处理器上任务充分并行处理,是任务调度研究的主要方向。任务调度需要通过任务调度算法来实现,而多核任务调度算法早已被证明是NP完全问题,即使在允许任务复制的前提下也是NP完全问题,故在以后的研究中大多侧重于获取近似最优解。
目前多核处理器片上通信机制主要有两种,一种是基于共享L2cache的共享存储结构,一种是基于片上网络或交叉开关的片上互连结构。无论处理器采用哪种结构,处理器内核之间的通信开销都是不可忽略的,这也是影响处理器性能的主要因素之一。现今多核处理器任务调度研究主要有三个方向:任务分配优化,提高L2cache命中率的共享存储优化和任务负载均衡等。其中,任务分配优化方向的主要着眼点在于将任务通过合理的调度算法分配到处理器各个内核上执行,以减少内核之间通信开销和提前任务完成总时间。
在多核处理器结构中,一个应用程序可以看成是一个任务的集合,这些任务之间存在着一定的数据依赖关系,这种依赖关系在应用程序开始执行之前就已经存在。如何在满足这种依赖关系的前提下,将应用程序中的任务合理的分配到处理器内核上执行,达到减少通信时间和任务执行总时间的目的,是多核处理器任务分配优化方向研究的主要内容。
目前,在任务分配优化方向比较著名的调度算法主要有:IREA,PPA,ETDS,TDMSCL,CPFD,PY,等。由于采用任务复制的方式将加权有向无环任务图(Directed Acyclic Graph, DAG)转换为产品加工树后,便于对任务进一步的分析处理;又由于对产品加工树采用逐层分解调度方式,便于在每一步调度中都能优先调度当前关键路径上的节点,达到减少任务执行时间的目的,而以往算法没有考虑到这一点,因此在任务完成总时间上会有所延迟,同时由于不能根据处理器当前剩余内核数对调整调度序列进行调整,因此在处理器内核不足时无法进行任务处理,进而使得当前剩余内核空闲,会造成处理器资源浪费。
发明内容:
本发明的目的是提供一种适应处理器内核紧缺的多核调度方法。
上述的目的通过以下的技术方案实现:
一种基于关键路径的适应处理器内核紧缺调度方法,该方法包括如下步骤:任务图转换模块采用复制叉节点的方法将DAG任务图转换为产品加工树;产品加工树调度模块按层序遍历产品加工树,自上而下将所述的产品加工树划分成若干子树,自最底层的子树起,依次在子树中查找并优先调度关键路径上节点,形成调度序列,每调度完成一棵子树便将该子树虚拟为一个节点并加入上层的子树中,直到所有节点调度完毕,形成初始调度序列;序列合并调整模块采用合并通信最为频繁且合并后对任务完成总时间影响最小序列的方式,将调度序列合并以适应处理器内核紧缺。
所述的基于关键路径的适应处理器内核紧缺调度方法,所述的调度方法具体实施步骤如下:
步骤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:将初始调度序列分别加入队列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨理工大学,未经哈尔滨理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310305300.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:配电网三相潮流状态估计方法
- 下一篇:运动信息整合咨询系统及方法