[发明专利]一种云环境下的工作流调度与数据分配方法有效

专利信息
申请号: 201711468801.0 申请日: 2017-12-28
公开(公告)号: CN108182109B 公开(公告)日: 2021-08-31
发明(设计)人: 陈羽中;黄启成;郭文忠 申请(专利权)人: 福州大学
主分类号: G06F9/48 分类号: G06F9/48;G06F9/50;H04L29/08
代理公司: 福州元创专利商标代理有限公司 35100 代理人: 蔡学俊
地址: 350108 福建省福州市*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 环境 工作流 调度 数据 分配 方法
【权利要求书】:

1.一种云环境下的工作流调度与数据分配方法,其特征在于,包括如下步骤:

步骤A:获取云平台当前的工作流;

步骤B:根据调度模型计算工作流中每个任务的高度,并按照高度升序排列任务;

步骤C:使用粒子群优化算法,每个粒子表示一种工作流调度与数据分配方案,以工作流的执行时间以及执行成本为优化目标,获得全局最优的粒子编码;

步骤D:将全局最优的粒子编码解码成工作流调度与数据分配方案并输出;

所述步骤B中,计算工作流中每个任务的高度并按照高度升序排列任务,包括以下步骤:

步骤B1:构造工作流的有向无环图G,方法为:

工作流由n个相互依赖的任务T={T1,T2,…,Tn}构成,采用有向无环图G=(V,E)表示,其中V表示节点集合,V=T,E表示边集合,E={eij|Ti∈T∧Tj∈T∧Ti∈pred(Tj)};其中任务Tj的直接前驱任务的集合表示为pred(Tj),直接后续任务的集合表示为succ(Tj),只有当pred(Tj)中的任务全部执行完成并且数据传输到任务Tj所在的虚拟机时,任务Tj才开始执行,没有前驱任务的任务节点称为开始任务Tentry,没有后继任务的任务节点称为结束任务Texit;Ti∈pred(Tj)表示任务Ti是任务Tj的直接前驱任务,即任务Tj是任务Ti的直接后继任务,任务Tj依赖于任务Ti;eij表示任务Ti和任务Tj间的边,eij的值代表任务Ti需传输给任务Tj的数据量大小;

步骤B2:从工作流的开始任务Tentry出发,遍历工作流的有向无环图G,计算每个任务Ti的初始高度Heightinit(Ti);其中,任务Ti的初始高度Heightinit(Ti)的计算方法如下:

步骤B3:从工作流的结束任务Texit出发,遍历工作流的有向无环图G,计算每个任务Ti的高度Height(Ti);其中,任务Ti的高度Height(Ti)的计算方法如下:

其中,表示产生位于区间范围内的随机整数;

通过计算工作流中每个任务Ti的高度Height(Ti),从而确定任务Ti执行的顺序,然后根据任务的高度升序排列,构成任务的拓扑顺序,该顺序是保持任务之间优先级约束的线性顺序;

步骤B4:根据每个任务Ti的高度Height(Ti),按照高度升序排列任务,构成任务的拓扑顺序;

所述步骤C中,使用粒子群优化算法,以工作流的执行时间以及执行成本为优化目标,获得全局最优的粒子编码,包括以下步骤:

步骤C1:初始化粒子群,设置粒子群算法参数,包括粒子数量、惯性因子、认知能力因子、社会学习因子、迭代次数、种群规模、粒子维数、粒子速度控制范围;其中,初始化粒子群,粒子的编码方式如下:

Xi={xi,1,xi,2,…,xi,N}是粒子群X中的第i个粒子,表示工作流调度问题的第i个调度方案,N是工作流所包含的元素数量,工作流元素包括构成工作流的任务和数据,Xi的每一维表示工作流元素与服务节点的映射关系,xi,j的值表示该工作流元素所在的虚拟机的序号,即将工作流的第j个元素分配到序号为xi,j的虚拟机,虚拟机的序号的取值范围为[1,m],m为云平台中的虚拟机节点数;

步骤C2:计算粒子群中每个粒子的适应度值,根据粒子的适应度值,记录个体历史最优粒子和种群最优粒子;其中,粒子群中粒子的适应度值的计算方法如下:

fitness=α.Ttotal+β.Ctotal

其中,α、β表示权重系数,Ttotal表示工作流执行的时间代价,Ctotal表示工作流执行的成本代价,具体定义如下:

Ctotal=Costexe(G)+Costtx(G)

其中,工作流执行的时间代价Ttotal定位为从用户提交一个工作流到获得执行结果的总时间,即结束任务Texit的完成时间工作流执行的成本代价Ctotal包括工作流的任务处理代价Costexe(G)和数据传输代价Costtx(G);

工作流执行的时间代价Ttotal的计算方法如下:

首先定义工作流中的任务Ti的任务开始时间和任务完成时间分别为STi和FTi,则STi定义如下:

其中VM(Ti)表示任务Ti所分配的虚拟机的序号,表示和任务Ti分配到同一个虚拟机(即VM(Tk)=VM(Ti))且是最晚先于任务Ti被虚拟机调度执行的任务Tk(即Tk→Tj)的任务完成时间;表示传输任务Ti所需的全部数据所需的时间;TRTji为任务Tj存在任务Ti所需的数据Dji时的数据传输时间,定义如下:

其中,VM(Tj)表示任务Tj所分配的虚拟机的序号,VM(Dji)表示数据Dji所放置的虚拟机的序号,表示任务Tj所分配的虚拟机与数据Dji所放置的虚拟机之间的链路带宽;表示数据Dji所放置的虚拟机与任务Ti所分配的虚拟机之间的链路带宽;

根据STi的定义,FTi定义为:

其中为任务Ti在虚拟机vmj上被调度执行后的执行时间;

根据上述定义,当一个工作流的任务被调度之后,工作流的执行时间就等于结束任务Texit的完成时间,即:

工作流的任务处理代价Costexe(G)的计算方法如下:

其中,VM(Ti)表示任务Ti分配的虚拟机的序号,表示任务Ti在分配的虚拟机VM(Ti)上的处理代价,工作流的任务处理代价Costexe(G)即为构成工作流的各个任务的处理代价之和;的具体定义如下:

假定VM(Ti)=j,则

其中,DSi表示任务Ti的数据大小,PSj表示虚拟机vmj的处理能力,RCj表示虚拟机vmj的租赁费用;

工作流执行过程中各个任务间的数据传输代价Costtx(G)的计算方法如下:

其中VM(Ti)表示任务Ti分配的虚拟机的序号,VM(Dij)表示数据Dij所放置的虚拟机的序号,Dij是任务间的数据传输矩阵D中的元素,表示任务Ti和任务Tj之间需要传输的数据的大小,单位为MB,数据传输矩阵D定义如下:

表示任务Ti所分配的虚拟机节点与数据Dij所放置的虚拟机节点之间的数据链路的租赁价格,单位是$/MB;表示数据Dij所放置的虚拟机节点与任务Tj所分配的虚拟机节点之间的数据链路的租赁价格;

步骤C3:根据更新策略,更新每个粒子的速度和位置,并计算更新后的粒子适应度值;其中,粒子位置的更新方法如下:

对于任务和虚拟机的分配问题,需要把粒子的位置转化为虚拟机节点的序号,因此在对粒子的位置进行更新时,采用取整的方法对粒子的位置进行离散值的转换:

其中,表示对实数xij向下取整;

步骤C4:判断是否满足最大迭代次数,是则输出全局最优粒子编码,结束迭代,否则返回步骤C2,继续迭代。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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