CN115396953A - 移动边缘计算中一种基于改进粒子群算法的计算卸载方法 - Google Patents

移动边缘计算中一种基于改进粒子群算法的计算卸载方法 Download PDF

Info

Publication number
CN115396953A
CN115396953A CN202210920908.9A CN202210920908A CN115396953A CN 115396953 A CN115396953 A CN 115396953A CN 202210920908 A CN202210920908 A CN 202210920908A CN 115396953 A CN115396953 A CN 115396953A
Authority
CN
China
Prior art keywords
task
particle
local
server
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210920908.9A
Other languages
English (en)
Inventor
富爽
蒋鹏
蔡立晶
孟艳君
丁晨阳
姜岱林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heilongjiang Bayi Agricultural University
Original Assignee
Heilongjiang Bayi Agricultural University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Heilongjiang Bayi Agricultural University filed Critical Heilongjiang Bayi Agricultural University
Priority to CN202210920908.9A priority Critical patent/CN115396953A/zh
Publication of CN115396953A publication Critical patent/CN115396953A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0925Management thereof using policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0917Management thereof based on the energy state of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0958Management thereof based on metrics or performance parameters
    • H04W28/0967Quality of Service [QoS] parameters
    • H04W28/0975Quality of Service [QoS] parameters for reducing delays

Abstract

本发明提供一种基于改进粒子群算法的计算卸载方法,本方法结合本地设备的能量信息及充电状态信息,综合考虑能耗和时延卸载成本,建立多设备多任务多服务器场景下的MEC计算卸载系统模型,对于计算卸载的混合整数非线性规划问题,采用改进的粒子群算法对卸载决策和资源分配变量进行求解,最终获得最优的卸载决策和资源分配方案。该方法在多设备多任务多服务器的场景下,克服现有计算卸载方法中没有考虑MEC服务器的计算资源分配问题。

Description

