[发明专利]一种云环境下基于遗传算法的多工作流调度方法有效
申请号: | 201711248932.8 | 申请日: | 2017-12-01 |
公开(公告)号: | CN107967171B | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 邓伏虎;赖淼;熊虎;耿技 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/455;G06N3/00 |
代理公司: | 成都正华专利代理事务所(普通合伙) 51229 | 代理人: | 何凡 |
地址: | 611730 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 环境 基于 遗传 算法 工作流 调度 方法 | ||
本发明公开了一种云环境下基于遗传算法的多工作流调度方法,其包括以下步骤:保留先前工作流调度状态并将遗传算法和新工作流进行初始化,计算新工作流每个个体的适应度并选出两个父代个体,根据遗传算法对父代个体进行交叉操作和单点变异得到子代个体并计算其适应度,比较子代个体和与其对应的父代个体的适应度,选择较小的两个个体加入子代种群;若子代种群大小等于父代种群的大小则合并子代种群和父代种群,并从合并种群中选出符合遗传算法的个体数量组成新的父代种群,否则跳转到重新选择父代个体步骤;最后根据迭代次数输出最优调度。本发明不仅避免了破坏以前工作流调度会产生的额外通信开销,还提高了虚拟机的计算资源利用率。
技术领域
本发明涉及多工作流调度领域,具体涉及一种云环境下基于遗传算法的多工作流调度方法。
背景技术
在传统的数据中心,应用程序与特定物理服务器相关联。由于数据中心资源有限,当应用程序请求达到峰值时,物理服务器通常会处于超负荷状态,甚至出现物理服务器宕机。这样的配置造成数据中心资源利用率低,管理费用高,客户体验差等问题。随着虚拟化技术的发展,以云计算为中心的计算服务模式成为当前国内外计算机技术研究的重点领域。它的主要优势在于:(1)隐藏服务器之间的异构性,实现资源整合,并提高资源利用率;(2)客户不必部署和维护硬件设备,通过租赁的方式以低的成本获取高的服务质量;(3)快速弹性能力,根据客户对资源的需求来动态地增大或缩小提供给客户的资源;(4)广泛的网络访问,客户可通过网络轻松地使用本地或远程可用的各种硬件和软件资源。
云环境中通常用有向无环图(DAG)表示工作流模型,图中的节点表示单个子任务,图中的有向边表示2个子任务之间的优先级关系。云环境中工作流调度系统的主要目标就是将工作流中的各个子任务分配到合适的虚拟机上,使工作流任务能顺利执行并满足用户的服务质量(QoS)要求。由于工作流和资源具有异构性和动态性,工作流调度问题已被广泛认为是一个NP完全问题。
发明内容
针对现有技术中的上述不足,本发明提供的一种云环境下基于遗传算法的多工作流调度方法提高了虚拟机的资源利用率。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种云环境下基于遗传算法的多工作流调度方法,其包括以下步骤:
S1、判断是否有新的工作流到达,若有则保留先前工作流调度状态并进入步骤S2;否则继续处理先前的工作流;
S2、根据虚拟机上的空闲时间槽为新工作流提供资源;初始化遗传算法的交叉概率、变异概率、最大迭代次数和种群大小;初始化新工作流的种群并作为父代种群;
S3、获取父代种群的完成时间和父代种群所有子任务的通信开销,计算父代种群中每个个体的适应度;
S4、根据轮盘赌技术从父代种群中选出两个父代个体;
S5、根据交叉概率对选出的两个父代个体进行交叉操作,得到两个子代个体;
S6、根据变异概率对得到的两个子代个体实施单点变异,得到两个新的子代个体并计算其适应度;
S7、比较得到的新子代个体的适应度和与其对应的父代个体的适应度,选择适应度较小的两个个体加入子代种群;
S8、判断子代种群个体大小是否等于遗传算法的种群大小,若相等则进入步骤S9,否则返回步骤S4;
S9、合并子代种群和父代种群,并从合并种群中选出与遗传算法的种群大小数量相等的个体组成新的父代种群;
S10、判断遗传算法是否满足最大迭代次数,若满足,则停止算法并输出步骤S9中新父代种群里适应度最小的个体作为最优调度;否则将步骤S3中的父代种群替换为步骤S9中的新父代种群进行迭代。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711248932.8/2.html,转载请声明来源钻瓜专利网。