一种适用于多任务多资源移动边缘计算环境下的改进粒子群算力卸载算法
2022-06-02张彦虎鄢丽娟马志愤张彦军
张彦虎,鄢丽娟,马志愤,张彦军
(1.广东松山职业技术学院计算机与信息工程学院,广东 韶关 512126; 2.国父大学,菲律宾 曼达路尤 1550;3.一牧科技(北京)有限公司,北京 100000; 4.甘肃五环公路工程有限公司,甘肃 兰州 730000)
0 引 言
智能移动通讯设备已成为人们日常生活中不可或缺的常规随身配套电子产品,随着科技的发展,各种需要通过网络进行数据交互的智能移动设备数量(如实时虚拟现实业务、物联网智能设备等)在不断增长,智能设备所产生的数据量也成几何倍数极速增长,根据文献[1]权威机构Cisco的报告预测,按照目前智能产品的技术发展及人们对此类设备的需求情况预测,全球对移动数据流量需求的增长幅度将远远大于现有网络的承受能力,届时很多的产品或技术都会受到网络通信能力的限制而达不到预期的效果。为了解决或减缓上述矛盾,科研学者提出了移动边缘计算(Mobile Edge Computing, MEC)的概念,其主要思想是通过在靠近移动终端的位置设置具有一定计算处理能力的服务器,将原本需要发送至云服务器的部分或者全部数据发送至边缘服务器处理,以此来缩短用户响应时间,降低网络负荷,减少核心网络数据传输量及网络资源的占用。
为了增强移动设备的续航能力,降低核心网络数据传输量、缩短用户响应时间,学者们为此做出了大量的努力与研究。文献[2]提出了一种多重资源计算卸载模型,可实现在考虑时间约束的情况下,降低移动终端的能耗;文献[3]提出了一种改进的混沌蝙蝠群算法,在一定程度上解决了任务完成的时延问题;文献[4]基于COMED框架提出了一种基于Lyapunov优化理论的任务卸载算法,使基站与设备的整体能耗更优;文献[5]基于Lyapunov理论,提出了一种在保证用户隐私安全的同时实现终端能耗更低的算法;文献[6]基于深度学习优化能耗,提出了一种改进的混合L1/L2范数的组稀疏波束成形架构;文献[7]提出了一种结合MEC的部署策略和未来5G网络架构,提出融合MEC的未来5G移动通信网络架构;文献[8]针对时延和能量损耗的均衡关系,提出了一种基于移动边缘计算(MEC)的内容感知分类卸载算法;文献[9]提出了一种基于机器学习的随机任务迁移算法,结合改进的Q学习和深度学习算法生成随机任务最优迁移策略;文献[10]针对移动边缘云和移动辅助设备联合计算卸载和资源分配的优化问题,提出了一个联合计算卸载方案;文献[11-13]研究了多设备的计算卸载的最优能耗问题;文献[14]设计了一种基于能效的任务卸载算法,该算法设计了移动用户分类和优先级确定机制,并利用拍卖理论求解了任务卸载决策,并确定了最优的任务卸载信道;文献[15]为了求解降低移动设备能耗问题,提出了一种基于博弈论的任务卸载决策算法;文献[16-17]对计算卸载与移动边缘服务器资源联合调度展开了研究,解决了移动设备和服务器整体能耗或能源效率最优化的问题;文献[17]提出了一种利用改进的深度强化学习算法对任务卸载策略进行优化的算法,算法在降低设备能耗等方面有较好的表现;文献[18]从MEC计算卸载的体系、策略、资源等几个方面对现有文献工作进行了概括性总结,并对未来发展方向进行了展望;文献[19]基于海战场的军事应用背景,提出了一种基于边缘计算的指挥信息系统架构设想;文献[20]为了解决网络延时、数据安全等问题,提出了一种适用于智能家居场景的边缘计算解决方案;文献[21]构建了一种大规模异构移动边缘计算卸载模型,并使用改进的深度学习算法优化卸载策略,取得较高的效果;文献[22]提出了一种基于网联车多跳传输的移动边缘计算卸载策略,实现在保证时延要求的前提下,通过更优策略实现任务卸载;文献[23]提出了一种基于粒子群优化的多处理机调度算法,把粒子群的矢量转换为基于调度优先的模型。
上述文献在实现提升移动设备续航能力、降低核心网络数据传输量等方面取得了较好的效果,但文献大多是基于较少算力资源的环境下进行优化,能耗优化幅度相对有限。实际上,在移动边缘计算环境中,影响设备能耗的因素很多,如移动边缘设备的运行速度、运行功率、边缘服务器速度、云服务器速度、网络传输速度、任务量以及移动边缘设备的数据发送功率、接收功率、待机功率等,这些因素均在不同程度上影响移动设备的能耗。本文将基于所列资源,尽可能多地考虑多种因素,设计降低移动边缘设备能耗的模型,并通过改进的粒子算法求解降低移动边缘设备能耗的调度方案。
1 相关工作
本章对涉及的相关知识进行介绍,主要包括移动边缘计算模型和粒子群算法。
1.1 移动边缘计算模型
移动边缘计算的主要思想是将原本需要上传至云服务器端进行计算处理的全部或部分数据,发送至靠近移动边缘设备的边缘服务器进行计算处理,达到任务分担的效果,这一过程被称为“计算卸载”或“算力卸载”。移动边缘计算的主要优势有:1)通过多种资源分担算力任务,减少移动设备的运算时间,降低移动设备的能量消耗;2)移动边缘服务器一般布置在靠近移动终端附近的位置,在网络速度固定的网络环境下,其网络传输时间可以大幅降低,从而在很大程度上减少用户响应时间;3)移动边缘服务器承担了大部分的算力任务,移动设备可以将本来需要上传至主干网络进行算力运算的数据发送给边缘服务器进行处理,从而在很大程度上减轻了主干网络的数据负载量,减少了主干网络拥挤的几率。上述3个方面相互影响,相互促进形成良性循环,在很大程度上提升了用户的服务体验。
本文所讨论的移动边缘计算网络架构如图1所示,在移动边缘网络环境中,有多种类型的移动设备,该部分设备需向云服务器不定时发送运算任务,由云中心的服务器运算完成后将结果返回给对应的移动设备。为了节省移动设备的能耗,在该区域的移动设备中,选择一个移动设备A做为移动设备集群的任务聚集点,即设备A附近所有的移动设备将需要处理的任务发送给移动设备A,由设备A调度所收集的待解决任务。移动设备A具有一定的任务处理能力,同时在任务处理过程中,能耗较大,容易造成设备能量耗尽。同时设备A可以向云服务器发送待完成任务,并在任务完成后接收处理结果并返回给对应的移动设备。为了解决移动设备能耗高、网络传输压力、网络迟缓、用户响应时间长等问题,在移动设备周边设立边缘服务器。边缘服务器具有比设备A更好的算力处理能力,但其处理速度比云服务器要弱。为了实现任务分担,移动设备A亦可以向边缘服务器发送待完成任务,在任务完成之后接收对应的处理结果并返回给对应的移动设备,边缘服务器与云服务器亦可相互通信。
图1 移动边缘计算模型
在该工作模型下,具有算力运算能力的资源有移动边缘设备A、边缘服务器及云服务器,移动边缘设备A将待处理的多任务集T{t1,t2,…,tn}通过一定的分配方案发送给现有的算力资源完成运算任务,并通过工作流管理系统进行问题的处理。
1.2 粒子群算法
粒子群PSO算法是由Kennedy和Eberhart在对鸟群觅食过程研究的基础上[24],通过对鸟群觅食过程抽象、简化,创建对应模型,并在该模型基础上设计的用于解决优化问题的启发式迭代优化算法。该算法在解决优化问题时,对基于被优化模型所设计的数学函数要求不是很高,可以处理非连续、不可导等数学特征的数学函数。算法的实现过程可描述为,在一个n维向量空间,有一个规模为m个粒子的粒子群,每个粒子都有各自的位置P、速度S,且粒子没有体积特征,对于一个粒子i,其位置Pi用n维向量Pi={pi1,pi2,…,pin}描述,其速度Si用n维向量Si={si1,si2,…,sin}描述。在进行搜索任务时,粒子群中所有的粒子从各自当前的位置Pi出发,按照当前的有向速度Vi在n维空间中移动搜索,该过程在算法中描述为迭代,每迭代一次,粒子i的位置和速度都会按一定的规则变化一次。在迭代过程中,粒子i会携带2个最优信息,一个是截止目前为止粒子i在迭代过程中所搜索到的个体最优位置Pbest,另一个是截止目前为止所有粒子(即粒子群)在迭代过程中所搜索到的集体最优位置Gbest,个体最优解Pbesti用向量表示为Pbesti={Pbesti1, Pbesti2, …, Pbestin},集体最优解Gbesti用向量表示为Gbesti={Gbesti1, Gbesti2, …, Gbestin}。在迭代过程中,每次迭代都会更新粒子群中每个粒子的位置和速度,粒子i在第k+1次迭代时,其速度Vi,k+1的计算公式为:
Vi,k+1=ω×Vi,k+c1×r1×(Pbesti-xi,t)+c2×r2×(Gbesti-xi,t)
(1)
式中ω为粒子的惯性权重,用于改变粒子速度变化的幅度,以调整粒子的搜索能力;c1、c2为粒子的学习因子,分别用于调整个体、群体的学习能力;r1、r2为随机数,取值范围在0~1之间。粒子i在k+1次迭代时,其位置Pi的更新公式为:
Pi,k+1=Pi,k+Vi,k+1
(2)
2 移动边缘计算卸载建模
2.1 工作流实例
在工作流系统中,使用有向无环图表示工作流系统中各个任务之间的先后次序[25]。图2为一个演示的工作流,其中演示工作流中共有7个任务,各任务自身的负载及完成任务需要传输的数据量如表1所示。在该工作流中,任务A执行结束以后,任务B、D才能开始运作,任务C需要等到任务B完成后才能运行,同理任务E、G分别需要等到任务D、F执行完毕之后才开始运行,而任务F则需要等到任务C和任务E均完成后才能运行。
图2 无向工作流
表1 任务负载与数据量
在移动边缘计算的环境中,边缘设备可以使用的资源包括移动边缘设备、边缘服务器、云服务器,受硬件因素的影响,这3个资源在运行速度上有较大的差异,对于边缘设备而言,通常其运算能力相对有限,边缘服务器是放置在边缘设备附近的服务器,具有比边缘设备更高的运算能力及速度,三者之中,相对而言云服务器拥有最强的运算能力。如果所有的任务都放置在移动边缘设备上运行,则边缘设备需要更长的时间来处理运算任务,且边缘设备处在运行状态下的能耗最高,其能量消耗也最大;如果将所有的任务放置在云服务器端执行,则移动边缘设备所需的耗损能量主要来自于将任务发送给云服务器及接收云服务器的运算结果所产生的能耗,这些能耗相对运行的能量消耗而言,要小很多;如果将所有任务放置在边缘服务器端执行,所需的能耗类型同将任务放置在云服务器端执行的能耗。在移动边缘设备具有多个算力资源可以使用的情况下,在同样满足时间约束的条件下,使用不同的算力卸载方案所产生的边缘设备能耗也会有较大的差别,而边缘设备的能耗问题是制约边缘设备续航能力的关键因素,如何在满足时间约束的条件下获得边缘设备最低的能耗是本文所要研究的主要问题。
2.2 多重资源计算卸载模型建立
对于移动边缘环境下的移动设备能耗卸载策略,大多研究只考虑了单一资源情况下的计算卸载策略,但在真实环境下,对于移动边缘设备而言,可供使用的算力资源有多种,如移动边缘设备自身的算力、移动边缘服务器的算力、云服务器的算力等,边缘设备在使用不同算力资源时,所消耗的能量也各不相同。计算卸载的主要目的是:在满足用户时间约束的前提下,尽可能找到能够使边缘设备能耗更低的资源分配方案。从设备能耗的角度来讲,移动边缘设备、边缘服务器、云服务器等各个设备都涉及能量消耗的问题。因为本文只研究如何降低边缘设备的能耗,提高其续航能力,所以只研究与移动边缘设备相关的能耗模型。
从移动边缘设备的能耗方面分析,其能耗主要来自于运算能耗、接收能耗、发送能耗、待机能耗,本节分别探讨将任务分布在边缘设备、边缘服务器、云服务器等资源上运行时的边缘设备能耗问题。
2.2.1 移动边缘设备计算时的能耗模型
当一个计算任务分布在移动边缘设备上运算时,移动边缘设备的能耗主要取决于被计算任务的负载量、移动设备的运行速度、移动边缘设备在运行状态下的功率。首先通过负载量及移动设备运行速度得到完成该任务需要的运行时间,然后使用运行时间与设备在进行算力运算状态下的功率相乘,得到完成该任务所需要的能耗。
在一个工作流分配方案中,假设有n个任务需要在移动边缘设备上运行,则在完成该部分任务所需的时间为:
(3)
其中,ci为任务i的负载量,Sedge为移动边缘设备的运行速度,n为分布在边缘设备上的任务数,Tedge为移动边缘设备完成n个任务运算所需要的时间。
已知完成任务的时间总和Tedge,可以求得完成该部分任务所需要消耗的能耗Eedge。
Eedge=Tedge×Prun
(4)
其中,Tedge为移动设备运行的时间,Prun为移动设备在运行状态下的功率,Eedge为移动设备完成任务所需要消耗的能量。
2.2.2 边缘服务器完成任务时的能耗模型
因本文只研究移动边缘设备的能耗问题,当某个任务分配给边缘服务器时,为了简化模型,只考虑边缘设备当前的能耗情况。为了更好地说明问题,本文先分析一个任务分布在边缘服务器上运算的情况。此时移动边缘设备需要完成的工作有:将任务传送给边缘服务器执行;在边缘服务器执行任务期间等待边缘服务器的反馈结果;任务执行结束后,接收从边缘服务器发送回的数据。整个任务发送至反馈的过程中需要产生的能量消耗包括发送数据产生的能耗、等待结果产生的能耗、接收数据产生的能耗。此时,移动终端设备因为不执行运算任务,不产生运行能耗。此种情况下移动边缘设备能耗的数学模型为:
(5)
其中,di为任务i的数据量,Psend为移动边缘设备发送信息状态下的功率,Prec为移动边缘设备接收信息状态下的功率,Pfree为移动边缘设备在空闲状态下的功率,Ve1为移动边缘设备将数据发送给边缘服务器时的上传速度,Ve2为移动边缘设备接收边缘服务器信息时的速度,Tec为移动边缘设备等待边缘服务器反馈结果的时间,该值取决于任务量的大小及边缘服务器的运行速度。
(6)
其中,Sec为边缘服务器的运行速度,ci为任务i的负载量,Tec为卸载到边缘服务器上运行的任务i的运行耗时。
如果分配在边缘服务器上运行的任务向量为T={t1,t2,…,tk},则边缘设备产生的能耗为:
(7)
其中,EAec为任务向量T在边缘服务器上运行时移动边缘设备所产生的能耗总和,Eeci为任务i在边缘服务器上运行时移动边缘设备的能耗。
同理,完成任务T所需要的总时间为:
(8)
其中,TAec为完成任务向量T所需要的总时间,Teci为任务i在边缘服务器上运行的时间。
2.2.3 云服务器完成任务时的能耗模型
对于边缘设备而言,将计算任务分配给云服务器执行情况下的能耗模型与将任务分配给边缘服务器上执行所产生的能耗模型类似,同理,可以先分析将一个任务分布在云服务器上执行时边缘设备所涉及的能耗问题,此时,边缘设备也不会产生运行能耗,边缘设备所涉及的能量消耗主要包括将任务发送给云服务器所产生的发送能耗、接收云服务器运算结果所产生的接收能耗、等待云服务器运算结果所产生的等待能耗,其能量消耗的数学模型为:
(9)
式中,dk为任务k的数据量,Tcloud为移动边缘设备等待云服务器反馈结果的等待时间,该值取决于任务量的大小及云服务器的运行速度,Vc1为移动边缘设备将信息发送给云服务器时的上传速度,Vc2位移动边缘设备接收云服务器信息时的速度,其他参数含义同式(5)。
(10)
其中,ck为任务k的负载量,Scloud为云服务器的运行速度,Tcloud为卸载到云服务器上运行的任务k的运行耗时。
如果分配在边缘服务器上运行的任务向量为Tk={t1,t2,…,tk},则边缘设备产生的能耗为:
(11)
其中,EAcloud为任务向量T在云服务器上运行时,移动边缘设备所产生的能量消耗总和,Ecloud,i为任务i在云服务器上运行时移动边缘设备的能耗。
同理,完成任务T所需要的总时间为:
(12)
其中,TAcloud为完成任务向量T所需要的总时间,Tcloud,i为任务i在云服务器上运行的时间。
3 改进粒子群调度算法
3.1 移动设备总能耗
粒子群算法中,适应度是用来衡量一个分配方案优劣的依据,在本文所涉及的多资源计算卸载模型中,适应度用来综合评价一个多任务多资源环境下某个资源分配方案的优劣,其目的是找出能使移动边缘设备能量消耗更小的分配方案。为了实现该目标,需要设计用于计算某个分配方案下的移动边缘设备的能耗。
设定某计算卸载分配方案集合T={T1,T2,T3},其中T1={t1,t2,…,tn},T1是分配给移动边缘设备进行运算的任务集合,包含n个任务,T2={tn+1,tn+2,…,tm},T2是分配给边缘服务器进行运算的任务集合,包含m-n个任务,T3={tm+1,tm+2,…,tk},T3是分配给云服务器进行运算的任务集合,包含k-m个任务。移动边缘设备在完成分配方案T所产生的总能耗Esum计算公式为:
Esum=ET1+ET2+ET3
(13)
式中,Esum为移动边缘设备完成分配方案T所产生的能耗,ET1为移动边缘设备完成T1所产生的能量消耗,其值使用公式(3)、公式(4)求得;ET2为移动边缘设备在边缘服务器完成T2任务时所产生的能量消耗,其值使用公式(5)~公式(7)求得;ET3为移动边缘设备在云服务器完成T3任务时所产生的能量消耗,其值使用公式(9)~公式(11)求得。
3.2 多资源计算卸载任务下的适应度模型
本文所研究的移动边缘设备能耗问题是以满足用户可以接受的等待时间Tlim为前提进行的更优选择,即在供选择的2个分配方案中,假设能耗相同,则完成所有任务所消耗的时间Tsum小于时间约束Tlim的分配方案更优,但如果在分配方案中,能耗更低分配方案的消耗时间大于时间约束Tlim,能耗高的分配方案的消耗时间小于时间约束Tlim,该如何评价2个方案的优劣?此时涉及移动边缘设备能耗与完成任务所需时耗之间的权衡问题。该问题描述为,若2个分配方案同时满足Tsum小于Tlim,则使得移动边缘设备能耗更低的分配方案更优;但如有2个分配方案w1、w2,完成任务对应的能耗分别为e1、e2,完成任务对应的耗时分别为t1、t2,此时e1小于e2,t1大于Tlim,t2小于Tlim,在此种情况下如何评价w1、w2的优劣?
为了解决上述问题,给每种情况下的分配方案生成一个可以量化的适应度值,在适应度计算过程中引入了惩罚系数k的概念,当任务分配方案的总运行时间Tsum大于Tlim时,启用惩罚系数,且根据Tsum与Tlim比率大小进行倍增式浮动惩罚,其计算公式为:
(14)
Esum=Eedge+Eec+Ecloud
(15)
Tsum=Tedge+Tec+Tcloud
(16)
其中,Esum为完成任务时移动边缘设备所产生的能量消耗,Tsum为完成任务所需要消耗的总时间,Tlim为时间约束值,k为惩罚系数。
3.3 算法描述
传统粒子群算法根据粒子当前位置及个体粒子最优值、社会粒子最优值来确定位置移动的方向,在一定程度上容易陷入局部最优,为进一步防止粒子算法陷入局部最优解的困局,本文提出一种适用于多任务多资源环境下移动边缘设备计算任务卸载的改进粒子群算法。算法描述为:实时校验粒子迭代过程中连续未检测到新全局最优方案的次数,并根据设定的最大连续未检测到新最优方案的迭代次数,适时对粒子位置进行重置的解决方案,其实现过程见算法1。
算法1 多任务多资源环境下移动边缘设备计算任务卸载的改进粒子群算法
输入:算法迭代次数Ite,时间约束Tlim,任务Tasks,云服务器CSs,边缘服务器SEs,边缘设备Edges,惩罚系数k,粒子位置重置系数Res(在连续Res次迭代中,没有获得新最优分配方案的次数)。
输出:多任务资源卸载分配方案Seng-low
fori=1 tokdo
初始化任务分配方案Si,搜索速度vi等;
end for
fori=1 tokdo
按照资源分配方案Si,计算卸载到3种资源执行任务情况下移动边缘设备的能耗与耗时;
计算分配方案Si的总能耗、总时耗以及对应的适应度;
end for
从k个已经分配的任务分配方案中,根据适应度分别找到能耗最优的分配方案Pbest、Gbest;
Fori=1 to Ite do
依据最新的速度更新所有分配方案;
fori=1 tokdo
按照资源分配方案Si,计算卸载到3种资源执行任务情况下移动边缘设备的能耗与耗时;
计算分配方案Si的总能耗、总时耗以及对应的适应度;
end for
从k个分配方案中找出适应度最低的全局最优任务分配方案;
If如果找到更优的任务分配方案
timer=0;
Else
timer=timer+1;
End if
更新每一个调度方案的搜索速度;
If timer>Res
重新分配所有粒子的初始位置;
end
End for
ReturnSeng-low;
4 实验与结果分析
4.1 实验环境
本实验使用Matlab2016a模拟仿真环境,硬件使用云服务器,其环境为Intel(R) Xeon双核2.4 G CPU,4 GB内存,64位Windows7专业版操作系统;工作流由系统随机产生,任务数限制在100~300条,每个任务的负载量在50~3000 Mega Cycles,任务所携带的数据量在5 MB~300 MB。移动边缘设备在运行、发送、接收、待机等状态下的对应功率分别为50 MW、10 MW、3 MW、2.5 MW,移动边缘设备、边缘服务器、云服务器的运行速度分别为0.4 GHz、1.3 GHz、1.7 GHz,移动网络环境下,移动设备向边缘服务器发送数据的平均速度为10 MB/s,下载速度为20 MB/s,向云服务器上传数据的平均速度为6 MB/s,下载速度为12 MB/s,用户的时间约束为所有任务负载量的和除以边缘设备、边缘服务器、云服务器的平均运行速度所得数值的1.5倍。
4.2 实验结果与分析
将本文推荐算法得到的卸载策略分别与其他4种卸载策略下的移动设备在能耗、运算时间上进行对比,对比的卸载策略包括不卸载(UL)、完全卸载至边缘服务器(LTE)、完全卸载至云服务器(LTC)、传统粒子群算法所得混合卸载策略(MPL)。
4.2.1 不同卸载策略下的能耗对比
对5种卸载策略所对应的移动设备能量消耗进行对比,以此证明本文推荐算法的计算卸载策略可以在不影响用户体验的情况下,实现降低移动设备能耗的目的。
为了充分对比在不同任务数量下算法的表现,分别对比了任务数为50、100、150、200、250、300等6种情况下的移动设备能量消耗,其对比结果如图3所示,其中不卸载情况下,移动边缘设备因为需要处理所有的任务,且移动设备在运行状态下的能耗相对最高,所以在各种任务量下,不卸载策略的能耗均最高。本文在进行环境仿真时,将移动设备中数据上传至边缘服务器时的传输速度与上传至云服务器的上传速度做了区分处理,综合考虑云服务器位置布置远、网络负荷重等因素对数据传输时网速的影响,将上传至云服务器的网速设置为边缘服务器速度的60%,此时,因上传数据所需时间对能耗的影响增幅大于云服务器运算速度快所带来的能耗降低幅度,导致移动设备将大于一定规格的数据包上传至云服务器端处理的能耗要比发送给边缘服务器处理所需的能耗大。混合式卸载策略的优势在于,可以将任务分解在多个资源上同步处理,所需的时间为算力资源完成所有任务时各算力资源完成各自任务量耗时的最大值。为了更有效地对比结果,使用PSO粒子群算法及本文推荐算法,分别进行500次试验,每次试验最大迭代次数设置为1000次,不设置迭代跳出条件,取每次结果的最优能耗及对应方案所需时间,并取500次实验结果的平均值,得到如图3所示的结果,结果表明,混合式卸载策略在该移动边缘设备环境下,能有效地找到更佳的资源分配方案,而本文推荐算法较传统PSO粒子算法具有更优越的表现。
图3 不同任务量环境下各种卸载策略的设备能耗
在任务量为50时,能耗降低3.95%,在任务量为100时,能耗降低4.5%,在任务量为150时,能耗降低7.58%,在任务量为200时,能耗降低10.99%,在任务量为250时,能耗降低9.91%,任务量为300时,能耗降低7.2%,说明随着任务量的增长,能耗降低幅度在一定程度上趋于均衡。
4.2.2 不同卸载策略下的时耗对比
与4.2.1所述方法类似,为了更全面地对比本文所述算法在完成任务所需时间方面的优劣,对比了4.2.1所述5种卸载策略下各自完成任务所需时间,对比结果如图4所示,按照任务量为200进行对比,本文算法的运行时间比不卸载UL策略运行时间快2.42倍,比LTE策略运行时间快1.72倍,比LTC策略运行时间快2.20倍,是传统粒子群算法MPL策略运行时间的1.11倍。通过对比表明,使用本文推荐算法所得到的卸载策略在降低系统响应时间方面具有较高表现。
图4 不同任务量环境下各种卸载策略的响应时间对比
4.2.3 算法收敛速度对比
为了验证本文算法的收敛性,对比传统粒子群PSO算法及本文算法在收敛速度方面的优劣,对比策略采用设定能耗参照值Ef,运行相应算法进行迭代,最大迭代次数设置为1000次,当算法找到能耗比设定值Ef小的分配方案时,即结束迭代,记录当前分配方案对应的迭代次数、运行时耗、能量消耗,使用该方法对2种算法分别运行500次,分别求出迭代次数、运行时耗、能量消耗的平均值后进行对比分析,其结果如图5所示。
图5 收敛速度对比
因为设置了当系统找到计算卸载分配方案的能耗达到固定值即跳出迭代,2个算法在能量消耗及运行时间上,差别很小无对比必要;图5为传统粒子群PSO算法与本文推荐算法在收敛速度方面的对比,从图可以看到,本文算法在任务量50~300之间的任何时候,平均收敛速度都优于传统粒子群PSO算法,其中任务量为50时,PSO算法平均迭代次数为37.57次,而本文算法为4.75次,降低幅度为87.37%;任务量为200时,PSO算法迭代次数为154.27次,本文算法为52.12次,降低幅度为66.22%;任务量为300时,PSO算法迭代次数为209.89次,本文算法为89.02次,降低幅度为57.59%。总体来看,本文推荐算法在算法的收敛方面表现优于传统PSO算法。
5 结束语
为了充分利用可计算资源进一步提高移动边缘设备的续航能力,减少主干网络的数据传输量,减轻核心网络的负荷,本文在综合考虑移动边缘设备可利用计算资源的基础上,提出了一种多资源环境下移动边缘设备能耗计算模型,设计了一种对多资源环境下移动边缘设备分配方案优劣评价的适应度计算方法,改进了对计算卸载分配方案求解最优的粒子群算法。通过仿真实验表明,本文推荐算法具有更优的收敛性,在满足用户响应时间的前提下,本文算法所获得的任务调度方案优于其他卸载策略。