[发明专利]一种带任务重复的工作流调度算法在审
申请号: | 201610569560.8 | 申请日: | 2016-07-14 |
公开(公告)号: | CN106201701A | 公开(公告)日: | 2016-12-07 |
发明(设计)人: | 李云;阮敏;袁运浩 | 申请(专利权)人: | 扬州大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 南京中新达专利代理有限公司 32226 | 代理人: | 孙鸥;朱杰 |
地址: | 225009 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种带任务重复的工作流调度算法。本发明根据用户提交的任务初始化DAG图,根据DAG图的优先级构建任务队列V,V={v1,v2,Λ,vn},计算任务队列V的首个任务vi在虚拟列表中每个处理器上的完成时间,比较查找任务vi的最小完成时间Tft(vi,Pk),构建任务队列A存储需要重复的任务,任务队列B存储已经重复过的任务,任务按照最早开始时间非递增存储,采用遗传算法迭代出最优解,将映射好的任务分配到相应的资源以获得最优调度方案。本发明克服了DAG图不具有明显的分层和清晰的优先级约束的缺陷。本发明由于在D‑IAHA和IAHA中,任务在交叉和变异阶段中的是否要选择变异的资源时考虑到了任务的出错概率,所以大大减少任务在处理器上执行时的出错次数。 | ||
搜索关键词: | 一种 任务 重复 工作流 调度 算法 | ||
【主权项】:
一种带任务重复的工作流调度算法,其特征在于包括如下步骤:(1)根据用户提交的任务初始化DAG图,用G=(V,E,[W],C)表示,其中vi∈V,表示DAG图中的第i个节点,E是DAG图中节点边的集合,eij∈E表示任务vi到任务vj的边,同时注意,任务vi必须在任务vj执行前执行完成;wik∈[W],[W]表示n×m阶任务在不同处理器上的执行时间矩阵,wik表示任务vi在处理器Pj上的执行时间;cij∈C表示vi到vj的通信开销,用边上的权值表示;(2)根据DAG图的优先级构建任务队列V,V={v1,v2,Λ,vn};(3)计算任务队列V的首个任务vi在虚拟列表中每个处理器上的完成时间:(3a)计算任务vi在处理器Pk上的初始完成时间:Tft(vi,Pk)=Tst(vi,Pk)+wik其中,Tst(vi,Pk)为任务vi在处理器Pk上的开始时间,Tft(vi,Pk)为完成时间;(3b)令Mj为任务vi所有任务中出度最大的父任务结点(若存在几个以上相同出度,则比较完成时间,Mj为完成时间最大的任务);Mi为任务vi的最重要的直接父任务,在考虑重复任务后,计算任务vi在处理器Pk上的最终完成时间:(i)若Mi和Mj均不在或均已调度到当前处理器Pk上,则返回Tft(vi,Pk)的值;(ii)若处理器Pk上存在合适执行Mi或Mj的空闲时间隙,计算任务Mj在处理器Pk上的完成时间Tft(vj,Pk),计算任务Mi在处理器Pk上的完成时间Tft(vt,Pk):①若Tft(vj,Pk)<Tst(vi,Pk),则在处理器Pk上重复任务Mj;②若Tft(vt,Pk)<Tst(vi,Pk),则在处理器Pk上重复任务Mi;③其他情况,则返回Tft(vi,Pk);(iii)其他情况,则返回Tft(vi,Pk);(4)比较查找任务vi的最小完成时间Tft(vi,Pk),若存在相同值,则将该任务调度到任务相对较少的处理器上;(5)若不存在相同值且任务队列为空时,构建任务队列A存储需要重复的任务,任务队列B存储已经重复过的任务,任务按照最早开始时间非递增存储;(6)对任务队列B中的所有任务,若移除该任务对总完成时间无影响的话,则删除冗余任务,更新任务队列;(7)采用遗传算法迭代出最优解;(8)将映射好的任务分配到相应的资源以获得最优调度方案。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610569560.8/,转载请声明来源钻瓜专利网。
- 上一篇:一种信息掉电保护装置、保护方法及嵌入式系统
- 下一篇:一种页面编辑方法和装置