首页 / 专利库 / 显示技术 / 混合现实 / 一种移动边缘环境下的服务工作流容错调度方法

一种移动边缘环境下的服务工作流容错调度方法

阅读:581发布:2020-05-12

专利汇可以提供一种移动边缘环境下的服务工作流容错调度方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种移动边缘环境下的服务工作流容错调度方法。本发明利用免疫 算法 保持粒子群寻优的全局性,避免粒子陷入局部最优解中,提高求解效率,同时提出一种混合容错策略,其根据任务子期限以及任务期望执行时间确定任务容错方法,保证服务工作流在执行过程中的鲁棒性。同时将免疫粒子群算法运用到服务工作流调度环境中,减少工作流任务整体运行时间。,下面是一种移动边缘环境下的服务工作流容错调度方法专利的具体信息内容。

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作为最优调度方案。

说明书全文

一种移动边缘环境下的服务工作流容错调度方法

技术领域

[0001] 本发明属于服务工作流调度领域,具体涉及一种移动边缘环境下的服务工作流容错调度方法。

背景技术

[0002] 随着移动互联网技术的不断发展,越来越多的新型移动应用程序涌现,其中部分应用如人脸识别自然语言处理增强现实对于计算资源有较高需求。通过服务工作流调度将移动设备中需要大量计算资源的任务卸载至移动边缘侧的演进节点(Evolved Node B,eNB)中执行,可以减少任务执行时间和移动设备的能耗从而提高用户体验。
[0003] 然而随着应用的不断发展,服务工作流所需要的计算资源需求量日益增加,传统的调度方案已经不能够满足日渐增长的计算需求,故需对调度方案进行优化。在增强现实的服务工作流任务在执行过程中,服务器通常会因资源节点的软件或者硬件故障问题出现资源失效情况,导致在其上运行的任务执行失败,故需引入容错技术减少任务失败率,提高工作流执行的稳定性。当前调度方法大多只针对工作流延时问题或容错策略中的某一方面进行考虑,且部分容错算法会有较大的系统冗余,增加了服务任务的运行时间。
[0004] 基于上述分析,针对现有服务工作流调度方法中存在的缺陷,有必要进行研究,提出一种方法解决当前存在的缺陷,以获得最优的工作流调度方案。

发明内容