移动边缘计算中一种基于改进粒子群算法的计算卸载方法
技术领域
本发明涉及的是一种移动边缘计算领域中多用户多任务场景下的计算卸载方法,特别是一种基于改进粒子群算法的计算卸载方法。
背景技术
随着移动互联网和芯片技术的发展,终端设备(手机,平板电脑等)及其应用数据不断增多,用户对计算资源的需求也越来越大。针对本地设备计算资源不足的问题,业界引出了移动云计算(Mobile Cloud Computing,MCC)这一解决方案,移动云计算通过将任务传输到云计算中心,经计算能力充足的远程数据中心计算后,再将计算结果返回到本地设备上,有效的解决了本地设备计算资源缺乏的问题。但近年来,本地设备上新型计算任务不断增加,如虚拟现实、增强现实、以及自动驾驶和在线游戏等,对计算能力和网络传输时延提出了更高的要求,通常需要强大的计算能力处理并以极低的时延返回结果。对于移动云计算方案,由于其服务器部署于远程数据中心,网络传输时延高,因此无法处理这类任务。在2014年,针对新型任务,业界提出了移动边缘计算(Mobile Edge Compute,MEC)这一最新解决方案,其核心思想是将计算资源部署于网络边缘,以获得更低的网络传输时延,从而满足新型任务的运行要求。
移动边缘计算作为第五代移动通信技术(5th Generation MobileCommunication Technology,5G)的关键技术,解决了计算与传输的时延问题,同时降低了本地设备的能量消耗。计算卸载技术是移动边缘计算的关键技术,如何合理卸载任务以及合理进行资源分配,以降低MEC系统的卸载成本,提升用户的边缘计算体验,是MEC网络中需要解决的关键问题。为降低MEC的卸载成本,如能耗和时延,学者们对此进行了深入的研究。文献“余翔,石雪琴,刘一勋.移动边缘计算中卸载策略与功率的联合优化[J].计算机工程,2020,46(6):20-25.”联合优化任务卸载决策和设备传输功率,使用非合作博弈论优化卸载决策,使用二分搜索法优化传输功率,该方法提高了系统的卸载性能。该文献的模型建立在多用户单任务场景下,暂未对计算资源进行优化。文献“Lan X,Cai L,Chen Q.Executionlatency and energy consumption tradeoff in Mobile-Edge Computing systems[C]//2019IEEE/CIC International Conference on Communications in China(ICCC),2019:123-128.”在多设备单服务器场景下联合优化资源分配、设备传输功率和带宽,使得时延和能耗的加权和最小,利用拉格朗日对偶分解将原问题分解为多个子问题并逐一解决。该文献还证明时延和能耗之间存在内在的权衡关系,如果放宽时延要求,则本地设备可以得到更低的能量消耗。文献“Liu J,Li P,Liu J,et al.Joint offloading and transmissionpower control for Mobile Edge Computing.[J].IEEE ACCESS,2019,7:81640-81651.”将卸载和功率优化问题建模为计算开销最小化的混合整数非线性规划问题,并使用提出的功率控制和卸载子算法求解该问题,仿真结果证明了该方法的有效性。但该文献暂未考虑MEC系统中的计算资源分配问题。文献“Fang F,Xu Y,Ding Z,et al.Optimal resourceallocation for delay minimization in NOMA-MEC networks[J].IEEE Trans onCommunications,2020,68(12):7867-7881.”通过优化传输功率和任务在本地设备与服务器执行的分配比来最小化延迟,并将该非凸问题转化为等价的拟凸问题,使用二分搜索迭代算法求解,与上一文献相同,该文献假设MEC服务器的资源是没有限制的,暂未考虑计算资源分配,同时忽略了任务在服务器上的执行时延。文献“罗斌,于波.移动边缘计算中基于粒子群优化的计算卸载策略[J].计算机应用,2020,40(8):2293-2298.”提出了一种基于粒子群优化算法的计算卸载策略,将计算卸载问题建模为能耗约束下的时延最小化问题,并使用粒子群优化算法对卸载决策变量进行求解,降低了MEC系统的时延,但该文献仅优化了计算卸载位置,没有考虑任务的MEC计算资源的分配问题。文献“朱思峰,赵明阳,柴争义.边缘计算场景中基于改进粒子群优化的计算卸载[J].吉林大学学报:工学版,2021:1-15.”综合考虑了任务时延和本地设备的能耗,对计算卸载问题进行建模,并采用了改进的粒子群算法来求解,仿真表明其卸载决策结果优于标准粒子群算法以及遗传算法。该文献对单个用户的计算卸载位置进行优化,将MEC服务器资源全部分配至某一任务。在以上研究中,学者们对任务的卸载策略进行了优化,能够达到降低系统时延或能耗的目的,但仍有需要进一步研究考虑的地方。部分文献暂未考虑计算卸载中的计算资源分配问题,部分文献缺少对多用户多任务或多服务器场景的模型建立。综上所述,对于多用户多任务多服务器场景下的任务卸载和资源分配问题,目前的研究较少。如何建立其系统模型,并得到合理的卸载决策和资源分配策略,降低MEC系统的卸载成本,是移动边缘计算领域中亟待解决的问题。
发明内容
为了解决背景技术中存在的技术问题,本发明提供一种基于改进粒子群算法的计算卸载方法,该方法可以克服现有计算卸载方法中没有考虑MEC服务器的计算资源分配问题和多用户多任务多服务器的场景模型。本方法结合本地设备的能量信息及充电状态信息,综合考虑能耗和时延卸载成本,建立多用户多任务多服务器场景下的MEC计算卸载系统模型,采用改进的粒子群算法对卸载决策和资源分配变量进行求解,最终获得最优的卸载决策和资源分配方案。
本发明所采用的技术方案是:基于改进粒子群算法的计算卸载方法,包括下列系统模型:
(1)、在一个多个用户和多个MEC服务器的MEC网络中,有多个用户,即本地设备(如智能手机、平板电脑等设备)有任务计算需求,多个MEC服务器可为用户提供计算服务。本地设备同时有多个计算任务需要计算,任务可在本地设备执行或者卸载到MEC服务器进行计算。本地设备通过无线的方式连接到基站,MEC服务器部署于基站处,本地设备与基站通过无线直连,此种部署方式可使得任务数据传输到服务器的跳数最少,有利于减少通信延时;
(2)、假设场景模型中包含N个本地设备,本地设备序号n∈{1,2,...,N},M个MEC服务器,MEC服务器序号m∈{1,2,...,M}。在一个决策周期内,每个本地设备产生一个或多个需要计算的任务。设本地设备n共产生Kn个任务需要计算,任务数Kn∈{1,2,...,K},K为产生任务最多的本地设备产生的任务数。设第n个设备的第i个任务为
Figure BDA0003777520900000031
其属性可表示为一个二元组
Figure BDA0003777520900000032
其中,
Figure BDA0003777520900000033
代表该任务的数据量,
Figure BDA0003777520900000034
代表该任务的计算量。每一任务可以分配到某一MEC服务器或在本地进行计算,则每个任务共M+1种分配选择,所有任务的分配选择构成卸载决策向量
Figure BDA0003777520900000035
表示着第n个设备上第i个任务是否卸载到MEC服务器m,
Figure BDA0003777520900000036
表示任务
Figure BDA0003777520900000037
卸载到MEC服务器m执行;
Figure BDA0003777520900000038
表示任务
Figure BDA0003777520900000039
没有卸载到MEC服务器m,此时任务
Figure BDA00037775209000000310
可能在本地设备上执行,也可能卸载到了其他MEC服务器。若任务分配到MEC服务器,则需要为任务分配CPU计算资源。由各MEC服务器为各任务分配的CPU资源数量构成资源分配向量为
Figure BDA00037775209000000311
其中
Figure BDA00037775209000000312
表示MEC服务器m为第n个设备上第i个任务所分配的CPU资源大小,单位为GHz;
(3)、当某一任务在本地执行时,任务的本地计算时延等于任务本地执行时间,任务的计算能耗即是任务本地执行时所消耗的能量。
如任务
Figure BDA00037775209000000313
在本地执行,设备n的计算能力表示为
Figure BDA00037775209000000314
则任务
Figure BDA00037775209000000315
在本地计算的时延
Figure BDA00037775209000000316
Figure BDA00037775209000000317
本地设备的能耗主要为任务计算期间设备自身的CPU能量消耗,本文采用经典能耗计算模型来计算CPU能耗,即E=εf3t,其中ε为与本地设备芯片架构有关的能耗因子,则任务
Figure BDA00037775209000000318
在本地执行的本地计算能耗
Figure BDA00037775209000000319
Figure BDA00037775209000000320
(4)、当任务卸载到MEC服务器执行时,任务的计算总时延分为任务传输时延、MEC服务器执行时延和结果传输时延。由于结果数据往往不大,其传输时延远远小于上载任务传输时延和MEC服务器执行时延,因此忽略结果传输时延。任务的边缘计算能耗即为任务传输时所消耗的能量。
当任务
Figure BDA00037775209000000321
被分配在边缘MEC服务器执行时,需要先将任务数据上传到MEC服务器。设本地设备n到MEC服务器m的信道增益为
Figure BDA0003777520900000041
本地设备n的发射功率为pn,则根据香农公式,本地设备n到MEC服务器m的上传速度
Figure BDA0003777520900000042
可表示为
Figure BDA0003777520900000043
其中,W为带宽大小,σ2为信道噪声功率。
设任务
Figure BDA0003777520900000044
的数据量为
Figure BDA0003777520900000045
则上传任务
Figure BDA0003777520900000046
的传输时延
Figure BDA0003777520900000047
Figure BDA0003777520900000048
Figure BDA0003777520900000049
任务数据到达MEC服务器m后,设服务器m为任务
Figure BDA00037775209000000410
分配计算资源大小为
Figure BDA00037775209000000411
则MEC服务器执行时延
Figure BDA00037775209000000412
Figure BDA00037775209000000413
这样,任务
Figure BDA00037775209000000414
的边缘计算总时延
Figure BDA00037775209000000415
为传输时延与执行时延之和。
Figure BDA00037775209000000416
在任务数据卸载到服务器上计算时,能耗主要包括本地设备的上传能耗和服务器计算能耗。由于服务器是电缆供电,本文不考虑服务器能耗,只考虑大多数采用电池供电的用户端能耗,则任务
Figure BDA00037775209000000417
的边缘计算能耗
Figure BDA00037775209000000418
Figure BDA00037775209000000419
(5)、对于某个任务
Figure BDA00037775209000000420
将任务的时延和能耗成本分别表示为:
Figure BDA00037775209000000421
Figure BDA00037775209000000422
其中,
Figure BDA00037775209000000423
其值可为0或1,分别表示任务
Figure BDA00037775209000000424
是在本地设备执行还是卸载到MEC服务器执行。对时延和能耗两种不同的量纲进行归一化处理,以保证时延和能耗的公平性。
对于每一个任务,令
Figure BDA00037775209000000425
Figure BDA00037775209000000426
其中,
Figure BDA00037775209000000427
将系统的代价定义为任务执行时延和能耗的加权和,表示为。
Figure BDA00037775209000000428
其中,λn为设备n的时延权重因子,1-λn为设备n的能耗权重因子,λn∈[0,1]。λn一般为固定参数,可表示系统对时延和能耗的敏感程度,若对时延敏感,则λn较大,反之较小。
(6)、对于反映时延和能耗的权重因子λn,对能量的敏感度与本地设备的剩余电量有关。当本地设备剩余电量较低时,用户更希望降低处理任务的能耗,而放宽时延要求,对能量更敏感,则λn较小。当剩余电量较高时,用户希望处理任务的时延降低,而放宽能耗要求,以达到最好的用户体验,此时λn较大。因此,λn与设备的剩余电量比
Figure BDA0003777520900000051
成正比。设用户本地设备n的当前电量为Bn,电池能容纳的总电量为
Figure BDA0003777520900000052
则该本地设备当前的剩余电量比为
Figure BDA0003777520900000053
Figure BDA0003777520900000054
其中,
Figure BDA0003777520900000055
为比例系数,用于调整λn与设备的剩余电量比
Figure BDA0003777520900000056
的比例偏好。
此外,设备的充电状态也会影响时延和能耗的权重。若本地设备处于充电状态,则不太注重设备的能耗,此时时延权重因子λn增大;若本地设备未处于充电状态,则不做任何处理。假设本地设备n的充电状态定义为
Figure BDA0003777520900000057
Figure BDA0003777520900000058
时,设备处于充电状态,反之设备处于未充电状态。结合之前的剩余电量比
Figure BDA0003777520900000059
Figure BDA00037775209000000510
综上,本发明中的计算卸载问题可描述为,在时延能耗权重自适应的情况下,联合优化卸载决策和资源分配,使系统总代价最低,这样计算卸载问题被建模为混合整数非线性规划问题。
Figure BDA00037775209000000511
其中,C1表示任意的MEC服务器m给所处理的所有任务分配的计算资源之和不超过自身的总计算资源,
Figure BDA00037775209000000512
表示MEC服务器m的CPU计算能力;C2表示任意的任务
Figure BDA00037775209000000513
最多被分配到一台MEC服务器。C3表示
Figure BDA00037775209000000514
为二进制变量;C4表示服务器m为任务
Figure BDA00037775209000000515
分配的计算资源
Figure BDA00037775209000000516
为非负数。
如果MEC服务器m性能较好,大量用户的任务都卸载到MEC服务器m,会造成服务器m的负载过高,因此需要考虑任务分配至各服务器的公平性问题,以让其他服务器来均衡负载。对于每一台MEC服务器m,令分配到服务器上的总计算量与其计算能力相匹配,将分配到服务器1×10-9w的任务计算量占所有任务总计算量的比值,与服务器m的计算能力占所有服务器计算能力的比值之差定义为公平度,公平度应尽可能小。定义blance(A)为公平修正函数,表示卸载策略与公平度的关系,如式(16)所示:
Figure BDA0003777520900000061
基于以上定义,用公平修正函数来修正系统总代价,本发明中的计算卸载问题更新为
Figure BDA0003777520900000062
上述模型中基于改进粒子群算法的计算卸载方法是按照如下步骤得到的:
设粒子的个数为L,粒子序号l∈{1,2,3,...,L},本地设备个数为N,本地设备n所产生的任务个数为Kn,n∈{1,2,...,N},用矩阵A=[an,i]N×K和F=[fn,i]N×K表示粒子的运动位置,其中矩阵A描述任务卸载决策,矩阵F描述任务的资源分配情况。
矩阵A的元素值an,i表示任务的卸载决策,an,i∈{0,1,2,...,M},当an,i=m时,代表本地设备n的第i个任务分配的MEC服务器编号为m,当an,i=0时,代表将任务分配到本地设备。矩阵F的元素值表示资源分配数量,矩阵F的元素值fn,i代表MEC服务器给第i个任务分配的计算资源量,单位为GHz。考虑到每个本地设备产生的任务数不一定相同,将设备最大任务数K作为矩阵A和F的列数,若Kn<K,令an,i=-1,fn,i=-1,其中Kn<i≤K,表示此处并无相关任务。在卸载决策矩阵A中,粒子采用整数编码,在资源分配矩阵F中,采用实数编码。若A矩阵中an,i=[0 3 3 1],i=1,2,3,4,即表示了第n个设备上第1-4个任务的执行位置,“0”代表此任务在本地设备执行,“3 3 1”分别代表第2-4个任务在第3、3、1号MEC服务器上执行。若F矩阵中fn,i=[0 1.2 0.6 1],i=1,2,3,4,表示了服务器为第n个设备上第1-4个任务分配的计算资源量,“0”代表无需为本地任务分配计算资源,“1.2 0.6 1”分别代表对应的MEC服务器为第2-4个任务分配的计算资源量为1.2、0.6、1。
(2)、用矩阵V1=[v1,n,i]N×K和V2=[v2,n,i]N×K分别表示粒子的卸载决策和资源分配运动趋向。矩阵V1的值v1,n,i表示为任务
Figure BDA0003777520900000063
分配的MEC服务器编号的运动趋向,矩阵V2的值v2,n,i代表服务器给任务
Figure BDA0003777520900000064
分配的计算资源量的运动趋向。如当V1矩阵中v1,n,i=[3 6 30],i=1,2,3,4,表示第n个设备上第1-4个任务分别将分配的MEC服务器序号上移3、6、3和0个单位。当v2,n,i=[0.3 0.6 0.1 0],i=1,2,3,4,表示服务器为第1-4个任务分配的计算资源量分别增加0.3、0.6、0.1和0个单位。
(3)、将问题P2的目标函数作为算法的适应度函数,表示系统总代价Y的大小。
Figure BDA0003777520900000065
在粒子群算法中,粒子的位置代表一个可行解。在粒子搜索解的过程中,通过每次迭代计算各粒子运动的下一位置,直到收敛到最优位置。粒子位置的更新由上次位置和粒子的速度决定,算法核心是粒子位置和速度的迭代更新方法。速度更新受惯性速度、自身认知经验和社会经验三大方面影响,每一方面对应一个因子,即惯性因子w和学习因子c1、c2。本文改进的粒子群算法通过在迭代过程中动态改变各因子的值,达到优化粒子群算法的目的。
若粒子第t+1次迭代的速度为Vt+1,其更新公式为:
Figure BDA0003777520900000071
其中,t表示更新迭代次数,rand()为随机函数,Pbest为粒子当前搜索到的最优解,Gbest为全体粒子当前搜索到的最优解。为保证算法的前期全局收敛能力和后期局部收敛能力,应在算法迭代过程中减小惯性因子w的数值。令惯性因子w动态更新,其更新公式为:
Figure BDA0003777520900000072
其中,t和tmax分别为当前迭代次数和最大迭代次数,L为粒子个数,α,β均为系数,可以根据w的最优初值来调整。该更新公式能够实现在粒子运动前期惯性因子w较大,使算法具有较强的全局收敛能力,而随着运动中后期迭代次数的增加,w非线性减小,使得算法具有较强的局部收敛能力。同时,本文将粒子数量L作为影响w的因素,当粒子数量较大时,适当减小w的值,以防止粒子路径重复,当粒子数量较小时,适当增大w的值,增加全局收敛能力,防止粒子路径长度不够,导致算法局部收敛。
学习因子c1、c2分别描述了自身认知经验和社会经验对粒子速度的影响程度,本文动态更新c1、c2,根据每次迭代中粒子适应度值的比较,动态减小或增加粒子下一次迭代中c1、c2的值。其更新公式分别为:
Figure BDA0003777520900000073
Figure BDA0003777520900000074
其中,Yt、Ypbest和Ygbest分别为粒子的第t次更新时的适应值、粒子的当前最优解的适应值和全局最优解对应的适应值,t表示更新次数,η,θ均为系数,可以调整增量比例。式21表示,当粒子第t次更新时的适应值比上一次的个体最优解的适应值小时,适当增加粒子的第t+1次更新时的c1
Figure BDA0003777520900000075
反之适当减小
Figure BDA0003777520900000076
此操作表示优良粒子会增加粒子自身经验影响力,其他粒子则依赖粒子群的社会经验。式22表示当粒子第t次更新时若个体最优解的适应值小于全局最优解对应的适应值,适当减小粒子l的第t+1次更新时的c2
Figure BDA0003777520900000077
反之增加
Figure BDA0003777520900000078
此操作表示优良粒子会减小社会经验对粒子下一次速度的影响程度,信任自身认知经验,而其他粒子的社会经验影响程度也会增加,使得粒子靠向全局最优解。为了防止粒子过度自信或者过度依赖,设置c1和c2的变化范围,即
Figure BDA0003777520900000081
Figure BDA0003777520900000082
若粒子第t+1次迭代的位置为Xt+1,其更新公式为:
Xt+1=Xt+Vt (23)
为了避免公式计算得到的粒子速度过大或过小,对于V1,将粒子最小速度限制为
Figure BDA0003777520900000083
最大速度限制为
Figure BDA0003777520900000084
对于V2,将粒子最小速度限制为
Figure BDA0003777520900000085
最大速度限制为
Figure BDA0003777520900000086
而在根据速度公式计算粒子下一次的位置时,可能会超过位置边界,其数值不一定合理,为避免越界现象的发生,对于A,将粒子的最小位置限制为Amin,将粒子的最大位置限制为Amax;对于F,将粒子的最小位置限制为Fmin,粒子最大位置限制为Fmax
用改进PSO算法求解卸载策略与资源分配问题,算法具体流程如下:
a)初始化所有本地设备上的任务数据量
Figure BDA0003777520900000087
任务计算量
Figure BDA0003777520900000088
每个本地设备的计算能力
Figure BDA0003777520900000089
每个MEC服务器的计算能力
Figure BDA00037775209000000810
每个设备的剩余电量比
Figure BDA00037775209000000811
和充电状态
Figure BDA00037775209000000812
b)初始化粒子群算法,在解空间内随机产生L个粒子的粒子群,随机产生各矩阵,包含位置矩阵A、F和速度矩阵V1、V2
c)按照式14计算每个粒子的适应值。
d)更新个体历史最优位置Pbest和全局最优粒子位置Gbest
e)更新粒子群位置矩阵A和F,对卸载决策矩阵A中越界的元素值,使其位于Amin和Amax之间,使F中越界的元素值位于Fmin和Fmax之间。
f)更新粒子群速度矩阵V1和V2,对速度矩阵V1中越界的元素值,使其位于
Figure BDA00037775209000000813
Figure BDA00037775209000000814
之间,使V2中越界的元素值位于
Figure BDA00037775209000000815
Figure BDA00037775209000000816
之间。
g)t=t+1。
h)若两次迭代的适应度差异小于定值,或迭代次数r达到设定值,算法结束,并输出全局最优粒子位置Gbest,否则返回到第2步继续迭代。
i)根据算法求得的卸载位置信息A,选择每个任务的目标处理位置,若任务卸载到边缘服务器,则根据求得的F为任务分配计算资源。
本发明所具有的有益效果是:本申请能够在多设备多任务多服务器场景下,考虑服务器任务的分配均衡问题,联合优化卸载策略和资源分配变量,使得MEC系统的总代价最低,并通过改进粒子群算法求解计算卸载的混合整数非线性规划问题,解决了多设备多任务多服务器场景下的任务卸载和资源分配问题。相比其他方法,本发明所提方法能够获得最小的系统代价。
附图说明
图1为多用户多服务器场景下的系统模型图;
图2为编码矩阵示意图;
图3为粒子群算法流程图;
图4为不同本地设备数下的总代价对比图;
图5为不同每任务计算量下的总代价对比图;
图6为不同每任务数据量下的总代价对比图;
图7为不同带宽大小下的总代价对比图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步具体说明:本发明提出的基于改进粒子群算法的计算卸载方法,如图1所示,在一个多个用户和多个MEC服务器的MEC网络中,有多个用户,即本地设备(如智能手机、平板电脑等设备)有任务计算需求,多个MEC服务器可为用户提供计算服务。本地设备同时有多个计算任务需要计算,任务可在本地设备执行或者卸载到MEC服务器进行计算。本地设备通过无线的方式连接到基站,MEC服务器部署于基站处,本地设备与基站通过无线直连,此种部署方式可使得任务数据传输到服务器的跳数最少,有利于减少通信延时;
假设场景模型中包含N个本地设备,本地设备序号n∈{1,2,...,N},M个MEC服务器,MEC服务器序号m∈{1,2,...,M}。在一个决策周期内,每个本地设备产生一个或多个需要计算的任务。设本地设备n共产生Kn个任务需要计算,任务数Kn∈{1,2,...,K},K为产生任务最多的本地设备产生的任务数。设第n个设备的第i个任务为
Figure BDA0003777520900000091
其属性可表示为一个二元组
Figure BDA0003777520900000092
其中,
Figure BDA0003777520900000093
代表该任务的数据量,
Figure BDA0003777520900000094
代表该任务的计算量。每一任务可以分配到某一MEC服务器或在本地进行计算,则每个任务共M+1种分配选择,所有任务的分配选择构成卸载决策向量
Figure BDA0003777520900000095
表示着第n个设备上第i个任务是否卸载到MEC服务器m,
Figure BDA0003777520900000096
表示任务
Figure BDA0003777520900000097
卸载到MEC服务器m执行;
Figure BDA0003777520900000098
表示任务
Figure BDA0003777520900000099
没有卸载到MEC服务器m,此时任务
Figure BDA00037775209000000910
可能在本地设备上执行,也可能卸载到了其他MEC服务器。若任务分配到MEC服务器,则需要为任务分配CPU计算资源。由各MEC服务器为各任务分配的CPU资源数量构成资源分配向量为
Figure BDA00037775209000000911
其中
Figure BDA00037775209000000912
表示MEC服务器m为第n个设备上第i个任务所分配的CPU资源大小,单位为GHz;
当某一任务在本地执行时,任务的本地计算时延等于任务本地执行时间,任务的计算能耗即是任务本地执行时所消耗的能量。
如任务
Figure BDA0003777520900000101
在本地执行,设备n的计算能力表示为
Figure BDA0003777520900000102
则任务
Figure BDA0003777520900000103
在本地计算的时延
Figure BDA0003777520900000104
Figure BDA0003777520900000105
本地设备的能耗主要为任务计算期间设备自身的CPU能量消耗,本文采用经典能耗计算模型来计算CPU能耗,即E=εf3t,其中ε为与本地设备芯片架构有关的能耗因子,则任务
Figure BDA0003777520900000106
在本地执行的本地计算能耗
Figure BDA0003777520900000107
Figure BDA0003777520900000108
当任务卸载到MEC服务器执行时,任务的计算总时延分为任务传输时延、MEC服务器执行时延和结果传输时延。由于结果数据往往不大,其传输时延远远小于上载任务传输时延和MEC服务器执行时延,因此忽略结果传输时延。任务的边缘计算能耗即为任务传输时所消耗的能量。
当任务
Figure BDA0003777520900000109
被分配在边缘MEC服务器执行时,需要先将任务数据上传到MEC服务器。设本地设备n到MEC服务器m的信道增益为
Figure BDA00037775209000001010
本地设备n的发射功率为pn,则根据香农公式,本地设备n到MEC服务器m的上传速度
Figure BDA00037775209000001011
可表示为
Figure BDA00037775209000001012
其中,W为带宽大小,σ2为信道噪声功率。
设任务
Figure BDA00037775209000001013
的数据量为
Figure BDA00037775209000001014
则上传任务
Figure BDA00037775209000001015
的传输时延
Figure BDA00037775209000001016
Figure BDA00037775209000001017
Figure BDA00037775209000001018
任务数据到达MEC服务器m后,设服务器m为任务
Figure BDA00037775209000001019
分配计算资源大小为
Figure BDA00037775209000001020
则MEC服务器执行时延
Figure BDA00037775209000001021
Figure BDA00037775209000001022
这样,任务
Figure BDA00037775209000001023
的边缘计算总时延
Figure BDA00037775209000001024
为传输时延与执行时延之和。
Figure BDA00037775209000001025
在任务数据卸载到服务器上计算时,能耗主要包括本地设备的上传能耗和服务器计算能耗。由于服务器是电缆供电,本文不考虑服务器能耗,只考虑大多数采用电池供电的用户端能耗,则任务
Figure BDA00037775209000001026
的边缘计算能耗
Figure BDA00037775209000001027
Figure BDA00037775209000001028
对于某个任务
Figure BDA00037775209000001029
将任务的时延和能耗成本分别表示为:
Figure BDA0003777520900000111
Figure BDA0003777520900000112
其中,
Figure BDA0003777520900000113
其值可为0或1,分别表示任务
Figure BDA0003777520900000114
是在本地设备执行还是卸载到MEC服务器执行。对时延和能耗两种不同的量纲进行归一化处理,以保证时延和能耗的公平性。
对于每一个任务,令
Figure BDA0003777520900000115
Figure BDA0003777520900000116
其中,
Figure BDA0003777520900000117
将系统的代价定义为任务执行时延和能耗的加权和,表示为。
Figure BDA0003777520900000118
其中,λn为设备n的时延权重因子,1-λn为设备n的能耗权重因子,λn∈[0,1]。λn一般为固定参数,可表示系统对时延和能耗的敏感程度,若对时延敏感,则λn较大,反之较小。
对于反映时延和能耗的权重因子λn,对能量的敏感度与本地设备的剩余电量有关。当本地设备剩余电量较低时,用户更希望降低处理任务的能耗,而放宽时延要求,对能量更敏感,则λn较小。当剩余电量较高时,用户希望处理任务的时延降低,而放宽能耗要求,以达到最好的用户体验,此时λn较大。因此,λn与设备的剩余电量比
Figure BDA0003777520900000119
成正比。设用户本地设备n的当前电量为Bn,电池能容纳的总电量为
Figure BDA00037775209000001110
则该本地设备当前的剩余电量比为
Figure BDA00037775209000001111
Figure BDA00037775209000001112
其中,
Figure BDA00037775209000001113
为比例系数,用于调整λn与设备的剩余电量比
Figure BDA00037775209000001114
的比例偏好。
此外,设备的充电状态也会影响时延和能耗的权重。若本地设备处于充电状态,则不太注重设备的能耗,此时时延权重因子λn增大;若本地设备未处于充电状态,则不做任何处理。假设本地设备n的充电状态定义为
Figure BDA00037775209000001115
Figure BDA00037775209000001116
时,设备处于充电状态,反之设备处于未充电状态。结合之前的剩余电量比
Figure BDA00037775209000001117
Figure BDA00037775209000001118
综上,本发明中的计算卸载问题可描述为,在时延能耗权重自适应的情况下,联合优化卸载决策和资源分配,使系统总代价最低,这样计算卸载问题被建模为混合整数非线性规划问题。
Figure BDA0003777520900000121
其中,C1表示任意的MEC服务器m给所处理的所有任务分配的计算资源之和不超过自身的总计算资源,
Figure BDA0003777520900000122
表示MEC服务器m的CPU计算能力;C2表示任意的任务
Figure BDA0003777520900000123
最多被分配到一台MEC服务器。C3表示
Figure BDA0003777520900000124
为二进制变量;C4表示服务器m为任务
Figure BDA0003777520900000125
分配的计算资源
Figure BDA0003777520900000126
为非负数。
如果MEC服务器m性能较好,大量用户的任务都卸载到MEC服务器m,会造成服务器m的负载过高,因此需要考虑任务分配至各服务器的公平性问题,以让其他服务器来均衡负载。对于每一台MEC服务器m,令分配到服务器上的总计算量与其计算能力相匹配,将分配到服务器1×10-9w的任务计算量占所有任务总计算量的比值,与服务器m的计算能力占所有服务器计算能力的比值之差定义为公平度,公平度应尽可能小。定义blance(A)为公平修正函数,表示卸载策略与公平度的关系,如式(16)所示:
Figure BDA0003777520900000127
基于以上定义,用公平修正函数来修正系统总代价,本发明中的计算卸载问题更新为
Figure BDA0003777520900000128
上述模型中基于改进粒子群算法的计算卸载方法是按照如下步骤得到的:
(1)、粒子编码
设粒子的个数为L,粒子序号l∈{1,2,3,...,L},本地设备个数为N,本地设备n所产生的任务个数为Kn,n∈{1,2,...,N},用矩阵A=[an,i]N×K和F=[fn,i]N×K表示粒子的运动位置,其中矩阵A描述任务卸载决策,矩阵F描述任务的资源分配情况。矩阵A的元素值an,i表示任务的卸载决策,an,i∈{0,1,2,...,M},当an,i=m时,代表本地设备n的第i个任务分配的MEC服务器编号为m,当an,i=0时,代表将任务分配到本地设备。矩阵F的元素值表示资源分配数量,矩阵F的元素值fn,i代表MEC服务器给第i个任务分配的计算资源量,单位为GHz。考虑到每个本地设备产生的任务数不一定相同,将设备最大任务数K作为矩阵A和F的列数,若Kn<K,令an,i=-1,fn,i=-1,其中Kn<i≤K,表示此处并无相关任务。在卸载决策矩阵A中,粒子采用整数编码,在资源分配矩阵F中,采用实数编码。若A矩阵中an,i=[0 3 3 1],i=1,2,3,4,如图2所示,即表示了第n个设备上第1-4个任务的执行位置,“0”代表此任务在本地设备执行,“3 3 1”分别代表第2-4个任务在第3、3、1号MEC服务器上执行。若F矩阵中fn,i=[01.2 0.6 1],i=1,2,3,4,表示了服务器为第n个设备上第1-4个任务分配的计算资源量,“0”代表无需为本地任务分配计算资源,“1.2 0.6 1”分别代表对应的MEC服务器为第2-4个任务分配的计算资源量为1.2、0.6、1。
用矩阵V1=[v1,n,i]N×K和V2=[v2,n,i]N×K分别表示粒子的卸载决策和资源分配运动趋向。矩阵V1的值v1,n,i表示为任务
Figure BDA0003777520900000131
分配的MEC服务器编号的运动趋向,矩阵V2的值v2,n,i代表服务器给任务
Figure BDA0003777520900000132
分配的计算资源量的运动趋向。如当V1矩阵中v1,n,i=[3 6 3 0],i=1,2,3,4,表示第n个设备上第1-4个任务分别将分配的MEC服务器序号上移3、6、3和0个单位。当v2,n,i=[0.3 0.6 0.1 0],i=1,2,3,4,表示服务器为第1-4个任务分配的计算资源量分别增加0.3、0.6、0.1和0个单位。
(3)、将问题P2的目标函数作为算法的适应度函数,表示系统总代价Y的大小。
Figure BDA0003777520900000133
在粒子群算法中,粒子的位置代表一个可行解。在粒子搜索解的过程中,通过每次迭代计算各粒子运动的下一位置,直到收敛到最优位置。粒子位置的更新由上次位置和粒子的速度决定,算法核心是粒子位置和速度的迭代更新方法。速度更新受惯性速度、自身认知经验和社会经验三大方面影响,每一方面对应一个因子,即惯性因子w和学习因子c1、c2。本文改进的粒子群算法通过在迭代过程中动态改变各因子的值,达到优化粒子群算法的目的。
粒子的速度更新公式为:
Figure BDA0003777520900000134
其中,t表示更新迭代次数,rand()为随机函数,Pbest为粒子当前搜索到的最优解,Gbest为全体粒子当前搜索到的最优解。为保证算法的前期全局收敛能力和后期局部收敛能力,应在算法迭代过程中减小惯性因子w的数值。令惯性因子w动态更新,其更新公式为:
Figure BDA0003777520900000135
其中,t和tmax分别为当前迭代次数和最大迭代次数,L为粒子个数,α,β均为系数,可以根据w的最优初值来调整。该更新公式能够实现在粒子运动前期惯性因子w较大,使算法具有较强的全局收敛能力,而随着运动中后期迭代次数的增加,w非线性减小,使得算法具有较强的局部收敛能力。同时,本文将粒子数量L作为影响w的因素,当粒子数量较大时,适当减小w的值,以防止粒子路径重复,当粒子数量较小时,适当增大w的值,增加全局收敛能力,防止粒子路径长度不够,导致算法局部收敛。
学习因子c1、c2分别描述了自身认知经验和社会经验对粒子速度的影响程度,本文动态更新c1、c2,根据每次迭代中粒子适应度值的比较,动态减小或增加粒子下一次迭代中c1、c2的值。其更新公式分别为:
Figure BDA0003777520900000141
Figure BDA0003777520900000142
其中,Yt、Ypbest和Ygbest分别为粒子的第t次更新时的适应值、粒子的当前最优解的适应值和全局最优解对应的适应值,t表示更新次数,η,θ均为系数,可以调整增量比例。式21表示,当粒子第t次更新时的适应值比上一次的个体最优解的适应值小时,适当增加粒子的第t+1次更新时的c1
Figure BDA0003777520900000143
反之适当减小
Figure BDA0003777520900000144
此操作表示优良粒子会增加粒子自身经验影响力,其他粒子则依赖粒子群的社会经验。式22表示当粒子第t次更新时若个体最优解的适应值小于全局最优解对应的适应值,适当减小粒子l的第t+1次更新时的c2
Figure BDA0003777520900000145
反之增加
Figure BDA0003777520900000146
此操作表示优良粒子会减小社会经验对粒子下一次速度的影响程度,信任自身认知经验,而其他粒子的社会经验影响程度也会增加,使得粒子靠向全局最优解。为了防止粒子过度自信或者过度依赖,设置c1和c2的变化范围,即
Figure BDA0003777520900000147
Figure BDA0003777520900000148
粒子的位置更新公式为:
Xt+1=Xt+Vt (23)
为了避免公式计算得到的粒子速度过大或过小,对于V1,将粒子最小速度限制为
Figure BDA0003777520900000149
最大速度限制为
Figure BDA00037775209000001410
对于V2,将粒子最小速度限制为
Figure BDA00037775209000001411
最大速度限制为
Figure BDA00037775209000001412
而在根据速度公式计算粒子下一次的位置时,可能会超过位置边界,其数值不一定合理,为避免越界现象的发生,对于A,将粒子的最小位置限制为Amin,将粒子的最大位置限制为Amax;对于F,将粒子的最小位置限制为Fmin,粒子最大位置限制为Fmax
用改进PSO算法求解卸载策略与资源分配问题,算法流程图如图3所示。
具体流程如下:
a)初始化所有设备上的任务数据量
Figure BDA00037775209000001413
和任务计算量
Figure BDA00037775209000001414
信息,并得到每个本地设备的计算能力
Figure BDA00037775209000001415
以及每个MEC服务器的计算能力
Figure BDA00037775209000001416
初始化每个设备的剩余电量比
Figure BDA00037775209000001417
和充电状态
Figure BDA00037775209000001418
b)初始化,在解空间内随机产生L个粒子的粒子群,随机产生各矩阵,包含位置矩阵A、F和速度矩阵V1、V2
c)按照式14计算每个粒子的适应值。
d)更新个体历史最优位置Pbest和全局最优粒子位置Gbest
e)更新粒子群位置矩阵A和F,对卸载决策矩阵A中越界的元素值,使其位于Amin和Amax之间,使F中越界的元素值位于Fmin和Fmax之间。
f)更新粒子群速度矩阵V1和V2,对速度矩阵V1中越界的元素值,使其位于
Figure BDA0003777520900000151
Figure BDA0003777520900000152
之间,使V2中越界的元素值位于
Figure BDA0003777520900000153
Figure BDA0003777520900000154
之间。
g)t=t+1。
h)若两次迭代的适应度差异小于定值,或迭代次数r达到设定值,算法结束,并输出全局最优粒子位置Gbest,否则返回到第2步继续迭代。
i)根据算法求得的卸载位置信息A,选择每个任务的目标处理位置,若任务卸载到边缘服务器,则根据求得的F为任务分配计算资源。
实验分析:
采用Matlab软件对本文场景和提出的改进的PSO算法进行仿真分析,实验结果通过蒙特卡洛方法,结果由1000次仿真求平均值得到。设场景中有N=30个本地设备,M=11个MEC服务器,
Figure BDA0003777520900000155
在范围内随机设置,pn在100~500mW范围内随机设置,
Figure BDA0003777520900000156
在0.1~16Mbits范围内随机设置,
Figure BDA0003777520900000157
在0.05~1GHz范围内随机设置,
Figure BDA0003777520900000158
在0.5~1.5GHz范围内随机设置,
Figure BDA0003777520900000159
在40~50GHz范围内随机设置,W设置为20MHz,σ2设置为1×10-9w,ε设置为1×10-28,α、β设置为0.1,η、θ设置为0.15。
对以下四种算法进行比较和分析:
a)方法一,本文改进的PSO算法。
b)方法二,遗传算法:经典的遗传算法,采用了精英策略,以防种群退化。
c)方法三,全部本地计算:任务全部在本地设备计算。
d)方法四,随机卸载:随机规定任务的运行位置。
图4为不同本地设备数下的总代价对比。图4可以看出,随着本地设备数量的增加,总代价随之上升。其中本地计算的总代价最高,因为所有任务均在本地执行,而本地设备计算能力有限,会产生较高时延,导致总代价最高。随机算法对任务执行位置进行随机决策,具有盲目性,但随机卸载算法也会将部分任务卸载到服务器,因此优于本地计算方法。遗传算法通过对染色体进行选择、交叉和变异等操作,能得到较好的解,仅次于本文方法。本文方法取得的总代价最低,优于其他三种算法,这是因为粒子群在迭代求解过程中,通过适应度函数的反馈,能不断通过自身经验和社会经验向最优解靠近,最终取得较低的总代价。
图5为不同每任务计算量下的总代价对比。从图5中可以看出,随着任务计算量的不断增加,四种方法的总代价都随之增高,这是因为随着任务计算量增加,无论任务在何处执行,任务的处理时延和能耗都会增加,因此总代价增加。由于本地计算将任务全部安排到本地设备上执行,而本地设备的处理能力有限,因此总代价是最高的。随机卸载方法能够卸载一部分任务到MEC服务器上,因此优于本地计算,但由于随机卸载方法不依靠任何迭代和经验,无法最小化总代价,也无法得到较优解。本文方法总代价增长趋势和其他方法相同,但在四种方法中总代价是最低的,优于其他算法,这是因为随着任务计算量增加,粒子群算法通过迭代搜索并共享社会经验,得到了任务的最优执行位置与资源分配方案,较多的计算任务都被分配到了MEC服务器,降低了任务的总代价。
图6为不同每任务数据量下的总代价对比。从图6中可以看出,除本地计算外,其他算法的任务总代价均随着任务数据量的增加而上升。这是因为除本地计算外,其他算法均会将部分任务分配到服务器进行执行,随着任务数据量的增加,任务的传输时延会增加,执行时延不变,从而影响到总时延,而本地设备在发送这些数据时,能量消耗也随即增加,因此总代价增加。由图6还可以看出,在四种方法中,改进的粒子群算法取得的总代价最低,本地计算的总代价较高,且不随任务数据量的增加而变化,这是由于本地计算不需要传输卸载数据,其代价只与任务计算量有关系,因此,数据量改变不会导致总代价的改变。从图6的总体趋势还可以看出,较计算量而言,数据量对总代价的影响较小,总体走势平缓,斜率较小,这是因为数据量的变化只会在任务上传阶段增加上传时延,对时延和能耗产生的影响较小,最终对总代价产生较小影响。
图7为不同带宽大小下的总代价对比。图7中,除本地计算外,其他三种算法的总代价都随着带宽的增加而降低,这是由于任务在进行卸载时,会首先将任务上传到服务器,所以带宽较大时,会获得较小的传输时延,从而减少任务的时延成本。本地计算由于不进行任务上传操作,因此总代价不因为带宽的改变而变化,在图中表现为一条水平直线。由图6还可以看出,本文方法的总代价仍然是最低的,这是本文对传统粒子群算法的惯性权重参数和学习因子进行优化,使寻优能力得到提升。
基于以上对本发明的分析讨论可知,本发明所提出的基于改进粒子群算法的计算卸载方法,能够在多设备多任务多服务器场景下,考虑服务器任务的分配均衡问题,联合优化卸载策略和资源分配变量,使得MEC系统的总代价最低,并通过改进粒子群算法求解计算卸载的混合整数非线性规划问题,解决了多设备多任务多服务器场景下的任务卸载和资源分配问题。相比其他方法,本发明所提方法能够获得最小的系统代价。

