[发明专利]基于二维编码遗传算法的云工作流调度优化方法在审

专利信息
申请号: 201911261543.8 申请日: 2019-12-10
公开(公告)号: CN111078381A 公开(公告)日: 2020-04-28
发明(设计)人: 谢毅;林荣雪;张滟 申请(专利权)人: 浙江工商大学
主分类号: G06F9/48 分类号: G06F9/48;G06F9/50;G06N3/12
代理公司: 杭州浙科专利事务所(普通合伙) 33213 代理人: 吴秉中
地址: 310012 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 二维 编码 遗传 算法 工作流 调度 优化 方法
【权利要求书】:

1.一种基于二维编码遗传算法的云工作流调度优化方法,其特征在于:包括以下步骤:步骤1:形式化调度问题,获取调度优化所需的信息;

获取任务集T={t1,t2,…,tI},其中I是任务的数量,ti表示任务i,即编号为i的任务;

获取任务间的时序关系:任务i的父任务集PRi,任务i的子任务集SCi,其中i=1,2…,I;

获取任务相关参数:任务i的长度ti.length,即任务i被虚拟机处理时需要耗费的指令数量,处理任务i时需要的输入文件列表ti.IFL,任务i被处理后产生的输出文件列表ti.OFL,及文件列表中文件file的大小file.size,其中i=1,2…,I;任务i是任务i+的父任务的充要条件是:存在一个文件file,file是任务i的输出文件同时又是任务i+的输入文件,即:

获取云计算环境下的虚拟机集VM={vm1,vm2,…,vmJ},其中J是虚拟机的数量,vmj表示虚拟机j,即编号为j的虚拟机;

获取虚拟机相关参数:虚拟机j的计算能力vmj.ps,虚拟机j的带宽vmj.bw,其中j=1,2…,J;

获取任务与虚拟机之间的支持关系:虚拟机j可以处理的任务集Tj,其中j=1,2…,J;可以处理任务i的虚拟机集VMi,其中i=1,2…,I;

步骤2:计算任务的层次值level;

对于没有父任务的开始任务i,其层次值为:

leveli=1 (1)

其它任务的层次值采用如下递归公式进行计算:

步骤3:初始化当代种群;

初始化当代种群包括基于HEFT-baseline的个体生成方法生成的1个个体和基于层次的个体随机生成方法生成的剩余N-1个不同的个体,其中N为种群规模;

所述个体采用二维整数编码,其方法如下:其中gj,i表示分配给虚拟机j的并在虚拟机j中是第i个被调度的任务的编号;是分配给虚拟机j的任务编号的一个排序,且满足任务时序约束,Ij表示分配给虚拟机j的任务数量;

所述基于HEFT-baseline的个体生成方法包括如下步骤:

步骤A1:令虚拟机可得时间段列表vatlj={[0,M]},变量kj=1,j=1,2,…,J,其中M为一个接近无穷大的数;令待处理任务集UT=T;令所有任务的就绪时间rti=0,i=1,…,I;

步骤A2:在UT中找出层次值最小的任务,从中取出子任务数量最多的一个任务,如果子任务数量最多的任务不止一个,则随机取其中一个,不妨设为ti

步骤A3:令可得虚拟机集AVMi=VMi,计算把ti分别分配给AVMi中的每个虚拟机后ti的完成时间:

步骤A3.1:从AVMi中取出一个虚拟机,不妨设为vmj

步骤A3.2:计算ti分配给vmj处理后的执行时间

步骤A3.3:在vatlj中从早到晚找出一个空闲时段[νjj],满足υjj≥eti,j和υj-eti,j≥rti

步骤A3.4:计算ti分配给vmj处理后的开始时间si,j=max{νj,rti},完成时间fi,j=si,j+eti,j

步骤A3.5:若AVMi不为空则转到步骤A3.1,否则转到步骤A4;

步骤A4:按虚拟机顺序找出能最早完成ti的虚拟机,不妨设为vmj;令kj=kj+1;把ti分配给vmj

步骤A4.1:令ti的开始时间si=si,j,ti的完成时间fi=fi,j

步骤A4.2:更新ti的子任务的就绪时间

步骤A4.3:在虚拟机可得时间段列表vatlj中删除[νjj],插入区间长度大于0的[νj,si]和[fij];

步骤A5:若UT不为空,则转到步骤A2,否则转到步骤A6;

步骤A6:输出一个基于HEFT-baseline的个体操作结束;

其中:

ωi,j:是vmj处理ti的时间,

是把ti分配给vmj处理时需要从其它的虚拟机获得输入文件的文件传输时间,

是处理的虚拟机;

τi,j:是把ti分配给vmj处理时需要从共享数据库获得输入文件的文件传输时间,

所述基于层次的个体随机生成方法包括如下步骤:

步骤B1:令待处理任务集UT=T,令变量kj=1,j=1,2,…,J;

步骤B2:从UT中随机取出一个层次值最小的任务,不妨设为ti

步骤B3:从VMi中随机选择一个虚拟机,不妨设为vmj

步骤B4:令kj=kj+1;

步骤B5:如果UT不为空,则转到步骤B2;否则转到步骤B6;

步骤B6:输出一个个体操作结束;

步骤4:采用FBID和LDI方法改进当代种群中的所有个体并计算其适应度值;

所述适应度值为工作流响应时间rs,其计算方法如下:

其中:rfi是任务i的响应时间,SFLi是任务i输出给共享数据库的输出文件集,即j是处理任务i的虚拟机编号,即满足的j;

个体适应度值越小,个体越优;

所述FBID方法包括如下步骤:

步骤C1:令反向工作流响应时间其中M为一个接近无穷大的数;

步骤C2:采用基于插入模式的串行个体解码方法对个体ch进行解码,获得所有任务的完成时间f1,…,fI及其工作流响应时间rs;如果rs小于则转到步骤C3,否则,转到步骤C6;

步骤C3:把个体ch中每个虚拟机j对应的基因序列根据任务完成时间从大到小重新排列,j=1,…,J,形成反向个体

步骤C4:对采用基于插入模式的串行反向个体解码方法进行解码获得所有任务的反向完成时间及其反向工作流响应时间若小于rs,则转到步骤C5,否则,转到步骤C6;

步骤C5:把反向个体中每个虚拟机j对应的基因序列根据任务的反向完成时间从大到小重新排列,j=1,…,J,形成个体ch,转到步骤C2;

步骤C6:输出个体ch及其适应度值即工作流响应时间rs,操作结束;

所述LDI方法包括如下步骤:

步骤D1:令分配给虚拟机的任务列表计算各虚拟机负载

步骤D2:找出负载最小的虚拟机j′;如果ldj′0,转到步骤D3,否则转到步骤D4;

步骤D3:令任务集转到步骤D5;

步骤D4:令任务集STj′=Tj′,转到步骤D5;

步骤D5:如果STj′不为空,则从STj′中按顺序取出一个其所在虚拟机j″的负载是最高的任务i′,转到步骤D6;否则转到步骤D7;

步骤D6:在中从前向后寻找任务i′的最后一个祖先任务编号和第一个子孙任务编号,如果都找到,那么在最后一个祖先任务编号和第一个子孙任务编号之间随机查找一个位置插入i′;如果子孙任务编号不存在而祖先任务编号存在,那么在最后一个祖先任务编号之后随机找一个位置插入i′;如果子孙任务编号存在而祖先任务编号不存在,那么在第一个子孙任务编号之前随机找一个位置插入i′;如果子孙任务编号和祖先任务编号都不存在,那么随机找一个位置插入i′;在中删除i′,形成新个体,采用FBID方法对新个体进行解码改进,如果有改进则用此改进的个体替换原个体,转到步骤D7;否则转到步骤D5;

步骤D7:LDI操作结束;

所述子孙任务和祖先任务的定义描述如下:如果存在一个任务序列满足是的父任务,其中1≤kn,那么是的祖先任务,是的子孙任务;

步骤5:判断是否满足终止条件,如满足,则进化结束转到步骤10,否则转到步骤6;

所述终止条件为迭代到指定的代数TG或连续迭代GG代最优个体没有改进;

步骤6:在当代种群上进行N次基于偏好和二维拓扑排序的参数化均匀交叉操作,形成新种群;

所述基于偏好和二维拓扑排序的参数化均匀交叉操作包括如下步骤:

步骤E1:采用基于排序的轮赌法从当代种群中随机选择两个不同的个体作为父体,不妨设为且chp1的适应度值小于等于chp2的适应度值,其中:任务编号列表任务编号列表j=1,…,J,令任务编号列表令循环控制变量δ=1;

步骤E2:如果δ≤I则转到步骤E3,否则转到步骤E6;

步骤E3:生成一个随机数λ∈[0,1),如果λpb,则转到步骤E4,否则转到步骤E5;

步骤E4:从chp1中随机选择一个不为空的且编号为其首元素的任务不存在父任务或其父任务都已被调度的从中取出首元素i′把其添加到的尾部,并从chp2中删除i′,δ=δ+1,转到步骤E2;

步骤E5:从chp2中随机选择一个不为空的且编号为其首元素的任务不存在父任务或其父任务都已被调度的从中取出首元素i″把其添加到的尾部,并从chp1中删除i″,δ=δ+1,转到步骤E2;

步骤E6:输出子体操作结束;

其中:pb∈(0.5,1)是偏好率;

步骤7:对新种群中的每个个体进行变异操作;

所述变异操作包括如下步骤:

步骤F1:随机生成1个随机数λ∈[0,1),如果λ≤pm,则转到步骤F2,否则转到步骤F5;

步骤F2:随机选择一个任务编号i,并在个体中删除值为i的基因;

步骤F3:从VMi中重新随机选择一个虚拟机,不妨设为虚拟机j;

步骤F4:在中从前向后寻找任务i的最后一个祖先任务编号和第一个子孙任务编号,如果都找到,那么在最后一个祖先任务编号和第一个子孙任务编号之间随机找一个位置插入i;如果子孙任务编号不存在而祖先任务编号存在,那么在最后一个祖先任务编号之后随机找一个位置插入i;如果子孙任务编号存在而祖先任务编号不存在,那么在第一个子孙任务编号之前随机找一个位置插入i;如果子孙任务编号和祖先任务编号都不存在,那么随机找一个位置插入i;

步骤F5:个体变异操作结束;

其中:pm∈[0,1)是变异率;

步骤8:采用FBID和LDI方法改进新种群中的所有个体并计算其适应度值;

步骤9:从优到劣从当代种群和新种群中选出N个不同的个体形成新的当代种群,转到步骤5;

步骤10:输出当代种群中的最优个体,其对应的调度方案为优化方案。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工商大学,未经浙江工商大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201911261543.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top