[发明专利]在多接入边缘计算中卸载依赖任务的方法及系统有效
申请号: | 202110119569.X | 申请日: | 2021-01-28 |
公开(公告)号: | CN112860337B | 公开(公告)日: | 2022-11-29 |
发明(设计)人: | 翟临博;马淑月;宋书典;杨峰;赵景梅 | 申请(专利权)人: | 山东师范大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
地址: | 250000 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 接入 边缘 计算 卸载 依赖 任务 方法 系统 | ||
1.在多接入边缘计算中卸载依赖任务的方法,其特征是,包括:
S101:系统初始化,获取所有待执行任务的实时信息;所述所有待执行任务彼此之间存在依赖关系;
S102:根据所有待执行任务的实时信息、本地设备的计算能力、候选边缘服务器的计算能力和远程云服务器的计算能力,确定适应度函数;
所述S102:根据所有待执行任务的实时信息、本地设备的计算能力、候选边缘服务器的计算能力和远程云服务器的计算能力,确定适应度函数,具体包括:
决策方式1:当本地资源充足时,任务在本地设备上执行;
决策方式2:当本地设备被占用时,且本地设备最近的边缘服务器可用时,将任务卸载到距离本地设备最近的边缘服务器上执行;
决策方式3:当本地设备被占用,且距离本地设备最近的边缘服务器也被占用时,距离本地设备最近的边缘服务器将任务卸载到另外一个边缘服务器上执行;
决策方式4:当本地设备和边缘服务器都不可用时,将任务卸载到远程服务器上执行;
结合四种决策方式,计算任务卸载的总完成时间和总执行成本;最小化任务卸载的总完成时间和总执行成本;
适应度函数如下:
T={T1,T2} (1)
其中,T1表示最小化移动边缘计算任务卸载的总完成时间,由于结果可视化原因应用程序的最后一个任务的执行结果需返回本地后才表示该应用已完成即最小化k个应用程序的最后一个任务的完成时间;T2表示最小化任务的执行成本;FTk,Qlocal表示任务Xk,Q在本地的最早完成时间;Tk,Q,resedge表示任务Xk,Q在决策方式2下执行,执行结果最早返回到本地设备d的时间;Tk,Q,resed-ed表示任务Xk,Q在决策方式3下执行,执行结果最早返回到本地设备d的时间;Tk,Q,rescloud表示任务Xk,Q在决策方式4下执行,执行结果最早返回到本地设备d的时间;Ok,Q,1,Ok,Q,2,Ok,Q,3,Ok,Q,4分别表示4种决策变量;Ck,qlocal,Ck,qedge,Ck,qed-ed,Ck,qcloud分别表示任务Xk,q在决策1,2,3,4下的执行成本;
S103:根据适应度函数的所有待执行任务允许的最晚完成时间和实际执行过程中的最晚完成时间,确定每个任务执行的优先级;
所述S103:根据适应度函数的所有待执行任务允许的最晚完成时间和实际执行过程中的最晚完成时间,确定每个任务执行的优先级,具体包括:
初始化每个任务允许的最晚完成时间Tk,qmax;计算每个任务实际执行过程中最新的最晚允许完成时间CMk,q;
从每个任务初始化的最晚完成时间Tk,qmax和最新的最晚允许完成时间CMk,q二者中取最小值;
将最小值作为每个任务允许的新的最晚完成时间;
根据每个任务允许的新的最晚完成时间,计算每个任务最晚执行时间;
按照最晚执行时间从小到大的顺序对任务进行排队,得到每个任务执行的优先级;
按照最晚执行时间从小到大的顺序,将任务放置到第一队列中;第二队列为备用队列,初始为空;
所述S103:根据适应度函数的所有待执行任务允许的最晚完成时间和实际执行过程中的最晚完成时间,确定每个任务执行的优先级,具体包括:
对于用户K,定义覆盖用户的边缘服务器集合为M(K);对于每个任务,在执行过程中由于执行点和执行时间不同都会产生一个新的最晚完成时间CMk,q,则任务q允许的最晚完成时间是CMk,q和Tk,qmax的最小值;CMk,q通过以下公式计算得出:
其中,P是任务q在应用k的后续任务集合,任务Xk,q的接入点只能从本地设备和M(K)中选择,但任务Xk,q的执行点从本地设备、边缘服务器和远程云服务器中任意选择;定义x是任务任务Xk,q的执行点,Texx(Xk,j)为任务Xk,q在设备x执行所需的时间;当任务q为应用k的最后一个任务,即q=Q时,CMk,q即为应用k的最晚完成时间;
则任务Xk,q的最晚执行时间表示为:
BMk,q越小,则该任务需要越早执行;根据各个任务的最晚执行时间对任务进行排序,并将其按顺序放置到第一队列中;第二队列为备用队列,初始为空;
S104:生成各个任务的初始接入点和执行点;
所述S104:生成各个任务的初始接入点和执行点,具体包括:
比较第一队列和第二队列中第一个任务的优先级,挑选优先级高的任务优先执行;判断任务l是否是用户k的第一个任务,若是,则任务l没有前序任务,任务l允许被直接执行;否则,判断任务l的前序任务是否完成,如果任务l的前序任务都已经完成,则执行任务l,否则,将任务l放置到第二队列中;
若任务l可执行,判断本地设备是否有正在执行的任务,由于本地设备一次只能执行一个任务,若本地设备上没有任务执行,则任务l在本地设备上执行,接入点和执行点都为本地设备;
若本地设备不可执行,则判断M(K)集合中是否有可执行的边缘服务器,若只有一个,则该边缘服务器即为任务l的接入点和执行点,若同时有多个可执行的边缘服务器,则在可选的边缘服务器中选择完成时间最早的边缘服务器作为任务l的接入点和执行点,并按决策方式2执行;
若本地设备和M(K)中都没有可执行的设备,用户k在M(K)中随机选择一个边缘服务器卸载任务,然后判断其他边缘服务器中是否有可执行的设备,如果只有一个可执行的设备,则该设备即为任务l的执行点,如果同时有多个边缘服务器可执行,则计算各个边缘服务器的完成时间,选择完成时间最早的边缘服务器作为执行点,按决策方式3执行;否则,由该接入边缘服务器作为中继,根据决策方式4将任务上传至远程服务器执行;
当第一队列和第二队列都为空时,所有应用执行完成,即一个粒子初始化结束,记录任务卸载的总完成时间T1和任务卸载的执行成本T2的值;
S105:寻找帕累托最优解、局部最优解和全局最优解;
所述S105:寻找帕累托最优解、局部最优解和全局最优解,其中,寻找局部最优解,具体包括:
用户对任务卸载的总完成时间T1和任务卸载的执行成本T2的喜好程度由用户任务的完成时间约束和对成本的承受能力来决定;
对于一个时间紧急度高于设定阈值的任务来说,用户通过牺牲一部分的任务卸载的执行成本T2以换取更早的任务卸载的总完成时间T1;
根据实际场景中的情况为任务卸载的总完成时间T1和任务卸载的执行成本T2设计权重系数,得到:
T=η1T1+η2T2 (26)
其中η1+η2=1;η1和η2的取值范围是[0,1],η1和η2表示任务在决策时的完成时间和执行成本的加权系数;根据公式(26)得到唯一的PBit;
所述S105:寻找帕累托最优解、局部最优解和全局最优解,其中,寻找全局最优解,具体包括:
选取全局最优粒子GBjt;使用网格法从档案集中的选取GBjt,具体步骤如下:
S1051:计算档案集中的密度信息;
S10511:计算第t次迭代时目标空间的边界(minT1t,maxT1t)和(minT2t,maxT2t);
S10512:根据以下公式计算网格的模:
其中M*M是要划分的网格数;
S10513:档案集中粒子j所在的网格编号可由以下公式得出:
其中,Int(·)是求整函数;T1j和T2j分别为粒子j在目标函数1和目标函数2的值;
S1052:为粒子选取全局最优粒子GBjt;为了有效的保证IMOPSOQ算法的收敛性能和帕累托解集的多样性,对于档案集中的粒子,其密度值越低,选择的概率就越大,反之,则越小;以粒子j为例;
S10521:计算档案集中优于粒子j的子集Arjt;
S10522:找出Arjt集中密度最小的粒子集合Gjt;
S10523:若集合Gjt中只有一个粒子即为全局最优粒子GBjt,反之则按PBit选取方法选出全局最优粒子GBjt;
S106:基于帕累托最优解、局部最优解和全局最优解,优化每个任务的卸载过程;所述S106:基于帕累托最优解、局部最优解和全局最优解,优化每个任务的卸载过程,具体包括:
根据粒子j、个体最优粒子PBjt和全局最优粒子GBjt更新粒子j;为防止算法陷入局部最优,设计一个转移概率对粒子的更新过程进行了优化,转移概率如下:
其中,Proj、分别表示粒子维持自己先前的执行方式、向自身历史最佳执行方式逼近和向群体最佳执行方式逼近的概率;任务卸载的总完成时间T1和任务卸载的执行成本T2的值越好,该任务向T1和T2取最小值时选择的卸载服务器转移的概率越大,反之越小;
更新档案集:进化得到新一代的粒子后,将新一代粒子中的帕累托解放到档案集中,具体的,若档案集为空,将新一代粒子中的帕累托解直接放到档案集中;若档案集不为空,将新一代中优于或者独立于档案集中的粒子放到档案集中;当档案集的粒子数超过规定大小时,对于粒子数超过1的网格GR,按公式(30)计算需删除的粒子数DQ;
按公式(1)-(3)计算各个网格中粒子的适应度值,将其降序排序后,删除后DQ个粒子;
其中,|Art+1|表示第t代时档案集中的粒子数;是档案集中允许的最大粒子数;Grid[GR]表示网格GR中包含的粒子数;
S107:判断是否达到终止条件,当迭代次数达到给定的最大值,或者设定时间范围内最优解不发生变化,则迭代终止,输出最优解中各个任务的接入点和执行点;按照最优解中各个任务的接入点和执行点,完成本地设备的若干个相互依赖的待执行任务的卸载过程;否则,重复步骤S104~S107。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东师范大学,未经山东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110119569.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种氢气排空装置
- 下一篇:一种无皂乳液聚合制备表面羧基化纳米荧光微球的方法