Claims (2)

1.一种基于改进粒子群算法的计算卸载方法,包括下列系统模型:
(1)、在一个多个用户和多个MEC服务器的MEC网络中,有多个用户,即本地设备,有任务计算需求,多个MEC服务器可为用户提供计算服务,本地设备同时有多个计算任务需要计算,任务可在本地设备执行或者卸载到MEC服务器进行计算,本地设备通过无线的方式连接到基站,MEC服务器部署于基站处,本地设备与基站通过无线直连,此种部署方式可使得任务数据传输到服务器的跳数最少,有利于减少通信延时;
(2)、假设场景模型中包含N个本地设备,本地设备序号n∈{1,2,...,N},M个MEC服务器,MEC服务器序号m∈{1,2,...,M},在一个决策周期内,每个本地设备产生一个或多个需要计算的任务,设本地设备n共产生Kn个任务需要计算,任务数Kn∈{1,2,...,K},K为产生任务最多的本地设备产生的任务数,设第n个设备的第i个任务为
Figure FDA0003777520890000011
其属性可表示为一个二元组
Figure FDA0003777520890000012
其中,
Figure FDA0003777520890000013
代表该任务的数据量,
Figure FDA0003777520890000014
代表该任务的计算量,每一任务可以分配到某一MEC服务器或在本地进行计算,则每个任务共M+1种分配选择,所有任务的分配选择构成卸载决策向量
Figure FDA0003777520890000015
Figure FDA0003777520890000016
表示着第n个设备上第i个任务是否卸载到MEC服务器m,
Figure FDA0003777520890000017
Figure FDA0003777520890000018
表示任务
Figure FDA0003777520890000019
卸载到MEC服务器m执行;
Figure FDA00037775208900000110
表示任务
Figure FDA00037775208900000111
没有卸载到MEC服务器m,此时任务
Figure FDA00037775208900000112
可能在本地设备上执行,也可能卸载到了其他MEC服务器,若任务分配到MEC服务器,则需要为任务分配CPU计算资源,由各MEC服务器为各任务分配的CPU资源数量构成资源分配向量为
Figure FDA00037775208900000113
其中
Figure FDA00037775208900000114
表示MEC服务器m为第n个设备上第i个任务所分配的CPU资源大小,单位为GHz;
(3)、当某一任务在本地执行时,任务的本地计算时延等于任务本地执行时间,任务的计算能耗即是任务本地执行时所消耗的能量;
如任务
Figure FDA00037775208900000115
在本地执行,设备n的计算能力表示为
Figure FDA00037775208900000116
则任务
Figure FDA00037775208900000117
在本地计算的时延
Figure FDA00037775208900000118
Figure FDA00037775208900000119
本地设备的能耗主要为任务计算期间设备自身的CPU能量消耗,本文采用经典能耗计算模型来计算CPU能耗,即E=εf3t,其中ε为与本地设备芯片架构有关的能耗因子,则任务
Figure FDA0003777520890000021
在本地执行的本地计算能耗
Figure FDA0003777520890000022
Figure FDA0003777520890000023
(4)、当任务卸载到MEC服务器执行时,任务的计算总时延分为任务传输时延、MEC服务器执行时延和结果传输时延,由于结果数据往往不大,其传输时延远远小于上载任务传输时延和MEC服务器执行时延,因此忽略结果传输时延,任务的边缘计算能耗即为任务传输时所消耗的能量;
当任务
Figure FDA0003777520890000024
被分配在边缘MEC服务器执行时,需要先将任务数据上传到MEC服务器,设本地设备n到MEC服务器m的信道增益为
Figure FDA0003777520890000025
本地设备n的发射功率为pn,则根据香农公式,本地设备n到MEC服务器m的上传速度
Figure FDA0003777520890000026
可表示为
Figure FDA0003777520890000027
其中,W为带宽大小,σ2为信道噪声功率;
设任务
Figure FDA0003777520890000028
的数据量为
Figure FDA0003777520890000029
则上传任务
Figure FDA00037775208900000210
的传输时延
Figure FDA00037775208900000211
Figure FDA00037775208900000212
Figure FDA00037775208900000213
任务数据到达MEC服务器m后,设服务器m为任务
Figure FDA00037775208900000214
分配计算资源大小为
Figure FDA00037775208900000215
则MEC服务器执行时延
Figure FDA00037775208900000216
Figure FDA00037775208900000217
这样,任务
Figure FDA00037775208900000218
的边缘计算总时延
Figure FDA00037775208900000219
为传输时延与执行时延之和,
Figure FDA00037775208900000220
在任务数据卸载到服务器上计算时,能耗主要包括本地设备的上传能耗和服务器计算能耗,由于服务器是电缆供电,本文不考虑服务器能耗,只考虑大多数采用电池供电的用户端能耗,则任务
Figure FDA0003777520890000031
的边缘计算能耗
Figure FDA0003777520890000032
Figure FDA0003777520890000033
(5)、对于某个任务
Figure FDA0003777520890000034
将任务的时延和能耗成本分别表示为:
Figure FDA0003777520890000035
Figure FDA0003777520890000036
其中,
Figure FDA0003777520890000037
其值可为0或1,分别表示任务
Figure FDA0003777520890000038
是在本地设备执行还是卸载到MEC服务器执行,对时延和能耗两种不同的量纲进行归一化处理,以保证时延和能耗的公平性[20],对于每一个任务,令
Figure FDA0003777520890000039
Figure FDA00037775208900000310
其中,
Figure FDA00037775208900000311
将系统的代价定义为任务执行时延和能耗的加权和,表示为,
Figure FDA00037775208900000312
其中,λn为设备n的时延权重因子,1-λn为设备n的能耗权重因子,λn∈[0,1],λn一般为固定参数,可表示系统对时延和能耗的敏感程度,若对时延敏感,则λn较大,反之较小;
(6)、对于反映时延和能耗的权重因子λn,对能量的敏感度与本地设备的剩余电量有关,当本地设备剩余电量较低时,用户更希望降低处理任务的能耗,而放宽时延要求,对能量更敏感,则λn较小,当剩余电量较高时,用户希望处理任务的时延降低,而放宽能耗要求,以达到最好的用户体验,此时λn较大,因此,λn与设备的剩余电量比
Figure FDA00037775208900000313
成正比,设用户本地设备n的当前电量为Bn,电池能容纳的总电量为
Figure FDA00037775208900000314
则该本地设备当前的剩余电量比为
Figure FDA00037775208900000315
Figure FDA00037775208900000316
其中,
Figure FDA0003777520890000041
为比例系数,用于调整λn与设备的剩余电量比
Figure FDA0003777520890000042
的比例偏好;
此外,设备的充电状态也会影响时延和能耗的权重,若本地设备处于充电状态,则不太注重设备的能耗,此时时延权重因子λn增大;若本地设备未处于充电状态,则不做任何处理,假设本地设备n的充电状态定义为
Figure FDA0003777520890000043
Figure FDA0003777520890000044
时,设备处于充电状态,反之设备处于未充电状态,结合之前的剩余电量比
Figure FDA0003777520890000045
Figure FDA0003777520890000046
综上,本发明中的计算卸载问题可描述为,在时延能耗权重自适应的情况下,联合优化卸载决策和资源分配,使系统总代价最低,这样计算卸载问题被建模为混合整数非线性规划问题;
Figure FDA0003777520890000047
Figure FDA0003777520890000048
Figure FDA0003777520890000049
Figure FDA00037775208900000410
Figure FDA00037775208900000411
其中,C1表示任意的MEC服务器m给所处理的所有任务分配的计算资源之和不超过自身的总计算资源,
Figure FDA00037775208900000412
表示MEC服务器m的CPU计算能力;C2表示任意的任务
Figure FDA00037775208900000413
最多被分配到一台MEC服务器,C3表示
Figure FDA00037775208900000414
为二进制变量;C4表示服务器m为任务
Figure FDA00037775208900000415
分配的计算资源
Figure FDA00037775208900000416
为非负数;
如果MEC服务器m性能较好,大量用户的任务都卸载到MEC服务器m,会造成服务器m的负载过高,因此需要考虑任务分配至各服务器的公平性问题,以让其他服务器来均衡负载,对于每一台MEC服务器m,令分配到服务器上的总计算量与其计算能力相匹配,将分配到服务器1×10-9w的任务计算量占所有任务总计算量的比值,与服务器m的计算能力占所有服务器计算能力的比值之差定义为公平度,公平度应尽可能小,定义blance(A)为公平修正函数,表示卸载策略与公平度的关系,如式(16)所示:
Figure FDA0003777520890000051
基于以上定义,用公平修正函数来修正系统总代价,本发明中的计算卸载问题更新为
Figure 1
2.根据权利要求书1所述的基于粒子群算法的计算卸载方法,其特征是:其计算卸载策略是按照如下方法得到的:
(1)、粒子编码
设粒子的个数为L,粒子序号l∈{1,2,3,...,L},本地设备个数为N,本地设备n所产生的任务个数为Kn,n∈{1,2,...,N},用矩阵A=[an,i]N×K和F=[fn,i]N×K表示粒子的运动位置,其中矩阵A描述任务卸载决策,矩阵F描述任务的资源分配情况,矩阵A的元素值an,i表示任务的卸载决策,an,i∈{0,1,2,...,M},当an,i=m时,代表本地设备n的第i个任务分配的MEC服务器编号为m,当an,i=0时,代表将任务分配到本地设备,矩阵F的元素值表示资源分配数量,矩阵F的元素值fn,i代表MEC服务器给第i个任务分配的计算资源量,单位为GHz,考虑到每个本地设备产生的任务数不一定相同,将设备最大任务数K作为矩阵A和F的列数,若Kn<K,令an,i=-1,fn,i=-1,其中Kn<i≤K,表示此处并无相关任务,在卸载决策矩阵A中,粒子采用整数编码,在资源分配矩阵F中,采用实数编码,若A矩阵中an,i=[0 3 3 1],i=1,2,3,4,即表示了第n个设备上第1-4个任务的执行位置,“0”代表此任务在本地设备执行,“3 3 1”分别代表第2-4个任务在第3、3、1号MEC服务器上执行,若F矩阵中fn,i=[0 1.2 0.6 1],i=1,2,3,4,表示了服务器为第n个设备上第1-4个任务分配的计算资源量,“0”代表无需为本地任务分配计算资源,“1.2 0.6 1”分别代表对应的MEC服务器为第2-4个任务分配的计算资源量为1.2、0.6、1;
(2)、用矩阵V1=[v1,n,i]N×K和V2=[v2,n,i]N×K分别表示粒子的卸载决策和资源分配运动趋向,矩阵V1的值v1,n,i表示为任务
Figure FDA0003777520890000061
分配的MEC服务器编号的运动趋向,矩阵V2的值v2,n,i代表服务器给任务
Figure FDA0003777520890000062
分配的计算资源量的运动趋向,如当V1矩阵中v1,n,i=[3 6 3 0],i=1,2,3,4,表示第n个设备上第1-4个任务分别将分配的MEC服务器序号上移3、6、3和0个单位,当v2,n,i=[0.3 0.6 0.1 0],i=1,2,3,4,表示服务器为第1-4个任务分配的计算资源量分别增加0.3、0.6、0.1和0个单位;
(3)、将问题P2的目标函数作为算法的适应度函数,表示系统总代价Y的大小,
Figure FDA0003777520890000063
在粒子群算法中,粒子的位置代表一个可行解,在粒子搜索解的过程中,通过每次迭代计算各粒子运动的下一位置,直到收敛到最优位置,粒子位置的更新由上次位置和粒子的速度决定,算法核心是粒子位置和速度的迭代更新方法,速度更新受惯性速度、自身认知经验和社会经验三大方面影响,每一方面对应一个因子,即惯性因子w和学习因子c1、c2,本文改进的粒子群算法通过在迭代过程中动态改变各因子的值,达到优化粒子群算法的目的,
若粒子第t+1次迭代的速度为Vt+1,其更新公式为:
Figure FDA0003777520890000064
其中,t表示更新迭代次数,rand()为随机函数,Pbest为粒子当前搜索到的最优解,Gbest为全体粒子当前搜索到的最优解,为保证算法的前期全局收敛能力和后期局部收敛能力,应在算法迭代过程中减小惯性因子w的数值,令惯性因子w动态更新,其更新公式为:
Figure FDA0003777520890000065
其中,t和tmax分别为当前迭代次数和最大迭代次数,L为粒子个数,α,β均为系数,可以根据w的最优初值来调整,该更新公式能够实现在粒子运动前期惯性因子w较大,使算法具有较强的全局收敛能力,而随着运动中后期迭代次数的增加,w非线性减小,使得算法具有较强的局部收敛能力,同时,本文将粒子数量L作为影响w的因素,当粒子数量较大时,适当减小w的值,以防止粒子路径重复,当粒子数量较小时,适当增大w的值,增加全局收敛能力,防止粒子路径长度不够,导致算法局部收敛;
学习因子c1、c2分别描述了自身认知经验和社会经验对粒子速度的影响程度,本文动态更新c1、c2,根据每次迭代中粒子适应度值的比较,动态减小或增加粒子下一次迭代中c1、c2的值,其更新公式分别为:
Figure FDA0003777520890000071
Figure FDA0003777520890000072
其中,Yt、Ypbest和Ygbest分别为粒子的第t次更新时的适应值、粒子的当前最优解的适应值和全局最优解对应的适应值,t表示更新次数,η,θ均为系数,可以调整增量比例,式21表示,当粒子第t次更新时的适应值比上一次的个体最优解的适应值小时,适当增加粒子的第t+1次更新时的c1
Figure FDA0003777520890000073
反之适当减小
Figure FDA0003777520890000074
此操作表示优良粒子会增加粒子自身经验影响力,其他粒子则依赖粒子群的社会经验,式22表示当粒子第t次更新时若个体最优解的适应值小于全局最优解对应的适应值,适当减小粒子l的第t+1次更新时的c2
Figure FDA0003777520890000075
反之增加
Figure FDA0003777520890000076
此操作表示优良粒子会减小社会经验对粒子下一次速度的影响程度,信任自身认知经验,而其他粒子的社会经验影响程度也会增加,使得粒子靠向全局最优解,为了防止粒子过度自信或者过度依赖,设置c1和c2的变化范围,即
Figure FDA0003777520890000077
Figure FDA0003777520890000078
Figure FDA0003777520890000079
若粒子第t+1次迭代的位置为Xt+1,其更新公式为:
Xt+1=Xt+Vt (23)
为了避免公式计算得到的粒子速度过大或过小,对于V1,将粒子最小速度限制为V1 min,最大速度限制为V1 max;对于V2,将粒子最小速度限制为
Figure FDA00037775208900000710
最大速度限制为
Figure FDA00037775208900000711
而在根据速度公式计算粒子下一次的位置时,可能会超过位置边界,其数值不一定合理,为避免越界现象的发生,对于A,将粒子的最小位置限制为Amin,将粒子的最大位置限制为Amax;对于F,将粒子的最小位置限制为Fmin,粒子最大位置限制为Fmax
用改进PSO算法求解卸载策略与资源分配问题,具体流程如下:
a)初始化所有本地设备上的任务数据量
Figure FDA0003777520890000081
任务计算量
Figure FDA0003777520890000082
每个本地设备的计算能力
Figure FDA0003777520890000083
每个MEC服务器的计算能力
Figure FDA0003777520890000084
每个设备的剩余电量比
Figure FDA0003777520890000085
和充电状态
Figure FDA0003777520890000086
b)初始化粒子群算法,在解空间内随机产生L个粒子的粒子群,随机产生各矩阵,包含位置矩阵A、F和速度矩阵V1、V2
c)按照式14计算每个粒子的适应值;
d)更新个体历史最优位置Pbest和全局最优粒子位置Gbest
e)更新粒子群位置矩阵A和F,对卸载决策矩阵A中越界的元素值,使其位于Amin和Amax之间,使F中越界的元素值位于Fmin和Fmax之间;
f)更新粒子群速度矩阵V1和V2,对速度矩阵V1中越界的元素值,使其位于V1 min和V1 max之间,使V2中越界的元素值位于
Figure FDA0003777520890000087
Figure FDA0003777520890000088
之间;
g)t=t+1;
h)若两次迭代的适应度差异小于定值,或迭代次数r达到设定值,算法结束,并输出全局最优粒子位置Gbest,否则返回到第2步继续迭代;
i)根据算法求得的卸载位置信息A,选择每个任务的目标处理位置,若任务卸载到边缘服务器,则根据求得的F为任务分配计算资源。
CN202210920908.9A 2022-08-02 2022-08-02 移动边缘计算中一种基于改进粒子群算法的计算卸载方法 Pending CN115396953A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210920908.9A CN115396953A (zh) 2022-08-02 2022-08-02 移动边缘计算中一种基于改进粒子群算法的计算卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210920908.9A CN115396953A (zh) 2022-08-02 2022-08-02 移动边缘计算中一种基于改进粒子群算法的计算卸载方法