[0005] 本发明的目的是为了克服现有服务工作流调度方法任务失败率高、运行时间长,提供一种适用于移动边缘计算环境下的服务工作流容错调度方法,利用免疫算法保持粒子群寻优的全局性,避免粒子陷入局部最优解中,提高求解效率,同时提出一种混合容错策略,其根据任务子期限以及任务期望执行时间确定任务容错方法,保证服务工作流在执行过程中的鲁棒性。同时将免疫粒子群算法运用到服务工作流调度环境中,减少工作流任务整体运行时间。
[0006] 为了解决现有方案中存在的问题,本发明的技术方案如下:
[0007] 步骤(1):获取待调度的服务工作流,该服务工作流包括多个任务;
[0008] 在增强现实服务工作流调度过程中,任务失败概率通常与任务需求的可靠性等级和资源节点的信任度有关。任务在第n个资源节点上运行时的失败概率服从负指数分布,可靠性模型具体如下:
[0009]
[0010] 其中 为第i条工作流中编号为j的任务ti,j调度至n号资源节点上执行失败的概率。λ为故障系数,RDi和TLn分别为第i条服务工作流可靠性需求和第n个资源节点可靠性平。
[0011] 步骤(2):分层排序
[0012] 使用异构计算环境下最早完成时间算法HEFT对初始工作流分层生成就绪队;具体是:
[0013] 2.1:将多条服务工作流的任务按照层次序进行划分,首先判断当前任务是否为出口任务;
[0014] 若是出口任务则不存在后继任务,任务所在层DP(ti,j)为0,其任务权重如下:
[0015] rank(ti,j)=ci,j/Pref   (2)
[0016] 其中ci,j为任务ti,j所需算大小,Pref为参考资源节点性能;
[0017] 若不是出口任务,任务所在层DP(ti,j)为当前任务所在的层数,如下:
[0018]
[0019] 其中pred(ti,j)表示任务ti,j的前驱任务集合;然后根据任务执行所需时间和传输时间对任务权重进行计算:
[0020]
[0021] 其中succ(ti,j)表示当前任务ti,j的后继任务集合,Ttr(ti,m,ti,j)为当前任务ti,j与后继任务ti,m之间的传输时间。
[0022] 2.2:将多个层的任务按照层的顺序进行合并成一条长序列,每一层中的任务按照权重值大小升序排序,合并之后的队列称为就绪队列。
[0023] 步骤(3):采用结合免疫算法的粒子群算法结合就绪队列对粒子群进行初始化;具体是:
[0024] 3.1:由于每个任务划分为主本任务和副本任务,副本任务为主本任务的复制体,任务内容相同,但是调度位置不同;其中调度位置为本地或某个编号的边缘服务器。根据粒子种群数s、工作流任务数n、移动边缘侧资源节点eNB数目z初始化当前种群的位置矩阵和速度矩阵;其中种群中粒子表示就绪队列中某个任务的调度位置,种群表示就绪队列中各任务的调度队列。
[0025] 粒子位置矩阵X为:
[0026]
[0027] 其中ai,2j-1、ai,2j分别表示第j个任务的主副本调度位置,其值取值范围为[1,z];i∈[1,s],j∈[1,n];2n表示n个主本任务和n个副本任务。
[0028] 粒子对应的速度矩阵V为:
[0029]
[0030] 其中每一行表示一个粒子的速度,表示在调度过程中粒子转移的速度方向和大小;vi,2j-1、vi,2j表示第i个粒子的第j个任务主副本分配到相应资源节点的速度,在初始化时其值是随机生成的。
[0031] 3.2:加入随机粒子
[0032] 针对粒子群算法在收敛后期易陷入局部最优解的缺陷,采用免疫算法,随机生成m个粒子加入上述粒子群中参与种群迭代,增加了种群的多样性,降低种群陷入局部最优的概率,并能够在种群陷入最优解后帮助其摆脱局部最优状态。增加m个粒子之后的位置矩阵如下所示:
[0033]
[0034] 步骤(4):混合容错策略。
[0035] 容错策略能够降低因某个任务执行异常带来的损失,其中任务复制和重提交是任务容错中两种经典的容错方式。在任务复制策略中,不同版本的任务被卸载至不同资源节点上运行,通过增加资源消耗以减少容错策略引起的执行时间,但是会造成系统冗余;在重提交策略中,会在任务失败后将其重新提交到不同的资源节点,其对系统冗余程度影响较小,但会延长工作流的完工时间。且简单地使用重提交策略调度任务可能使任务完成时间超过截止期限,导致任务在考虑延时约束时的成功率降低。本专利结合两种容错算法提出了一种混合容错策略,其容错过程包含三个步骤:
[0036] 4.1:计算任务起止时间。
[0037] 任务ti,j能够被执行的时间为任务的开始时间st(ti,j),任务的结束时间ft(ti,m)与任务的开始时间st(ti,j)和运行时间Te(ti,m)有关,具体计算公式如下:
[0038]
[0039] 其中st(ti,j)表示任务ti,j开始执行的时间点,rt(ti,j)表示任务ti,j的就绪时间,avait(BSn)表示能够使用移动边缘侧资源节点BSn开始执行任务的时间,ft(ti,m)为任务ti,m的结束时间,Te(ti,j)为任务的执行时间,任务的执行时间与资源节点性能P(BS(ti,j))和需要算力大小ci,j有关,其计算公式为:
[0040]
[0041] Ttr(ti,m,ti,n)表示两个任务之间的传输时间,其计算方法如下:
[0042]
[0043] 其中tdi,m,n为第i条工作流任务m和任务j之间的传输数据大小;transR(BS(ti,j),BS(ti,m))为两个任务所在资源节点BS(ti,j)、BS(ti,m)之间的传输速率;若两个任务在同一资源节点中执行,则传输时间为0。
[0044] 4.2:计算任务子期限。
[0045] 在增强现实的服务工作流中,任务的子期限dl(ti,j)通常与任务ti,j所在层DP(ti,j)的层结束时间lft(wi,b)和每层可分配期限TDP(b)有关:
[0046] dl(ti,j)=TDP(b)+lft(wi,b),DP(ti,j)=b    (13)
[0047] 其中DP(ti,j)为任务ti,j所在层数,TDP(b)和lft(wi,b)分别为第i条工作流wi的每层可分配期限和工作流中第m层的运行结束时间,任务子期限可按照层结束时间的大小分配:
[0048]
[0049] 层结束时间由此层中最迟结束的任务确定,若服务工作流的最大层数为B,则层结束时间计算方法如下所示,若层数为0,则层结束时间为任务的抵达时间,曾结束时间计算方法如下:
[0050]
[0051] 其中at(wi)为第i条工作流wi的到达时间,ft(wi,b)为服务工作流第b层的结束时间,其由层中最迟结束任务确定。B为服务工作流最大层数,若当前层数为0,则表示任务的抵达时间。本发明主要考虑单出入口节点的服务工作流。
[0052] 4.3:确定任务容错策略
[0053] 判断当前任务是否满足公式(16),若满足则其容错策略为重提交策略,即副本任务将在主本任务失败后重提交至不同资源节点中执行,若不满足,则其容错策略为任务复制策略,即主副本任务将会一同提交至不同资源节点执行;若主副本任务再次失败,则将主副本任务重提交至TL>RD的资源节点中执行。
[0054]
[0055] 其中Te(ti,j)和Te(t'i,j)分别表示第i条工作流中第j个任务的主本任务ti,j和副本任务t'i,j的执行时间;
[0056] 步骤(5):计算期望执行时间
[0057] 根据容错调度策略,若任务在某个资源节点执行成功,则副本任务或重提交任务将不会执行;若主本任务执行失败则副本任务在不同资源节点中继续执行。因此,时间ftc之后任务继续执行的概率Pkeep(stc)和第i个粒子期望调度时间E(Xi)为:
[0058]
[0059]
[0060] 其中Pfail,d(ti,j)表示任务第d次执行的失败概率,stc表示任务在第c次执行的开始时间。若任务第一次便执行成功,则无需第二次执行,同样地,ftc为任务在第c次执行的结束时间。
[0061] 步骤(6):免疫流程。本专利所提方法中为了加快算法执行速度,简化了免疫流程,主要包含了粒子适应度值计算、粒子浓度计算和粒子选择概率计算三个步骤:
[0062] 6.1:粒子适应度值计算。粒子适应度由期望执行时间和主本任务失败率计算得到:
[0063]
[0064] 其中E(Xi)为粒子Xi的期望调度时间,α为对于任务失败率的惩罚系数,Pfail(Xi)为粒子Xi中主本任务调度的整体失败率。
[0065] 6.2:粒子浓度计算。粒子浓度即抗体浓度 主要通过粒子相似判定结果和粒子群大小m+s计算:
[0066]
[0067]
[0068] 其中 表示抗体间亲和度,k为当前种群的代数,ε为用于判定粒子间相似度的阈值
[0069] 6.3:粒子选择概率计算。筛选粒子能够维持粒子群大小,抗体的浓度在最佳相应范围内,以获得最快的寻优速度。粒子主要通过激励度 筛选,激励度大小主要与粒子的适应度值和粒子浓度有关:
[0070]
[0071] 其中 为第k代粒子Xi的适应度值,β为浓度影响因子,激励度大小与粒子适应度呈负指数相关。
[0072] 步骤(7):粒子群更新。
[0073] 粒子群通过更新不断向最优位置靠近,其主要通过更新位置和速度矩阵更新实现,主要包含如下步骤:
[0074] 7.1:生成新种群。为保证种群数量为固定值,每一轮迭代之后根据激励度对粒子群中的粒子进行降序排序,选取前s个粒子组成新种群,以保证粒子群的响应度。
[0075] 7.2:更新Pb和Gb。根据每个粒子计算得到fit(X)的值,筛选出当前最佳的位置信息与局部极值Pb及全局极值Gb比较,若当前位置优于局部极值或全局极值,则对其进行替代,完成更新操作。
[0076] 7.3:更新粒子位置和速度。粒子的速度和位置信息与当前全局极值Gb和局部极值Pb有关,其更新公式如下所示:
[0077]
[0078] 式中 为第k代种群中第i维的粒子,Vik为粒子 对应的速度,w为惯性系数,r1和r2为取值[0,1]之间的随机数,c1和c2分别为个体和种群学习率,maxG为最大迭代数,w0为常量,λ为种群代数影响因子。工作流任务调度序列信息更新主要根据粒子当前适应度值与粒子局部和全局极值判断,若当前适应度值较局部或全局极值有更低的适应度值,则利用当前调度序列替换相应的局部或全局极值。
[0079] 步骤(8):判断是否终止。
[0080] 判断是否达到最大迭代次数,不符合则k=k+1,返回步骤(3)继续操作,若达到迭代次数则停止更新,输出全局极值Gb,为最优调度方案。
[0081] 与现有技术相比,本发明具有以下优点:
[0082] 高效性:本发明利用粒子群算法通过模拟个群体中个体之间的信息共享和协作来寻找最优解,参数简单且寻优速度较快。同时本发明将免疫算法加入粒子群算法中,利用免疫机制保证粒子种群的多样性,避免粒子陷入局部最优解,从而减少了因陷入局部最优状态引起的无效循环,提高了粒子寻优效率。
[0083] 鲁棒性:本发明采用了混合容错策略,保证了任务在出错之后能够被重新执行,从而确保服务工作流运行过程中的稳定性。此外,方案中采取了免疫粒子群算法作为调度算法,降低了粒子在收敛后期陷入局部最优解的可能性,减少了算法生成的调度方案为非最优解的概率,确保最终服务工作流调度结果符合预期。
[0084] 低冗余:容错采用了将任务复制和重提交相结合,根据任务子期限和截止时间动态确定采用的策略,相对于传统容错策略中只采用任务复制容错,本发明的技术方案所采用的混合容错策略,减少了任务复制的频率,减少了系统需要运行的任务总量,降低了系统冗余程度。附图说明
[0085] 图1为MEC环境下服务工作流容错调度框架图;
[0086] 图2为移动边缘环境下的服务工作流容错调度方法的流程图
[0087] 图3为粒子FT-IPSO算法中编码方案示意图;
[0088] 图4为FT-IPSO算法下不同eNB数量下工作流延时情况统计图;
[0089] 图5为FT-IPSO算法下工作流到达率对任务平均延时影响统计图;
[0090] 图6为不同工作流数目下FT-IPSO、CRCH和C-HEFT算法任务失败率对比图;
[0091] 图7为不同任务数量下FT-IPSO、CRCH和C-HEFT算法的工作流延时对比图。

具体实施方式

[0092] 以下将结合附图对本发明提供的移动边缘环境下的服务工作流容错调度方法作进一步说明。图1展示了MEC环境下服务工作流容错调度整体框架。图2所示为本方法的流程图,具体步骤如下:
[0093] 步骤(1):获取待调度的服务工作流,该服务工作流包括多个任务;
[0094] 在增强现实应用使用终端设备相机和定位技术为用户提供服务的过程中,需要对视频和图像进行处理,因此产生相应的服务工作流,为缩短服务工作流的处理时间提高用户体验,需对服务工作流任务进行调度方案的研究。在增强现实服务工作流调度过程中,服务工作流中的任务会因服务器的硬件故障等原因执行失败,任务失败概率通常与任务需求的可靠性等级和资源节点的信任度有关。任务在第n个资源节点上运行时的失败概率服从负指数分布,可靠性模型具体如下:
[0095]
[0096] 其中 为第i条增强现实服务工作流中编号为j的任务ti,j调度至n号资源节点上执行失败的概率。λ为故障系数,RDi和TLn分别为第i条服务工作流可靠性需求和第n个资源节点可靠性水平。
[0097] 步骤(2):分层排序
[0098] 在增强现实的服务工作流如视频处理工作流中,,工作流任务一般可以分为几层,为方便执行,需要对其进行处理,本发明使用异构计算环境下最早完成时间算法HEFT对获取的增强现实的服务工作流分层生成就绪队;具体是:
[0099] 2.1:将多条增强现实的服务工作流的任务按照层次序进行划分,首先判断当前任务是否为出口任务;
[0100] 若是出口任务则不存在后继任务,任务所在层DP(ti,j)为0,其任务权重如下:
[0101] rank(ti,j)=ci,j/Pref   (2)
[0102] 其中ci,j为任务ti,j所需算力大小,Pref为参考资源节点性能;
[0103] 若不是出口任务,任务所在层DP(ti,j)为当前任务所在的层数,如下:
[0104]
[0105] 其中pred(ti,j)表示任务ti,j的前驱任务集合;然后根据任务执行所需时间和传输时间对任务权重进行计算:
[0106]
[0107] 其中succ(ti,j)表示当前任务ti,j的后继任务集合,Ttr(ti,m,ti,j)为当前任务ti,j与后继任务ti,m之间的传输时间。
[0108] 2.2:将多个层的任务按照层的顺序进行合并成一条长序列,每一层中的任务按照权重值大小升序排序,合并之后的队列称为就绪队列。
[0109] 步骤(3):为寻找增强现实的服务工作流的最佳调度方案,采用结合免疫算法的粒子群算法结合就绪队列对粒子群进行初始化;具体是:
[0110] 3.1:初始化粒子群。
[0111] 在增强现实的服务工作流中,由于每个任务划分为主本任务和副本任务,副本任务为主本任务的复制体,任务内容相同,但是调度位置不同;其中调度位置为本地或某个编号的边缘服务器。根据粒子种群数s、工作流任务数n、可获取的用于增强现实的移动边缘侧资源节点eNB数目z初始化当前种群的位置矩阵和速度矩阵;其中种群中粒子表示就绪队列中某个任务的调度位置,种群表示就绪队列中各任务的调度队列。
[0112] 为了提高算法执行效率并切合增强现实服务工作流的容错要求,本发明设计了一种新的粒子编码方式,为对容错位置进行考虑,将主本和副本任务位置同时考虑,具体编码方式如图3所示,粒子主要通过整数编码,任务的执行顺序由就绪队列给定,编码中相邻两个位置为某个任务不同卸载位置。若编码值为小数,则取整,当任务卸载位置为0时,表示其在本地执行,否则任务将被卸载至相应编号的边缘服务器中执行,粒子位置矩阵X为:
[0113]
[0114] 其中ai,2j-1、ai,2j分别表示第j个任务的主副本调度位置,其值取值范围为[1,z];i∈[1,s],j∈[1,n];2n表示n个主本任务和n个副本任务。
[0115] 粒子对应的速度矩阵V为:
[0116]
[0117] 其中每一行表示一个粒子的速度,表示在调度过程中粒子转移的速度方向和大小;vi,2j-1、vi,2j表示第i个粒子的第j个任务主副本分配到相应资源节点的速度,在初始化时其值是随机生成的。
[0118] 3.2:加入随机粒子。
[0119] 针对粒子群算法在收敛后期易陷入局部最优解的缺陷,采用免疫算法,随机生成m个粒子加入上述粒子群中参与种群迭代,增加了种群的多样性,降低种群陷入局部最优的概率,并能够在种群陷入最优解后帮助其摆脱局部最优状态。增加m个粒子之后的位置矩阵如下所示:
[0120]
[0121] 步骤(4):混合容错策略。
[0122] 在增强现实服务工作流中,如果一个任务执行失败可能造成整个工作流的执行失败,相应的服务无法提供,会影响用户体验。容错策略能够降低因增强现实服务工作流中某个任务执行异常带来的损失,其中任务复制和重提交是任务容错中两种经典的容错方式。在任务复制策略中,不同版本的任务被卸载至不同资源节点上运行,通过增加资源消耗以减少容错策略引起的执行时间,但是会造成系统冗余;在重提交策略中,会在任务失败后将其重新提交到不同的资源节点,其对系统冗余程度影响较小,但会延长工作流的完工时间。
且简单地使用重提交策略调度任务可能使任务完成时间超过截止期限,导致任务在考虑延时约束时的成功率降低。本专利结合两种容错算法提出了一种混合容错策略,其容错过程包含三个步骤:
[0123] 4.1:计算任务起止时间。
[0124] 增强现实服务工作流的任务ti,j能够被执行的时间为任务的开始时间st(ti,j),任务的结束时间ft(ti,m)与任务的开始时间st(ti,j)和运行时间Te(ti,m)有关,具体计算公式如下:
[0125]
[0126] 其中st(ti,j)表示任务ti,j开始执行的时间点,rt(ti,j)表示任务ti,j的就绪时间,avait(BSn)表示能够使用移动边缘侧资源节点BSn开始执行任务的时间,ft(ti,m)为任务ti,m的结束时间,Te(ti,j)为任务的执行时间,任务的执行时间与资源节点性能P(BS(ti,j))和需要算力大小ci,j有关,其计算公式为:
[0127]
[0128] Ttr(ti,m,ti,n)表示两个任务之间的传输时间,其计算方法如下:
[0129]
[0130] 其中tdi,m,n为第i条工作流任务m和任务j之间的传输数据大小;transR(BS(ti,j),BS(ti,m))为两个任务所在资源节点BS(ti,j)、BS(ti,m)之间的传输速率;若两个任务在同一资源节点中执行,则传输时间为0。
[0131] 4.2:计算任务子期限。
[0132] 在增强现实的服务工作流中,任务的子期限dl(ti,j)通常与任务ti,j所在层DP(ti,j)的层结束时间lft(wi,b)和每层可分配期限TDP(b)有关:
[0133] dl(ti,j)=TDP(b)+lft(wi,b),DP(ti,j)=b   (13)
[0134] 其中DP(ti,j)为任务ti,j所在层,TDP(b)和lft(wi,b)分别为第i条工作流wi的每层可分配期限和工作流中第m层的运行结束时间,任务子期限可按照层结束时间的大小分配:
[0135]
[0136] 在增强现实的服务工作流中层结束时间由此层中最迟结束的任务确定,若服务工作流的最大层数为B,则层结束时间计算方法如下所示,若层数为0,则层结束时间为任务的抵达时间,曾结束时间计算方法如下:
[0137]
[0138] 其中at(wi)为第i条工作流wi的到达时间,ft(wi,b)为服务工作流第b层的结束时间,其由层中最迟结束任务确定。B为服务工作流最大层数,若当前层数为0,则表示任务的抵达时间。本发明主要考虑单出入口节点的服务工作流。
[0139] 4.3:确定任务容错策略。
[0140] 判断当前任务是否满足公式(16),若满足则其容错策略为重提交策略,即副本任务将在主本任务失败后重提交至不同资源节点中执行,若不满足,则其容错策略为任务复制策略,即主副本任务将会一同提交至不同资源节点执行;若主副本任务再次失败,则将主副本任务重提交至TL>RD的资源节点中执行。
[0141]
[0142] 其中Te(ti,j)和Te(t'i,j)分表表示第i条工作流中第j个任务的主本任务ti,j和副本任务t'i,j的执行时间。
[0143] 步骤(5):计算期望执行时间
[0144] 为比较各个粒子所代表的调度方案的优劣,对增强现实服务工作流的任务期望时间进行计算,根据容错调度策略,若任务在某个资源节点执行成功,则副本任务或重提交任务将不会执行;若主本任务执行失败则副本任务在不同资源节点中继续执行。因此,时间ftc之后任务继续执行的概率Pkeep(stc)和第i个粒子期望调度时间E(Xi)为:
[0145]
[0146]
[0147] 其中Pfail,d(ti,j)表示任务第d次执行的失败概率,stc表示任务在第c次执行的开始时间。若任务第一次便执行成功,则无需第二次执行,同样地,ftc为任务在第c次执行的结束时间。
[0148] 步骤(6):免疫流程。本专利所提方法中为了加快算法执行速度,简化了免疫流程,主要包含了粒子适应度值计算、粒子浓度计算和粒子选择概率计算三个步骤:
[0149] 6.1:粒子适应度值计算。粒子适应度由期望执行时间和主本任务失败率计算得到:
[0150]
[0151] 其中E(Xi)为粒子Xi的期望调度时间,α为对于任务失败率的惩罚系数,Pfail(Xi)为粒子Xi中主本任务调度的整体失败率。
[0152] 6.2:粒子浓度计算。粒子浓度即抗体浓度 主要通过粒子相似判定结果和粒子群大小m+s计算:
[0153]
[0154]
[0155] 其中 表示抗体间亲和度,k为当前种群的代数,ε为用于判定粒子间相似度的阈值。
[0156] 6.):粒子选择概率计算。筛选粒子能够维持粒子群大小,抗体的浓度在最佳相应范围内,以获得最快的寻优速度。粒子主要通过激励度 筛选,激励度大小主要与粒子的适应度值和粒子浓度有关:
[0157]
[0158] 其中 为第k代粒子Xi的适应度值,β为浓度影响因子,激励度大小与粒子适应度呈负指数相关。
[0159] 步骤(7):粒子群更新。
[0160] 为找到增强现实服务工作流的最佳调度方案,需要对粒子群进行更新。粒子群通过更新不断向极值靠近,其主要通过更新位置和速度矩阵更新实现,主要包含如下步骤:
[0161] 7.1):生成新种群。为方便对增强现实服务工作流任务调度方案对应粒子群相关矩阵进行处理,需保证种群数量为固定值,每一轮迭代之后根据激励度 对粒子群中的粒子进行降序排序,选取前s个粒子组成新种群,以保证粒子群的响应度。
[0162] 7.2):更新Pb和Gb。Pb和Gb是寻找增强现实服务工作流任务调度方案过程中两个重要的值,必须在每次更新种群时让其也保持更新。根据每个粒子计算得到fit(X)的值,筛选出当前最佳的位置信息与局部极值Pb及全局极值Gb比较,若当前位置优于局部极值或全局极值,则对其进行替代,完成更新操作。
[0163] 7.3):更新粒子位置和速度。粒子的速度和位置信息与当前全局极值Gb和局部极值Pb有关,其更新公式如下所示:
[0164]
[0165] 式中 为第k代种群中第i维的粒子,Vik为粒子 对应的速度,w为惯性系数,r1和r2为取值[0,1]之间的随机数,c1和c2分别为个体和种群学习率,maxG为最大迭代数,w0为常量,λ为种群代数影响因子。工作流任务调度序列信息更新主要根据粒子当前适应度值与粒子局部和全局极值判断,若当前适应度值较局部或全局极值有更低的适应度值,则利用当前调度序列替换相应的局部或全局极值。
[0166] 步骤(8):判断是否终止。
[0167] 判断是否达到最大迭代次数,不符合则k=k+1,返回步骤(3)继续操作,若达到迭代次数则停止更新,输出全局极值Gb,为最优调度方案。
[0168] 以下对为移动边缘环境下的服务工作流容错调度方法(FT-IPSO)不同条件下的表现进行了试验,并将其与其他传统方法执行速度和生成调度方案的执行时间进行了比较:
[0169] 实验使用EdgeCloudSim平台模拟移动边缘计算环境,随机生成服务工作流任务,其中服务工作流任务的计算量服从[1,10]的均匀分布(单位:GHz),任务输出数据的大小服从[1,10]的均匀分布(单位:Mb),每个服务工作流包含的任务节点数为10~100个。另外,eNB个数为10个,工作可靠性需求(RD)0.6~0.9,服务器可信性等级(TL):0.4~1.0,故障系数λ=2.7。移动端的计算能力为1.2GHz,上传和下载速率分别为5Mb/s和10Mb/s;边缘服务器的计算能力为4GHz,传输速率为100Mb/s。边缘环境中粒子群参数设置为:粒子速度Vmax=0.6,Vmin=-0.6;最大迭代次数maxG=500;粒子群种群数s=50;每次循环新增抗体数量m=20;惯性权重w0=0.73;学习参数c1=c2=1.49618;适应度函数中γ=10。
[0170] 首先对不同条件下FT-IPSO方法的性能进行了探究,改变eNB个数和工作流任务到达率,对不同的工作流进行实验并取平均值。在粒子群种群数为50、最大迭代次数为500和重复试验次数位10的条件下对算法进行实验,得到的结果如图4和图5所示。从图4中可以看出当eNB数量增多时,任务延时逐渐降低,其原因在于边缘服务器和移动设备的性能差异较大,当FT-IPSO方法将计算需求较大的任务卸载至eNB中并行执行,能够缩短任务执行时间,工作流的平均延时大幅降低。但是由于工作流中最大可并行任务数量存在上限,当eNB数量超过一定值时,任务延时下降幅度减小。图5显示了在eNB数量为10的情况下,不同工作流到达率的任务平均延时的影响。FT-IPSO方法将部分计算量小但数据传输量大的任务保留至本地执行,将计算量大的任务调度至边缘服务器,减少任务执行时间,从而降低了任务的平均延时。
[0171] 为验证FT-IPSO方法在求解服务工作流调度问题上的有效性,本专利采用C-HEFT算法与FT-IPSO方法与进行比较。在相同环境下,将FT-IPSO方法的种群数设置为50,最大迭代次数为500次,其他实验参数与C-HEFT方法保持一致,采用相同的初始解生成方式,对16个服务工作流实例进行对比实验,两种方法求解的调度方案适应度值结果如表1所示。由表1可知,与C-HEFT方法相比,本专利所设计的FT-IPSO方法在16个工作流实例实验中均得到了两种方法的中的最优解,且解的提升幅度较大。在算法的标准方差上,由于FT-IPSO方法中引入了免疫算法,保证了解的全局最优性,解的波动性较小,因此,从解的质量上可以看出,FT-IPSO方法具有较强的竞争力。
[0172] 表1为FT-IPSO方法与C-HEFT方法解的适应度值对比表
[0173]
[0174]
[0175] 为进一步验证FT-IPSO方法在求解多服务工作流调度问题中的有效性,分别选取了不同方法作为对比实验,并设置任务首次执行失败率、任务平均延时作为性能指标,在相同的实验条件下,记录不同方法的各项实验数据并对其进行分析,实验结果如图6和图7所示。由图6和图7可知,FT-IPSO方法相对于CRCH方法和C-HEFT方法拥有较小的工作流延时和较低的任务失败率,其原因在于本专利提出的FT-IPSO方法对容错策略进行了优化,利用任务复制和重提交相结合的容错策略降低了系统的冗余程度以及任务失败率,一方面减少了系统因任务失败导致的额外任务调度和执行时间开销,并且有部分任务采用重提交策略时,其主本任务执行成功之后副本任务不需要再次执行,节约了系统资源,从而降低了工作流延时,另一方面通过改进的免疫粒子群算法寻找最优调度方案,提高了解的全局性,确保最终方案为使任务调度延时最低的调度方案。因此本方法在求解多服务工作流调度问题时具有高效性,且解的质量更优,在延时上相对于CRCH算法和C-HEFT算法分别缩短了约6.3%和9.1%。
[0176] 实验结果表明本发明的移动边缘环境下的服务工作流容错调度方法(FT-IPSO)相对于CRCH方法和C-HEFT方法能够更加有效地处理服务工作流,在多数情况下FT-IPSO方法更优,且利用FT-IPSO方法任务首次执行失败率更低,具有较好的稳定性。
[0177] 以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
[0178] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