一种基于SSA-SA算法的移动边缘计算任务卸载方法
技术领域
本发明属于移动边缘计算领域,具体涉及一种基于SSA-SA算法的移动边缘计算任务卸载方法。
背景技术
在物联网和云计算的推动下,由于大多数移动设备的计算能力和能量资源是有限的,因此将云的计算任务从网络中心转移到边缘进行一种优化网络资源的方式,即移动边缘计算。移动边缘计算技术将边缘服务器部署在无线接入网侧,缩短了边缘服务器与移动设备间的距离,由于数据传输距离缩短,任务卸载至MEC服务器时不需要经过回传链路和核心网,从而减少了时延开销并降低了在传输过程中的能量消耗。移动边缘计算技术的提出可以很好地解决传统云计算中的高延迟,高负荷以及高开销问题,对于提高用户体验意义重大。
目前,MEC中计算卸载方式有两种:二进制卸载和局部卸载。二进制卸载,移动用户的计算任务和数据无法进行分割,需要作为整体在本地设备执行或整体卸载至边缘服务器执行。利用局部卸载,移动用户的计算任务可被分割,部分在本地执行,同时其他部分可以被卸载至边缘服务器执行。
在采用传统的任务卸载方法时,由于不同的卸载任务其处理的时间和能耗不同,使得用户在不同场景下的任务卸载的效果差;采用传统的任务卸载方法在寻找最优的卸载能耗时,其寻找的时间慢,且寻找的精度低卸使得任务卸载的效果差。
发明内容
为解决以上现有技术存在的问题,本发明提出了一种基于SSA-SA算法的移动边缘计算任务卸载方法,该方法包括:
S1:建立多信道无线干扰用户移动模型;确定该模型的参数;设定当前任务集;
S2:若当前任务在本地进行计算时,根据模型的参数构建本地时间模型和本地计算能耗模型;
S3:若当前任务需要进行卸载时,获取移动设备的相关参数,根据相关参数计算移动设备的上传时间、边缘服务器运行时间、移动设备卸载的能耗和移动设备运行的能耗;并求出移动设备卸载任务的成本;
S4:根据本地计算与边缘服务器的时间和能耗模模型求出优化的目标函数;
S5:初始化麻雀种群,设置最大迭代次数、发现者数量、加入者数量、警戒者比例以及安全阈值参数;设置模拟退火算法参数初始温度、结束温度以及退火系数;种群中每个麻雀表示卸载比例向量;
S6:根据优化的目标函数计算每个麻雀的适应度值,对适应度值进行排序,选出适应度值中的当前最优值和最差值;设置最大迭代次数;
S7:根据当前最优值更新发现者的位置、加入者的位置以及警戒者位置;
S8:获取更新后的化麻雀种群的最优值,若更新后的最优值比上一次迭代的最优值好,则更新最优值;否则采用退火算法对该值进行处理,使种群接受该值;
S9:判断当前迭代次数是否达到最大迭代次数,并且退火算法的温度大于等于结束温度,若到达最大迭代次数或者温度小于结束温度,则输出结果,否则返回S7,迭代次数加1,温度下降。
优选的,确定模型的参数包括:移动设备计算1bit数据所需周期数为C,任务i总数据量Di,移动设备的本地计算能力Fl。
优选的,本地时间模型为:
本地计算能耗模型为:E
local,i=kCL
iF
l 2。
优选的,移动设备的相关参数包括:移动设备的上传速率ri,边缘服务器计算能力Fe,信道带宽B,移动设备卸载任务i时的传输功率pi,当前移动设备与基站s之间的信道增益gi,s,当前移动设备与基站s之间的距离li,s。
优选的,移动设备上传时间为:
边缘服务器运行时间:
移动设备卸载的能耗:
Eup,i=piTup,i
移动设备任务卸载的时间:
Toff,i=Tup,i+Texe,i
优选的,移动设备卸载任务的成本为:
优选的,计算每个麻雀的适应度值的公式为:
优选的,更新发现者的位置的模型为:
优选的,更新加入者的位置模型为:
优选的,更新的警戒者模型为:
本发明的优点及有益效果:
1)本发明方法综合考虑了任务完成时间以及任务所需能耗,能够让用户在不同场景下侧重不同的参数,除此之外还考虑了移动设备的移动性,保证了任务卸载的效果;
2)结合麻雀搜索算法(SSA)来处理移动边缘计算中的任务卸载问题,SSA算法比较新颖,具有寻优能力强,收敛速度快的优点,能够有效的解决任务卸载问题中的能耗及时间问题,使得任务得到合理的卸载;
3)该策略基于时间能耗模型和麻雀搜索算法,在麻雀搜索算法基础上,将每一次迭代结果与上一次迭代结果进行比较,如果比上一次迭代结果差则使用模拟退火算法(SA)以一定的概率来接受这个较差的值,使得算法最终趋于全局最优解。
附图说明
图1为本发明的移动边缘计算任务卸载方法的流程图;
图2为本发明的MEC***结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所述,MEC***由一些移动设备、一个基站和一个边缘服务器组成。在MEC***中,考虑一个准静态场景,其中移动设备任务在计算卸载期间(例如几秒钟内)保持不变,而在不同的时间段可能会发生变化。这一假设适用于许多应用,例如人脸识别和自然语言处理,在这些应用中,计算输入数据的大小不是很大,因此可以在比用户移动性的时间尺度更小的时间尺度完成计算卸载。
一种基于SSA-SA算法的移动边缘计算任务卸载方法,如图1所示,该方法包括:
S1:建立多信道无线干扰用户移动模型;确定该模型的参数;设定当前任务集;
S2:若当前任务在本地进行计算时,根据模型的参数构建本地时间模型和本地计算能耗模型;
S3:若当前任务需要进行卸载时,获取移动设备的相关参数,根据相关参数计算移动设备的上传时间、边缘服务器运行时间、移动设备卸载的能耗和移动设备运行的能耗;并求出移动设备卸载任务的成本;
S4:根据本地计算与边缘服务器的时间和能耗模模型求出优化的目标函数;
S5:初始化麻雀种群,设置最大迭代次数、发现者数量、加入者数量、警戒者比例以及安全阈值参数;设置模拟退火算法参数初始温度、结束温度以及退火系数;种群中每个麻雀表示卸载比例向量;
S6:根据优化的目标函数计算每个麻雀的适应度值,对适应度值进行排序,选出适应度值中的当前最优值和最差值;设置最大迭代次数;
S7:根据当前最优值更新发现者的位置、加入者的位置以及警戒者位置;
S8:获取更新后的化麻雀种群的最优值,若更新后的最优值比上一次迭代的最优值好,则更新最优值;否则采用退火算法对该值进行处理,使种群接受该值;
S9:判断当前迭代次数是否达到最大迭代次数,并且退火算法的温度大于等于结束温度,若到达最大迭代次数或者温度小于结束温度,则输出结果,否则返回S7,迭代次数加1,温度下降。
本发明在多信道无线干扰环境下用户处于移动状态下的计算卸载任务的方法。移动路径采用随机路点移动模型RWP生成。
设定当前任务集为J={1,2,…,J}。确定多信道无线干扰用户移动模型的参数包括当前移动设备计算1bit数据所需周期数C;任务i总数据量Di,其单位为bits;当前移动设备的本地计算能力(每秒CPU周期数度量)Fl,单位cycles/sec。如果Li数据量在本地计算,则Di-Li卸载到边缘服务器上。
根据多信道无线干扰用户移动模型的参数确定本地时间模型和本地计算能耗模型,本地时间模型为:
本地计算能耗模型为:
Elocal,i=kCLiFl 2
其中,Tlocal,i表示本地计算时间,C表示移动设备计算1bit数据所需周期数,Li表示数据量,Fl表示移动设备的本地计算能力;Elocal,i表示本地计算能耗,k表示有效开关电容。优选的,将有效开关电容设置为k=10-11。
优选的,移动设备的相关参数包括:移动设备的上传速率ri,边缘服务器计算能力Fe,信道带宽B,移动设备卸载任务i时的传输功率pi,当前移动设备与基站s之间的距离li,s。
当有任务i需要卸载时,计算移动设备的任务上传速率;根据移动计算移动设备的任务上传速率的公式为:
其中,B表示信道带宽,pi表示移动设备卸载任务i时的传输功率,gi,s表示当前移动设备与基站s之间的信道增益,ω0表示加性高斯白噪声功率,Ii,s表示其他移动设备k对该移动设备在信道上的干扰。
其中,
l
i,s表示当前移动设备与基站s之间的距离,α表示路径损耗因子。在进行任务卸载时,路径损耗因子设置为4,即α=4。
计算信道上干扰Ii,s的表达式为:
Ii,s=∑akpκqκ,s
其中,ak∈{0,1}表示其他设备是否卸载任务,pκ表示其他移动设备卸载任务k时的传输功率,qκ,s表示其他移动设备与基站s之间的信道增益。
优选的,本模型采用物理层信道接入方案,允许多个用户同时有效地共享相同的频谱资源。所述物理层信道接入方案采用码分多址CDMA。
优选的,根据上述移动设备参数求动设备的上传时间、边缘服务器运行时间、移动设备卸载的能耗和移动设备任务卸载的时间。
移动设备上传时间为:
边缘服务器运行时间:
移动设备卸载的能耗:
Eup,i=piTup,i
移动设备任务卸载的时间:
Toff,i=Tup,i+Texe,i
其中,Tup,i表示本地计算能耗,Di表示任务i总数据量,Li表示数据量,ri表示移动设备的上传速率,Texe,i表示边缘服务器运行时间,C表示移动设备计算1bit数据所需周期数,Fe表示边缘服务器计算能力,Eup,i表示移动设备卸载的能耗,pi表示移动设备卸载任务i时的传输功率,Toff,i表示移动设备任务卸载的时间。
根据移动设备上传时间、边缘服务器运行时间、移动设备卸载的能耗以及移动设备任务卸载的时间计算当前移动设备卸载任务i的成本;卸载任务i的成本为:
其中,
表示用户对计算时间的权重,T
local,i表示本地计算时间,T
off,i表示移动设备任务卸载的时间,
表示用户对能耗的权重,E
local,i表示本地计算的能耗,E
up,i表示移动设备卸载的能耗。
移动设备在移动状态下如果有一系列任务需要执行,首先会向边缘服务器请求推荐的卸载比例,当一个新的服务请求到达时,边缘云和本地设备之间会有一些信息交换。边缘云将获取移动设备的一些任务信息,即输入数据大小,程序代码,传输速率等。
麻雀搜索算法(Sparrow Search Algorithm,SSA)包括发现者模型、加入者模型以及警戒者模型。在采用麻雀搜索算法对优化目标函数进行优化时,先初始化化麻雀种群,设置最大迭代次数、发现者数量、加入者数量、警戒者比例以及安全阈值参数。本发明中每个麻雀代表的是卸载比例向量(x1,..xj),每个任务本地计算数据量为Lj=Dj*(1-xj)。
采用麻雀搜索算法以及模拟退火算法对边缘卸载优化的步骤为:
步骤1:随机初始化麻雀种群,同时定义最大迭代次数,发现者数量,加入者数量,警戒者比例,安全阈值参数,初始温度,结束温度,退火系数。
步骤2:计算初始种群的适应度并将其排序进而选择出当前最优值和最差值。
步骤3:更新发现者的位置、加入者的位置以及意识到危险的麻雀的位置。
步骤4:获得当前最优值,如果当前最优值比上一次迭代的最优值好的话就进行更新操作,否则以概率P(dE)来接受这个较差的解。
步骤5:是否达到最大迭代次数且满足温度范围,满足则退出,输出结果,否则,重复执行步骤3以及步骤4。
优选的,计算每个麻雀的适应度值的公式为:
其中,Costi表示单个任务i的实际成本,i表示单个任务,j表示总任务量。
优选的,所述发现者模型中发现者拥有较高的能源储备并且在整个种群中负责搜索到具有丰富食物的区域,为所有的加入者提供觅食的区域和方向。在模型建立中能量储备的高低取决于麻雀个体所对应的适应度值的好坏。一旦麻雀发现了捕食者,个体开始发出鸣叫作为报警信号。当报警值大于安全值时,发现者会将加入者带到其它安全区域进行觅食。
在每次迭代的过程中,发现者的位置更新如下:
其中,t代表当前迭代数,j=1,2,3,...,d。iter
max是一个常数,表示最大的迭代次数。
表示在第t次迭代中第i个麻雀在第j维中的位置信息。α∈(0,1]是一个随机数。R
2(R
2∈[0,1])和ST(ST∈[0.5,1])分别表示预警值和警戒阈值。Q是服从标准正太分布的随机数。L表示一个1×d的矩阵,其中该矩阵内每个元素全部为1。当R
2<ST时,这意味着此时的觅食环境周围没有捕食者,发现者可以执行广泛的搜索操作。如果R
2≥ST,这表示种群中的一些麻雀已经发现了捕食者,并向种群中其它麻雀发出了警报,此时所有麻雀都需要迅速飞到其它安全的地方进行觅食。
优选的,所述加入者模型中加入者的能量越低,它们在整个种群中所处的觅食位置就越差。一些饥肠辘辘的加入者更有可能飞往其它地方觅食,以获得更多的能量。在觅食过程中,加入者总是能够搜索到提供最好食物的发现者,然后从最好的位置中获取食物或者在该发现者周围觅食。与此同时,一些加入者为了增加自己的捕食率可能会不断地监控发现者进而去争夺食物资源。
一种采用SSA-SA算法对目标进行优化,其具体的过程为:初始化麻雀种群,初始温度,结束温度,退火系数。这里假设种群数量为100,发现者占整个种群20%,即个数为20。则追随者个数为80。警戒者比例为10%,即个数为10。安全阈值为0.8,最大迭代次数为1000。这里假设用户任务集数量为4,则每只麻雀代表四维卸载向量,例如(0.3,0.5,0.7,0.2)。每次迭代,更新发现者,追随者,警戒者位置,即更新麻雀种群中每个麻雀的坐标,更新完麻雀的坐标后根据优化目标从麻雀种群中算出当前迭代次数中成本最小的麻雀坐标即适应度最好的那个麻雀的坐标。如果当前迭代次数中最好的适应度比上一迭代次数差,则根据模拟退火算法以概率P(dE)来接受这个较差的解。循环迭代,直到不满足最大迭代次数或者温度范围。最后输出最优解,即最优的卸载向量,卸载向量的每个维度依次表示为每个任务的卸载比例。
优选的,在每次迭代的过程中,发现者的位置更新如下:
其中,
是目前发现者所占据的最优位置,X
worst则表示当前全局最差的位置。A表示一个1×d的矩阵,其中每个元素随机赋值为1或-1,并且A
+=A
T(AA
T)
-1。当i>n/2时,这表明,适应度值较低的第i个加入者没有获得食物,处于十分饥饿的状态,此时需要飞往其它地方觅食,以获得更多的能量。
优选的,所述警戒者的位置更新为:
其中,
是当前迭代次数中所有麻雀中的最优位置。β作为步长控制参数,是服从均值为0,方差为1的正态分布的随机数。K∈[0,1]是一个随机数,f
i则是当前麻雀个体的适应度值。f
g和f
w分别是当前迭代次数中的全局最佳和最差的适应度值。ε是非常小的常数,以避免分母出现零。
当f
i>f
g表示此时的麻雀正处于种群的边缘,极其容易受到捕食者的攻击。
表示这个位置的麻雀是种群中最好的位置也是十分安全的。f
i=f
g时,这表明处于种群中间的麻雀意识到了危险,需要靠近其它的麻雀以此尽量减少它们被捕食的风险。K表示麻雀移动的方向同时也是步长控制参数。
优选的,模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一个大的搜寻空间内找寻命题的最优解。模拟退火的出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。算法从某一较高初温度出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即局部最优解能以一定概率跳出并最终趋于全局最优。
根据热力学的原理,在温度为T时,出现能量差为dE的降温的概率为P(dE),其表达式为:
其中,k是一个常数,exp表示自然指数。当dE<0(温度总是降低的)时,
取值是(0,1),那么P(dE)的函数取值范围是(0,1)。将一次向较差解的移动看作一次温度跳变过程,以概率P(dE)来接受这样的移动。
本文方法直接在麻雀搜索算法的基础上进行,通过获得上一次迭代的最优值以及当前迭代后的最优值进行对比,如果比上一次迭代差,则以一定的概率来接受当前较差的解,最终趋于全局最优解。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。