Publications (1)

Publication Number Publication Date
CN115396953A true CN115396953A (zh) 2022-11-25

Family

ID=84118035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210920908.9A Pending CN115396953A (zh) 2022-08-02 2022-08-02 移动边缘计算中一种基于改进粒子群算法的计算卸载方法

Country Status (1)

Country Link
CN (1) CN115396953A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155728A (zh) * 2023-04-23 2023-05-23 华东交通大学 超密集网络中计算卸载与资源优化方法
CN116567725A (zh) * 2023-05-09 2023-08-08 中国人民解放军陆军工程大学 一种时延最小化的多边缘服务器网络任务卸载方法
CN117032832A (zh) * 2023-08-25 2023-11-10 重庆邮电大学 一种基于移动边缘计算的最小化任务调用成本卸载方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586720A (zh) * 2020-05-11 2020-08-25 重庆邮电大学 一种多小区场景下的任务卸载和资源分配的联合优化方法
CN113271627A (zh) * 2021-05-14 2021-08-17 天津理工大学 一种基于混沌量子粒子群优化策略的移动边缘计算卸载方法
CN113630886A (zh) * 2021-08-27 2021-11-09 黑龙江八一农垦大学 异构物联网中一种基于粒子群算法的频谱分配方法
CN113950103A (zh) * 2021-09-10 2022-01-18 西安电子科技大学 一种移动边缘环境下多服务器完全计算卸载方法及系统
WO2022117233A1 (en) * 2020-12-03 2022-06-09 NEC Laboratories Europe GmbH Managing task offloading to edge servers in a multi-access edge computing, mec, system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586720A (zh) * 2020-05-11 2020-08-25 重庆邮电大学 一种多小区场景下的任务卸载和资源分配的联合优化方法
WO2022117233A1 (en) * 2020-12-03 2022-06-09 NEC Laboratories Europe GmbH Managing task offloading to edge servers in a multi-access edge computing, mec, system
CN113271627A (zh) * 2021-05-14 2021-08-17 天津理工大学 一种基于混沌量子粒子群优化策略的移动边缘计算卸载方法
CN113630886A (zh) * 2021-08-27 2021-11-09 黑龙江八一农垦大学 异构物联网中一种基于粒子群算法的频谱分配方法
CN113950103A (zh) * 2021-09-10 2022-01-18 西安电子科技大学 一种移动边缘环境下多服务器完全计算卸载方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
SHUANG FU ET AL.: "Cross-layer parallel cooperative spectrum sensing for heterogeneous channels based on iterative KM algorithm", SCI:CLUSTER COMPUTING, 31 December 2019 (2019-12-31) *
SHUANG FU ET AL.: "Resource allocation in a relay-aided mobile edge computing system", IOTJ, 25 July 2022 (2022-07-25) *
SHUN LI ET AL.: "Computation offloading strategy for improved particle swarm optimization in mobile edge computing", ICCCBDA, 2 June 2021 (2021-06-02) *
张彦虎等: "一种适用于多任务多资源移动边缘计算环境下的改进粒子群算力卸载算法", 计算机与现代化, no. 5, 31 May 2022 (2022-05-31) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155728A (zh) * 2023-04-23 2023-05-23 华东交通大学 超密集网络中计算卸载与资源优化方法
CN116567725A (zh) * 2023-05-09 2023-08-08 中国人民解放军陆军工程大学 一种时延最小化的多边缘服务器网络任务卸载方法
CN116567725B (zh) * 2023-05-09 2024-02-13 中国人民解放军陆军工程大学 一种时延最小化的多边缘服务器网络任务卸载方法
CN117032832A (zh) * 2023-08-25 2023-11-10 重庆邮电大学 一种基于移动边缘计算的最小化任务调用成本卸载方法
CN117032832B (zh) * 2023-08-25 2024-03-08 重庆邮电大学 一种基于移动边缘计算的最小化任务调用成本卸载方法

