[发明专利]一种提高多工作流可靠性的节能调度方法有效
申请号: | 201911113879.X | 申请日: | 2019-11-14 |
公开(公告)号: | CN110908772B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 夏元清;陈岳红;戴荔;张金会;翟弟华;刘坤;闫莉萍;邹伟东;孙中奇;郭泽华 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/48 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 代丽;郭德忠 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提高 工作流 可靠性 节能 调度 方法 | ||
1.一种提高多工作流可靠性的节能调度方法,其特征在于,包括以下步骤:
步骤1,云数据中心同时接收多个用户提交的带有截止时间约束DC和可靠性约束RC的工作流,按照DC的大小对工作流进行升序排序,存入集合W中,此时可用虚拟机集合为P;
步骤2,选择DC最小的工作流Wh进行预调度,包括如下子步骤:
步骤2.1,考虑可靠性权重因子和截止时间约束计算工作流Wh中每个任务的优先级权值;将Wh中的所有任务按优先级权值降序排序,组成集合T;
步骤2.2,选取任务集合T中优先级权值最高的任务th作为当前待调度任务,并实时为该任务分配可靠性目标值;
其中,任务th的可靠性目标值Rgoal(th)为该任务的可靠性约束值RC(th)和该任务在所有虚拟机上的可获得的最大可靠性值之间的较小值,其中pk为第k个可用虚拟机;任务th的可靠性约束值RC(th)为:
其中,AlloT表示已调度任务集合,UnalloT表示未调度任务集合;RC(Wh)表示工作流Wh的可靠性约束;表示所有已调度任务实际可靠性的乘积,其中AR(ta)表示已调度任务ta的实际可靠性;AVR(th)表示任务th在集合P中所有虚拟机上的平均可靠性;表示所有未调度任务在集合P中所有虚拟机上的平均可靠性的乘积,其中AVR(tua)表示未调度任务tua在集合P中所有虚拟机上的平均可靠性;
步骤2.3,使用HEFT中的最早完成时间和处理器插空策略,为任务th预分配虚拟机,并将th在T中删除,若T不为空,返回步骤2.2;若T为空,在W中删除Wh,若W不为空,返回步骤2,否则得到所有任务与虚拟机的映射关系,执行步骤3;
步骤3,判断步骤2得到的所有任务与虚拟机的映射关系下,集合W中每个工作流实际可靠性是否均大于或等于设定的工作流可靠性约束,若是则将当前所有任务与虚拟机之间的映射关系作为最终调度结果进行调度;否则进行步骤4;
步骤4,对工作流进行重调度:重新调整所有任务与虚拟机之间的映射关系,获得最终调度结果进行调度,包括如下子步骤:
步骤4.1,获得步骤2得到的所有任务与虚拟机的映射关系下每个任务的实际开始时间和实际完成时间,将所有任务按照任务实际完成时间降序排序存储在集合T1中;
步骤4.2,在集合T1中选择优先级权值最大的任务tcurr作为当前待调度任务;根据有向无环图模型中任务的相互依赖约束和已获得的任务与虚拟机之间的映射关系及任务的实际开始时间和实际完成时间,计算任务tcurr在每个虚拟机上的最早开始时间EST(tcurr,pk),最晚结束时间LFT(tcurr,pk)以及在每个虚拟机上的空闲时间Scurr,k,进一步计算得到任务tcurr可以在虚拟机pk执行的最早开始时间EST'(tcurr,pk)和最晚完成时间LFT'(tcurr,pk);
步骤4.3,对于任务tcurr,根据任务tcurr在P集合中各个虚拟机可以执行的最早开始时间和最晚完成时间,获得能执行任务tcurr的虚拟机集合P';
其中,对于虚拟机pk,如果最晚结束与最早开始时间之差大于或者等于任务在虚拟机上的执行时间LFT'(tcurr,pk)-EST'(tcurr,pk)≥wcurr,k,则说明当前虚拟机pk能执行该任务,否则说明当前虚拟机pk不能执行该任务,将能执行任务tcurr的虚拟机添加到P'中;
判断P'是否为空,若P'不为空,进行步骤4.4;若P'为空,放弃调整tcurr,直接将当前调度中任务tcurr与虚拟机的映射关系作为最终tcurr与虚拟机之间的映射关系,执行步骤4.6;
步骤4.4,计算任务tcurr在P'中各个虚拟机上的最大可靠性,判断是否存在最大可靠性大于任务tcurr可靠性目标值的虚拟机;
若不存在,则在集合P'中直接为任务tcurr选择最大可靠性的虚拟机pmax作为目标虚拟机,此时的最优频率为该虚拟机的最大运行频率fmax;
若存在,则对所有最大可靠性大于任务tcurr可靠性目标值的虚拟机进行降频,直至任务tcurr在各个虚拟机上的可靠性均与任务tcurr的可靠性目标值相等,找到此时能耗最小的虚拟机,作为目标虚拟机pgoal,目标虚拟机pgoal此时的频率即为最优频率fgoal;
步骤4.5,将任务tcurr在目标虚拟机pgoal上以最优频率fgoal执行,按照步骤4.4获得的目标虚拟机及该虚拟机的最优频率fgoal,更新预调度中任务与虚拟机之间的映射关系;基于更新后的预调度中任务与虚拟机之间的映射关系,更新任务tcurr的实际开始时间AST(tcurr)和实际完成时间AFT(tcurr);
步骤4.6,将tcurr在集合T1中删除,若T1不为空,返回步骤4.2;若T1为空,则将当前所有任务与虚拟机映射关系作为最终调度结果进行调度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911113879.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:矿用设备安全专项监察决策系统
- 下一篇:一种通用型汽车水泵加工装置