[发明专利]基于层次与负载均衡遗传算法的云工作流调度优化方法有效

专利信息
申请号: 201911281124.0 申请日: 2019-12-10
公开(公告)号: CN110928671B 公开(公告)日: 2022-07-08
发明(设计)人: 叶必卿;李蒙正;单晓杭;李研彪;张利;谢毅 申请(专利权)人: 浙江工业大学
主分类号: G06F9/48 分类号: G06F9/48;G06F9/50;G06F9/455;G06N3/12
代理公司: 杭州浙科专利事务所(普通合伙) 33213 代理人: 吴秉中
地址: 310000 浙*** 国省代码: 浙江;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:计算任务的层次值;

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

leveli=1 (1)

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

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

采用基于层次的个体随机生成方法生成N个不同的个体,形成当代初始种群,其中N为种群规模;

所述个体采用I位实数编码,其方法如下:ch={g1,g2,…,gI},其中I是任务的数量,基因gi是一个正实数,整数部分表示给任务i分配的虚拟机编号,即把任务i分配给虚拟机小数部分表示任务i在调度时的优先级,数值越小优先级越高;

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

步骤A1:令所有虚拟机可得时间段列表vatlj={[0,M]},j=1,2,…,J,M为一个接近无穷大的数;令所有任务的就绪时间rti=0,i=1,2,…,I;令任务集UT=T;令计数变量k=1,随机生成I个[0,1)之间的随机数,不妨设这些随机数从小到大为:α12,…,αI

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

步骤A3:从VMi中随机选择一个虚拟机,不妨设为vmj,gi=j+αk,基于插入模式把ti分配给vmj,即:

步骤A3.1:计算ti的执行时间

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

步骤A3.3:计算ti的开始时间si=max{νj,rti},完成时间fi=si+eti

步骤A3.4:更新ti的子任务的就绪时间

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

步骤A4:若UT不为空,则k=k+1,转到步骤A2,否则转到步骤A5;

步骤A5:获得一个个体ch={g1,…,gI},计算其适应度值,操作结束;

其中:

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

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

是处理的虚拟机;

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

步骤4:判断是否满足终止条件,如满足,则转到步骤9,否则转到步骤5;

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

步骤5:在当代种群上进行N次交叉操作,形成新种群;

所述交叉操作包括如下步骤:

步骤B1:从精英种群中随机选择一个个体作为父体1,在全体当代种群中随机选择一个个体作为父体2;

步骤B2:对父体1和父体2进行基于偏好的参数化均匀交叉操作形成一个新个体,新个体中的每一个基因以δ的概率来自于父体1,以1-δ的概率来自于父体2;

步骤B3:输出新个体,操作结束;

其中,精英种群为当代种群中从优到劣排名前|N×pe|的个体组成,pe∈(0,1)是精英率;δ为偏好率,0.5<δ<1;

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

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

步骤C1:随机生成一个小数λ∈[0,1);

步骤C2:如果λ<pm,则转到步骤C3,否则转到步骤C4

步骤C3:随机选择1至个基因,对选中的每个基因重新选择虚拟机并重新生成优先级;

步骤C4:操作结束;

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

步骤7:采用基于插入模式的串行个体解码方法计算新种群中所有个体的适应度值,并用基于层次解码的个体改进方法和基于负载均衡的个体改进方法对种群中的个体进行改进;

所述基于插入模式的串行个体解码方法包括如下步骤:

步骤D1:初始化系统状态:

步骤D1.1:令所有虚拟机可得时间段列表vatlj={[0,M]},j=1,…,J,M为一个接近无穷大的数;

步骤D1.2:令所有任务的就绪时间rti=0,令任务集P(ti)=PRi,i=1,…,I;令任务集UT=T;

步骤D1.3:把UT中的ti移到RT中;

步骤D2:从RT中取出一个优先级最高即最小的任务,不妨设为ti

步骤D3:把ti分配给不妨设

步骤D3.1:计算ti的执行时间

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

步骤D3.3:计算ti的开始时间si=max{νj,rti},完成时间fi=si+eti

步骤D3.4:更新ti的子任务的就绪时间

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

步骤D3.6:在所有中删除ti

步骤D3.7:把UT中的ti移到RT中;

步骤D4:如果RT不为空则转到步骤D2,否则转到步骤D5;

步骤D5:获得所有任务的完成时间fi,i=1,…,I;计算其适应度值,操作结束;

所述基于层次解码的个体改进方法包括如下步骤:

步骤E1:令所有虚拟机可得时间段列表vatlj={[0,M]},j=1,…,J,M为一个接近无穷大的数;令所有任务的就绪时间rti=0,i=1,…,I;令任务集UT=T;令计数变量k=1,随机生成I个[0,1)之间的随机数,不妨设这些随机数从小到大为:α12,…,αI

步骤E2:从UT中随机取出一个层次值与优先级之和最小的任务,不妨设为ti

步骤E3:基于插入模式把ti分配给不妨设

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

步骤E3.2:计算ti的开始时间和ti的结束时间

步骤E3.3:更新ti的子任务的就绪时间

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

步骤E4:令若UT不为空,则k=k+1,转到步骤E2,否则转到步骤E5;

步骤E5:计算的适应度值,如果优于ch={g1,…,gI},那么改进个体ch={g1,…,gI}为操作结束;

步骤8:根据适应度从优到劣从当代种群和新种群中选出N个不同的个体形成新的当代种群,转到步骤4;

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

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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