Similar Documents

Publication Publication Date Title
CN111586720B (zh) 一种多小区场景下的任务卸载和资源分配的联合优化方法
CN108920280B (zh) 一种单用户场景下的移动边缘计算任务卸载方法
CN109240818B (zh) 一种边缘计算网络中基于用户体验的任务卸载方法
CN112512056B (zh) 一种移动边缘计算网络中多目标优化的计算卸载方法
CN109947545B (zh) 一种基于用户移动性的任务卸载及迁移的决策方法
CN107766135B (zh) 移动朵云中基于粒子群和模拟退火优化的任务分配方法
CN115396953A (zh) 移动边缘计算中一种基于改进粒子群算法的计算卸载方法
CN111182570B (zh) 提高运营商效用的用户关联和边缘计算卸载方法
CN111585816B (zh) 一种基于自适应遗传算法的任务卸载决策方法
CN112860350A (zh) 一种边缘计算中基于任务缓存的计算卸载方法
CN112286677A (zh) 一种面向资源受限边缘云的物联网应用优化部署方法
CN113778648A (zh) 分层边缘计算环境中基于深度强化学习的任务调度方法
CN113364859B (zh) 车联网中面向mec的联合计算资源分配和卸载决策优化方法
CN111475274A (zh) 云协同多任务调度方法及装置
CN110266512A (zh) 一种移动边缘计算迁移系统的快速资源配置方法
Ma et al. Joint allocation on communication and computing resources for fog radio access networks
CN112929915A (zh) 一种移动边缘计算的动态数据卸载方法及系统
CN113573363A (zh) 基于深度强化学习的mec计算卸载与资源分配方法
CN113727362A (zh) 一种基于深度强化学习的无线供电系统的卸载策略方法
Zhang et al. A deep reinforcement learning approach for online computation offloading in mobile edge computing
Ren et al. Dynamic resource allocation scheme and deep deterministic policy gradient-based mobile edge computing slices system
CN114567933A (zh) 基于改进遗传算法的异构云雾协同网络中的资源分配方法
Jiang et al. Research on new edge computing network architecture and task offloading strategy for Internet of Things
Guo et al. Dynamic computation offloading in multi-server MEC systems: An online learning approach
CN110768827B (zh) 一种基于群智能算法的任务卸载方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination