[发明专利]一种移动边缘环境下的服务工作流容错调度方法有效
申请号: | 201910968450.2 | 申请日: | 2019-10-12 |
公开(公告)号: | CN110928651B | 公开(公告)日: | 2022-03-01 |
发明(设计)人: | 袁友伟;黄锡恺;李忠金;俞东进;李万清 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F11/07;G06N3/00 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 朱亚冠 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 移动 边缘 环境 服务 工作流 容错 调度 方法 | ||
1.一种移动边缘环境下的服务工作流容错调度方法,其特征在于该方法包括以下步骤:
步骤(1):获取待调度的服务工作流,该服务工作流包括多个任务;
任务在第n个资源节点上运行时的失败概率服从负指数分布,可靠性模型具体如下:
其中为第i条工作流中编号为j的任务ti,j调度至n号资源节点上执行失败的概率;λ为故障系数,RDi和TLn分别为第i条服务工作流可靠性需求和第n个资源节点可靠性水平;
步骤(2):分层排序
使用异构计算环境下最早完成时间算法HEFT对初始工作流分层生成就绪队;具体是:
2.1:将多条服务工作流的任务按照层次序进行划分,首先判断当前任务是否为出口任务;
若是出口任务则不存在后继任务,任务所在层DP(ti,j)为0,其任务权重如下:
rank(ti,j)=ci,j/Pref (2)
其中ci,j为任务ti,j所需算力大小,Pref为参考资源节点性能;
若不是出口任务,任务所在层DP(ti,j)为当前任务所在的层数,如下:
其中pred(ti,j)表示任务ti,j的前驱任务集合;然后根据任务执行所需时间和传输时间对任务权重进行计算:
其中succ(ti,j)表示当前任务ti,j的后继任务集合,Ttr(ti,m,ti,j)为当前任务ti,j与后继任务ti,m之间的传输时间;
2.2:将多个层的任务按照层的顺序进行合并成一条长序列,每一层中的任务按照权重值大小升序排序,合并之后的队列称为就绪队列;
步骤(3):采用结合免疫算法的粒子群算法结合就绪队列对粒子群进行初始化;具体是:
3.1:由于每个任务划分为主本任务和副本任务,副本任务为主本任务的复制体,任务内容相同,但是调度位置不同;其中调度位置为本地或某个编号的边缘服务器;根据粒子种群数s、工作流任务数n、移动边缘侧资源节点eNB数目z初始化当前种群的位置矩阵和速度矩阵;其中种群中粒子表示就绪队列中某个任务的调度位置,种群表示就绪队列中各任务的调度队列;
粒子位置矩阵X为:
其中ai,2j-1、ai,2j分别表示第j个任务的主副本调度位置,其值取值范围为[1,z];
i∈[1,s],j∈[1,n];2n表示n个主本任务和n个副本任务;
粒子对应的速度矩阵V为:
其中每一行表示一个粒子的速度,表示在调度过程中粒子转移的速度方向和大小;vi,2j-1、vi,2j表示第i个粒子的第j个任务主副本分配到相应资源节点的速度,在初始化时其值是随机生成的;
3.2:加入随机粒子
增加m个粒子之后的位置矩阵如下所示:
步骤(4):混合容错策略
4.1:计算任务起止时间
任务ti,j能够被执行的时间为任务的开始时间st(ti,j),任务的结束时间ft(ti,m)与任务的开始时间st(ti,j)和运行时间Te(ti,m)有关:
其中rt(ti,j)表示任务ti,j的就绪时间,avait(BSn)表示能够使用移动边缘侧资源节点BSn开始执行任务的时间,ft(ti,m)为任务ti,m的结束时间,Te(ti,j)为任务的执行时间,任务的执行时间与资源节点性能P(BS(ti,j))和需要算力大小ci,j有关,其计算如下:
Ttr(ti,j,ti,m)表示两个任务之间的传输时间,其计算如下:
其中tdi,m,n为第i条工作流任务m和任务j之间的传输数据大小;transR(BS(ti,j),BS(ti,m))为两个任务所在资源节点BS(ti,j)、BS(ti,m)之间的传输速率;
4.2:计算任务子期限;
在增强现实的服务工作流中,任务的子期限dl(ti,j)通常与任务ti,j所在层DP(ti,j)的层结束时间lft(wi,b)和每层可分配期限TDP(b)有关:
dl(ti,j)=TDP(b)+lft(wi,b),DP(ti,j)=b (13)
其中DP(ti,j)为任务ti,j所在的层数,TDP(b)和lft(wi,b)分别为第i条工作流wi的每层可分配期限和工作流中第b层的运行结束时间,任务子期限可按照层结束时间的大小分配:
其中ft(wi,b)为服务工作流第b层的结束时间,其由层中最迟结束任务确定;
层结束时间由此层中最迟结束的任务确定,见如下:
其中at(wi)为第i条工作流wi的到达时间;
4.3:确定任务容错策略
判断当前任务是否满足公式(16),若满足则其容错策略为重提交策略,即副本任务将在主本任务失败后重提交至不同资源节点中执行,若不满足,则其容错策略为任务复制策略,即主副本任务将会一同提交至不同资源节点执行;若主副本任务再次失败,则将主副本任务重提交至TL>RD的资源节点中执行;
其中Te(ti,j)和Te(t′i,j)分别表示第i条工作流中第j个任务的主本任务ti,j和副本任务t′i,j的执行时间;
步骤(5):计算期望执行时间
根据容错调度策略,若任务在某个资源节点执行成功,则副本任务或重提交任务将不会执行;若主本任务执行失败则副本任务在不同资源节点中继续执行;因此,时间ftc之后任务继续执行的概率Pkeep(stc)和第i个粒子期望调度时间E(Xi)为:
其中Pfail,d(ti,j)表示任务第d次执行的失败概率,stc表示任务在第c次执行的开始时间;若任务第一次便执行成功,则无需第二次执行,同样地,ftc为任务在第c次执行的结束时间;
步骤(6):免疫流程
6.1:粒子适应度值计算;粒子适应度由期望执行时间和主本任务失败率计算得到:
其中E(Xi)为粒子Xi的期望调度时间,α为对于任务失败率的惩罚系数,Pfail(Xi)为粒子Xi中主本任务调度的整体失败率;
6.2:粒子浓度计算;粒子浓度即抗体浓度主要通过粒子相似判定结果和粒子群大小m+s计算:
其中表示抗体间亲和度,k为当前种群的代数,ε为用于判定粒子间相似度的阈值;
6.3:粒子选择概率计算
筛选粒子能够维持粒子群大小,抗体的浓度在最佳相应范围内,以获得最快的寻优速度;粒子主要通过激励度筛选,激励度大小主要与粒子的适应度值和粒子浓度有关:
其中为第k代粒子Xi的适应度值,β为浓度影响因子,激励度大小与粒子适应度呈负指数相关;
步骤(7):粒子群更新;
粒子群通过更新不断向最优位置靠近,其主要通过更新位置和速度矩阵更新实现,主要包含如下步骤:
7.1:生成新种群;为保证种群数量为固定值,每一轮迭代之后根据激励度对粒子群中的粒子进行降序排序,选取前s个粒子组成新种群,以保证粒子群的响应度;
7.2:更新Pb和Gb;根据每个粒子计算得到fit(X)的值,筛选出当前最佳的位置信息与局部极值Pb及全局极值Gb比较,若当前位置优于局部极值或全局极值,则对其进行替代,完成更新操作;
7.3:更新粒子位置和速度;粒子的速度和位置信息与当前全局极值Gb和局部极值Pb有关,其更新公式如下所示:
式中为第k代种群中第i维的粒子,为粒子对应的速度,w为惯性系数,r1和r2为取值[0,1]之间的随机数,c1和c2分别为个体和种群学习率,maxG为最大迭代数,w0为常量,λ为种群代数影响因子;工作流任务调度序列信息更新主要根据粒子当前适应度值与粒子局部和全局极值判断,若当前适应度值较局部或全局极值有更低的适应度值,则利用当前调度序列替换相应的局部或全局极值;
步骤(8):判断是否终止;
判断是否达到最大迭代次数,若否则重置k=k+1,返回步骤(3)继续操作,反之则停止更新,输出全局极值Gb作为最优调度方案。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910968450.2/1.html,转载请声明来源钻瓜专利网。