[发明专利]基于萤火虫算法和动态优先级的云工作流调度方法有效
申请号: | 201611121548.7 | 申请日: | 2016-12-08 |
公开(公告)号: | CN106648831B | 公开(公告)日: | 2019-11-05 |
发明(设计)人: | 俞东进;郑宏升;张蕾;王娇娇 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/48;G06N3/00 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杜军 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 萤火虫 算法 动态 优先级 工作流 调度 方法 | ||
1.基于萤火虫算法和动态优先级的云工作流调度方法,其特征在于包括如下步骤:
步骤(1).输入任务列表和虚拟机列表;其中任务列表包含了目标工作流中的所有待执行任务;虚拟机列表包含了云服务提供商提供的用来执行工作流任务的虚拟机资源;
步骤(2).初始化萤火虫算法的基本参数,包括萤火虫数目v、光吸收系数γ、最大迭代数itMax、步长因子α;
步骤(3).随机生成初始萤火虫种群的位置,每个萤火虫的位置都代表了一种调度方案,即任务和虚拟机的映射关系;
假设萤火虫的个数为c,工作流中任务的个数为N,可用来进行调度的虚拟机个数为M,则第i个萤火虫的位置可用一个N维的向量xi=(xi,1,xi,2,...,xi,q,...,xi,N)表示,其中xi,q∈(1,2,...,M);一个萤火虫的位置向量代表一种可行的调度方案,该位置向量中的每一个元素都代表工作流中的一个任务由哪个虚拟机调度执行;
步骤(4).对每个萤火虫位置采用动态优先级调度算法来确定任务的执行顺序;之后求出每种调度方案的完成时间makespan、费用cost和可靠性reliablity,最终求得每种调度方案的适应度函数值作为萤火虫的亮度;设置最优适应度值bestFitness为初始萤火虫中最优适应度值、最优调度方案bestDop为相应的萤火虫位置;
对于某种调度方案S,其适应度函数f(S)定义如下:
其中,为了使费用单位化引入了min_cost变量,流程执行的费用必须小于这个值,MinRealiablity表示用户要求的最低可靠性,Deadline表示截止时间;
步骤(5).对每一个萤火虫i进行如下操作:若萤火虫i的周围有比其更亮的萤火虫,则该萤火虫向着比它亮的萤火虫移动,按照如下公式更新萤火虫移动之后的位置:
其中θ是0~1之间的随机数,βi,j表示比萤火虫i亮的萤火虫j对i的吸引度,由如下公式求得:
其中γ为光吸收系数,β0为最大吸引度,即在光源处的吸引度;rij表示两只萤火虫的距离,由如下公式求得:
其中l(·)是指示函数,当参数为真时,函数值为1,否则为0;
若周围没有比它更亮的萤火虫,此时该只萤火虫为最优萤火虫,如果对应的调度方案没有满足时间约束,则在最终完成时间最大的虚拟机上挑选出运行时间最短的任务,将它分配到最终完成时间最小的虚拟机上,优先满足时间约束;如满足了截止时间的情况下,则随机移动;
步骤(6).更新萤火虫位置后,重新计算适应度值,若适应度值大于bestFitness,则设置bestFitness为该适应度值,并更新最优调度方案bestDop;
步骤(7).重复步骤(5)、(6),直到迭代次数达到itMax;
步骤(8).输出此时的最优适应度值bestFitness以及最优调度方案bestDop。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611121548.7/1.html,转载请声明来源钻瓜专利网。