APP下载

移动边缘计算中多约束下的任务卸载和资源分配算法

2020-11-05刘碧篮邓小妹

计算机工程与科学 2020年10期
关键词:边缘成功率能耗

童 钊,叶 锋,刘碧篮,邓小妹,梅 晶,刘 宏

(湖南师范大学信息科学与工程学院,湖南 长沙 410012)

1 引言

随着5G网络时代的到来,5G通信技术正在逐步走向标准化,物联网IoT(Internet of Things)[1]、车载网[2]日益广泛地应用于人们的日常生活中。相应地,物联网终端设备、车载网终端设备的数量显著增加。各种终端设备的增多,使得各种数据呈现爆炸式的增长。传统的云计算存储和计算平台虽然能较好地对大数据进行存储、分析与处理,但是随着各种数据的增多,尤其是云中心远端,靠近数据源端的数据激增,再加上用户对数据安全性的要求和对用户服务质量QoS(Quality of Service)要求的提高,传统的以云计算为基础的分析、处理平台面临着巨大的挑战。

云中心通常离用户、终端设备比较远,终端设备产生的实时数据上传到远端云平台上分析、处理,完成之后再将结果沿相同的传输路线返回到终端设备,这一过程会产生一定的传输时延。同时,大量的数据传输也会增加网络带宽的传输负担,使得数据传输效率和处理速率降低。加上传输到云平台的大量任务会使得任务等待队列过长,导致任务的响应时间增长,从而影响了用户的体验质量。并且任务响应时间过长,可能会使得数据受到攻击的概率增大。综上所述,基于传统的云计算的数据处理架构无法很好地满足低延迟、高实时、高可靠的业务需求。为了缓解海量数据传输带来的网络负荷问题和满足用户低延迟、高实时、高可靠的业务请求,2014年国际标准组织[5]提出了一种新兴的计算方式──移动边缘计算MEC(Mobile Edge Computing)[3,4]。Gartner将移动边缘计算定义为“分布式计算拓扑的一部分,其中信息处理位于边缘附近——事物和人在此处生成或消费该信息”[6]。也就是说,将云中心的部分存储、计算资源转移到网络边缘,更靠近数据源的地方,能够更好地满足低延迟、高实时、高可靠的业务请求。

边缘计算提出至今,受到了业界研究学者的广泛关注,不少研究学者对边缘计算展开了深入研究。研究成果表明,边缘计算能够较好地解决云计算不能有效处理资源分配的问题。例如,网络带宽负担过重、延时较长、能耗较高等。但是,由于研究时间不长,很多技术不成熟,考虑问题涉及面也不是很全面。因此,边缘计算的研究仍然存在不少问题等待进一步探索。如目前不少研究并没有考虑数据安全性、计算节点安全性;边缘服务器该如何部署;什么类型的任务该卸载到边缘服务器上执行;以及本地端、边缘服务器端的资源该如何分配;本地端能源有限性等问题。本文着重考虑了能耗和安全性这2个问题,并在此基础上,为了降低系统能耗、更好地满足用户的QoS请求,结合深度强化学习中的Double DQN(Double Deep-Q-Network)算法,在多约束条件下提出了一种有效的资源分配[7]和任务卸载算法DDQNOA(Double DQN Offloading Algorithm)。实验结果表明,与几种经典算法相比,该算法能够提高任务卸载成功率、任务执行成功率,有效降低本地端能耗。为解决MEC环境下的任务卸载和资源分配提供了一种新的思路。

2 相关工作

云计算距今已有十多年的发展历史,其研究、发展历程中最至关重要的一个问题就是任务调度[8 - 10]。在MEC环境中,为了更好地满足用户的QoS请求和提升用户体验的质量,如何高效地进行任务卸载(计算卸载)是目前被广泛研究的热点问题之一。任务卸载是指将在资源有限的终端设备上不能够有效处理的任务上传到指定无线区域内的边缘服务器上执行,任务在边缘服务器上执行完成之后,再将计算结果返回到原来的终端设备的过程。有效的任务卸载与资源分配,既要保证用户的QoS请求,又要最小化系统的能耗,保证服务提供商的利益。因此,该问题是一个典型的NP-hard问题[11]。

目前,MEC研究的任务卸载策略主要考虑了能耗效率、低延迟、高实时、边缘存储等方面的问题。例如,Tao等人[12]为了研究MEC中具有性能保障的能耗问题,针对移动用户对低能耗和低延时的需求,提出了一种MEC中能耗最小化问题,并利用KKT(Karush-Kuhn-Tucker)条件求解优化该问题。数值仿真结果表明,该方法在能源消耗和延迟性能方面优于本地计算和完全卸载方法。为了使系统能源最小化,从而最大化移动服务提供商MSP(Mobile Service Provider)的利润。Wang等人[13]提出了一个统一的MSP性能权衡框架,并利用Lyapunov技术对框架进行了优化,设计了VariedLen算法求解优化该问题。仿真结果表明,该算法可以在保证系统稳定性和低拥塞的前提下,使MSP平均利润达到最优水平。为了节省系统能耗,Guo等人[14]在同时考虑系统通信和计算资源的情况下,提出了一种多用户MEC系统的节能资源配置算法。在该研究中建立了2个高效的计算模型,并在此基础上优化通信和计算资源的分配,利用Johnson’s算法求解资源优化问题,使得2个模型的总体加权和能耗最小化。数值仿真结果表明,该算法明显优于经典的基准算法。同样,为了提高系统的能源效率,在给定任务完成时间约束下,Wang等人[15]提出了CRAN和MEC联合能源最小化和资源分配问题,并将该问题转化为非凸优化问题,利用迭代算法求解该优化问题,使得2种能源加权和最小化。仿真结果表明,该方法能够提高系统性能,节约能源。Zhu等人[16]考虑了一个多移动用户、多异构边缘服务器的MEC场景,在移动设备电池有限和严格的任务完成时间约束下,提出了一个MEC系统具有完成时间感知的能耗最小化问题,并利用2种近似算法求解该优化问题。最终的理论分析和仿真结果表明了该方法的有效性。上述这些方法在一定程度上能够很好地降低MEC系统的能耗,但是这些方法优化目标都比较单一,只考虑了能耗问题,没有考虑任务卸载的效率。为了更好地体现MEC任务卸载框架的性能,任务卸载成功率也是另一个值得考虑的优化目标。

Le等人[17]考虑了一个多用户的MEC卸载系统,目标是最小化用户提交的任务的完成时间。该系统考虑了时分多址和频分多址2种不同的无线信道接入方案,针对每一种接入方案都提出了相应的联合优化问题,并利用二分搜索方法求解相应的优化问题。仿真结果表明,该方法具有较好的卸载性能,能够最小化任务的完成时间。为了更好地满足用户的QoS需求和提高MEC系统的效率,Kan等人[18]同时兼顾了无线资源和MEC服务器的计算资源,在各种不同的任务延迟的约束条件下,提出了一种成本最小化方案,并利用启发式算法进行优化。数值仿真结果表明,该算法能够提高用户的QoS需求。为了最大限度地降低MEC系统任务卸载请求的拒绝率,Li等人[19]在网络资源和计算资源的约束下,设计了一个有效的卸载控制框架,并提出了一种三层启发式算法优化该问题。仿真实验验证了该方法的有效性,能够有效降低任务卸载请求的拒绝率。Liu等人[20]研究了任务卸载到边缘服务器时的延迟和可靠性之间的权衡问题。该问题主要是为了优化任务卸载延迟和任务卸载成功率,作者将该问题构造为一个非凸优化问题,并通过启发式算法求解该问题。数值仿真结果表明,该方法在延迟和可靠性之间取得了很好的均衡。可以得知,这些方法在一定程度上都能够有效地提高MEC系统的性能,但是上述所有的方法都忽视了任务的安全属性和计算节点的安全性,这是有待进一步改进的,因为保证数据的安全至关重要,数据的安全性是一个信息时代不可忽视的问题。

基于对上述工作的考量,本文考虑了一个多用户、多移动用户设备UE(User Equipment)、多异构边缘服务器的MEC场景。为了更好地满足用户的QoS要求,不仅考虑了硬件资源的约束、各UE能源的有限性,还引入了任务的完成时间和安全性约束,并结合具有自适应性的深度强化学习算法,提出了一种多约束条件下的任务卸载和资源分配算法。实验结果表明了该算法的有效性,能够保证用户的QoS请求。

3 系统模型

本文考虑了一个多用户、多UE、单基站BS(Base Station)、多异构边缘服务器的移动边缘计算场景,如图1所示。当有任务生成时,用户的任务请求首先提交到某一UE设备上。然后,根据一定的任务卸载策略判定该任务是否在此UE上执行,也就是判定该任务是否在本地端执行。若根据策略判定该任务能够在此UE上有效执行,那么该任务就不必经无线信道卸载到边缘服务器上执行。反之,任务将从此UE卸载到某一边缘服务器上执行,执行完成之后,结果将被返回到原UE上。

Figure 1 Model of mobile edge computing system图1 移动边缘计算系统的模型

3.1 场景描述

本文考虑的MEC模型中,假设用户的数量为n,用户提交任务请求的时间间隔服从泊松分布[21]。UE的数量为M,用户提交到UE上的任务是相互独立的。边缘服务器的数量为K,UE通过无线信道与边缘服务器相连接。用户提交的任务的属性被定义为taski={idu,idi,subi,di,memi,cpui,deadlinei,seci},其中idu为提交任务i的用户的id;idi表示任务i的id;subi表示任务i的提交时间;di表示任务i的数据量;memi表示任务i请求的内存资源;cpui表示任务i请求的CPU资源;deadlinei表示任务i能够容忍的最大响应时间,任务的响应时间是指任务从提交到完成执行的时间间隔;seci表示任务i的安全性等级。

3.2 通信模型

UE与边缘服务器之间是通过无线信道相连接的,假设gm,k表示某一UE设备m与某一边缘服务器k之间的信道增益,单位为dB,gm,k一般的计算公式为:

gm,k=127+25·lgD

(1)

其中,D表示通信距离,若通信距离不发生变化,则信道增益为常量。假设任务从UE设备m上卸载到边缘服务器k的发射功率为pm,k,当任务卸载时,任务的通信速率定义为:

(2)

其中,B表示UE与边缘服务器之间的无线信道带宽,N表示信道噪声功率密度。

3.3 计算模型

(1)本地计算模型。

本地端的移动UE设备自身具有一定的计算能力,能够处理适量的任务请求,其计算能力用CPU频率来表示,表示为fm,l,l表示本地端。假设用户提交的任务被分配到UE上执行,不卸载到边缘服务器上处理,那么任务i在UE设备m上的处理时间和响应时间分别定义为式(3)和式(4):

(3)

(4)

任务i在UE设备m上的执行能耗表示为:

Ei,m=η·(fm,l)2·di·C

(5)

其中,η表示能量因子,大小取决于CPU芯片工艺,一般设置为10-28。

(2)边缘服务器端计算模型。

当本地设备无法对某些任务进行有效处理时,为了更好地满足用户的QoS需求,此类任务就有必要从UE设备卸载到边缘服务器上执行。边缘服务器k的计算能力定义为fk,e,e表示边缘服务器端,任务i卸载到边缘服务器k上的处理时间表示为:

(6)

任务i卸载到边缘服务器上处理时,存在一个任务上传时间,任务的上传时间定义为:

(7)

由于经边缘服务器处理后,任务的数据量远小于任务处理之前的数据量,且下载速率远高于上传速率,所以,本文不考虑结果从边缘服务器返回到UE的下载时延。

与式(4)同理,任务i在边缘服务器k上的响应时间定义为:

(8)

若任务i卸载到边缘服务器k上处理,此时,UE设备m的能耗仅为任务i卸载时的发射能耗,任务i卸载时的发射能耗定义为:

(9)

3.4 问题描述

本文的优化目标是在提高任务卸载成功率和任务成功执行率的同时降低本地端的能耗开销,且尽量满足用户的QoS请求。QoS指标包括:任务的响应容忍度(也称为deadline)、任务在计算节点上处理的安全性。任务要想成功地在计算节点上执行:首先,要保证任务请求的硬件资源小于计算节点的硬件资源;其次,要考虑各UE设备能源的有限性;最后,要保证任务在计算节点上执行不违背deadline,且计算节点的安全性等级不小于任务所要求的安全性等级。本文中,任务的安全性等级设置分别为低、中、高,且任务属性的安全性等级是随机生成的;由于UE设备为私人设备,因此,将UE设备的安全性等级全设置为高;本文考虑的MEC模型中,边缘端共有3种类型的边缘服务器,其安全性等级分别为高、中、低。

假设总任务量为x,任务的卸载比例为β,那么卸载的任务数量为βx。假设成功卸载的任务数量为y,在本地端成功执行的任务数量为z,那么任务的卸载成功率和任务的成功执行率分别定义为式(10)和式(11):

(10)

(11)

本地端的总能耗定义为式(12):

(12)

当任务在本地端执行时,没有通信能耗,通信能耗即为0;当任务卸载到边缘服务器端执行时,就只有通信能耗,在UE上的执行能耗即为0。

综上,本文的优化目标定义为:

maxosr、serand minEl

s.t.memi≤MEMcn

cpui≤CPUcn

seci≤seccn

(13)

其中,MEMcn、CPUcn分别为计算节点的内存资源、CPU资源,seccn表示计算节点的安全性等级。由于在MEC模型中考虑的任务等待执行是非抢占的,先到达任务等待队列的任务先执行,且每个计算节点执行的是单任务。因此,本文默认单任务请求的硬件资源总是不大于计算节点的硬件资源的。

4 算法设计

4.1 深度强化学习

深度强化学习DRL(Deep Reinforcement Learning)[22,23]近些年在人工智能领域受到了广泛关注,是人工智能领域最受欢迎的学习方法之一。深度强化学习做为一种自适应学习方法,是深度学习DL(Deep Learning)[24]与强化学习RL(Reinforcement Learning)[25]相结合的一种新型的学习方式。DL是一种机器学习方法,源于对人工神经网络的研究,是一种含有多个隐藏层的多层感知器的DL结构。DL通过组合低层特征形成更加抽象的高层特征表示属性类别或特征,以发现数据的分布式特征表示。因此,DL能够很好地拟合高维数据。RL也是机器学习的一种,用于描述智能体在与外部环境的交互过程中通过学习策略以达到回报最大化。DRL方法充分发挥了DL、RL各自的优势,能够有效地处理生活中高维且连续的问题,DRL的原理如图2所示。

Figure 2 Principle of DRL图2 DRL原理图

从图2中也可以了解到,DRL方法主要是通过DL来拟合场景的状态,并用RL来进行决策,且智能体不断地与外部环境进行交互,最终实现回报最大化。

4.2 Double DQN算法

Double DQN算法[26]是DRL方法中的一种具体算法,该算法是用卷积神经网络CNN(Convolutional Neural Network)来充当DRL模型中的深度学习结构,也就是用CNN拟合场景的高维状态。一般称Double DQN算法中的网络结构为Q网络,然而在Double DQN算法中包含2个结构完全相同的Q网络,一个称为当前Q网络,另一个称为目标Q网络。Double DQN算法的另一个结合体是RL方法中最为经典的Q-learning算法[27,28],Q-learning算法能够很好地求解连续决策问题,其通过外部环境的反馈值不断地调整策略,最终使回报达到最大化。Double DQN算法的关键技术有:值函数逼近(高维状态拟合)、经验回放、双Q网络等。这些关键技术能够提高算法的性能。

(1)值函数逼近。Q-learning算法的决策是基于Markov决策[29]过程的,Markov决策过程是离散化的,然而现实生活中大多数问题是连续的。具体方法为,假设当前环境的一组状态集S为Q网络的输入,经过网络训练之后,最后相应的输出为一组动作Q值。

(2)经验回放。经验回放是Double DQN算法的一项关键技术,能够改善经验样本相关性引起的振荡和发散问题。经验回放是指在经验回放池中随机抽取小批量的经验样本以获取目标动作Q值。经验回放池由一个个经验元组{st,ɑt,rt,st+1}构成,st表示当前环境在t时刻的状态;ɑt表示在t时刻做出的动作决策;rt表示在做出决策之后,外部环境所给出的反馈值,反馈值有积极的、有消极的,这将会影响下一决策;st+1是指t时刻的下一时刻的环境状态。当然,经验回放池的容量是有限的,当经验回放池将要溢出时,则会删除最老的经验样本。

(3)双Q网络。双Q网络作为Double DQN算法最核心的技术,不仅能减少当前Q值与目标Q值的相关性,还能通过解耦更新目标Q值的动作选择和目标Q值计算这2步,避免对动作值过估计,加快算法收敛。经研究发现,无论是Q-learning算法还是DQN算法[30],有时都会获得不切实际的高动作值。而Double DQN算法能够消除过估计的具体原理是:目标Q值的计算不同于DQN算法在目标Q网络中找每一动作对应的最大Q值,而是先在当前Q网络中找出最大Q值对应的动作,然后再利用这个选出的动作在目标Q网络中计算目标Q值。Double DQN算法中的2个Q网络具有完全相同的结构,但是目标Q网络不必更新网络参数,只需每隔特定时间步从当前Q网络复制其网络参数。目标Q值的更新公式为:

yt=rt+γ*Q′(st+1,argmaxaQ(st+1,a;θ);θ′)

(14)

其中,γ表示折扣因子;argmaxaQ(st+1,ɑ;θ)表示当前Q网络最大Q值所对应的动作;θ是当前Q网络的网络参数;θ′是目标Q的网络参数。

Double DQN算法训练的实质是在经过大量训练之后使得当前Q值无限接近于目标Q值,使这两者之间的误差趋于稳定且接近于0。此时,训练就基本结束,算法也就达到了最终收敛的状态。误差函数(损失函数)可以定义为:

Loss(θ)=E[(yt-Q(st,a;θ))]2

(15)

其中,Q(st,ɑ;θ)为当前Q值。误差函数基于残差模型,为目标Q值与当前Q值之差的平方。训练时,依据Loss的值,通过误差方向传播的方式来不断更新当前Q网络的参数。经过反复学习和训练,最终使得Loss趋于稳定且最小化。

Double DQN算法的结构如图3所示。

Figure 3 Structure of Double DQN图3 Double DQN结构图

Double DQN算法的伪代码如算法1所示。

算法1Double DQN算法

输入:状态值。

输出:动作值。

step1Initialize replay memoryRto capacityRC;

step2Initialize action-value functionQwith random weightsθ;

step3Initialize target action-value functionQ′ with weightsθ′;

step4Forepisode=1,Mdo

step5Initialize sequences1={x1} and preprocessed sequence Ф1=Ф(s1);

step6Fort=1,Tdo

step7With probabilityεselect a random actionat;

step8otherwise selectat=argmaxaQ(Ф(st),a;θ);

step9Execute actionatin emulator and observe rewardrtand imagext+1;

step10Setst+1 =st,ɑt,xt+1and preprocess Фt+1=Ф(st+1);

step11Store transition (Фt,ɑt,rt,Фt+1) inR;

step12Sample random minibatch of transitions (Фj,αj,rj,Фj+1) fromR;

step13Executey=Q′(sj+1,argmaxaQ(sj+1,a,θ);θ′);

step15Perform a gradient descent step on (yj-Q(Фj,αj;θ))2with respect to the network parametersθ;

step16Everyζsteps resetQ′ =Q;

step17EndFor

step18EndFor

4.3 Double DQN任务卸载算法设计

本文的核心是运用深度强化学习方式中的一种具体算法Double DQN解决MEC环境中的任务卸载和资源分配问题,本文将这种算法命名为DDQNOA。该算法主要是通过深度学习架构去拟合环境的状态,然后基于强化学习在每一种状态下做出合理决策,选出合理动作,也就是为到达任务等待队列的每一个任务做出合理决策。确定每一个任务是否需要卸载,若需要,确定任务卸载到哪一个边缘服务器;若不需要,确定任务分配到哪一台UE设备上处理。每做出一次决策,就会获得一个来自环境的反馈奖励值,该值用来指导Agent的学习,使Agent朝着回报最大化的方向探索,最终提升优化目标的优化效果。DDQNOA算法的伪代码如算法2所示:

算法2DDQNOA算法

输入:所有计算节点。

输出:任务卸载成功率,任务成功执行率,UE端总能耗。

step1Initialize the MEC environment;

step2Initialize computing node resources;

step3Initialize parameters settings;

step4Wait for users to submit tasks;

step5Forone task arrives in task waiting queuedo

step6Use Double DQN algorithm to select a computing node for the task;

step7Ifthe selected computing node is UEmthen

step8Task is processed on the local device UEm;

step9Calculate task response time and UEmenergy consumption;

step10End

step11Elseoffload the task to the edge serverkto process;

step12Calculate task response time, communication time and transmission energy consumption;

step13End

step14Calculate the reward value to the agent according to formula (16);

step15Update the optimal strategy of the DDQNOA algorithm;

step16EndFor

step17Returnstep 5

(2)动作空间。动作空间是指在状态S下,Agent在做出决策时所能够选取的所有动作的集合。具体到本文考虑的MEC模型中,是指在决策时能够选取的所有计算节点组成的集合。那么动作集可以表示为:A={UE1,UE2,…,UEm,ES1,…,ESk},其中,UEm表示UE设备m,ESk表示边缘服务器k。假设某一计算节点被选中,那么其相对应的动作值为1,未被选中的计算节点对应的动作值就为0。假设任务在UE1上执行,此时动作空间就可表示为:A=(1,0,…,0)。

(3)奖励值函数。奖励值的合理设计对算法的性能起着至关重要的作用,奖励值用于评估当前状态下Agent所选取动作的优劣。显然,一个训练有素的神经网络应该具有评估积极情况的能力,能对合理的决策给予肯定,最终使Agent能够根据用户的QoS请求合理地卸载任务、分配资源。本文中,奖励值函数可以表示为:

(16)

综上,奖励值这样设计较为合理。

5 仿真实验及性能分析

5.1 仿真环境

本文的仿真实验是在内存为8 GB、CPU型号为Intel Core i5、频率为2.4 GHz,操作系统为Windows 10的环境下进行。集成开发环境为Python 3.6,且在该环境下调用了Google的tensorflow 1.13类库作为DDQNOA算法的深度学习框架。

5.2 实验参数

本文仿真实验,训练和测试所使用的任务集是随机生成的、大小为2 MB的随机均匀分布的任务集合,且MEC模型中的相关参数的设计都与文献[12,14,17]中参数的设计大致相似。实验参数和超参数的设置如表1所示。

Table 1 Experimental parameters表1 实验参数

5.3 对比算法

为了评估和验证本文所提出的任务卸载算法的性能,引入了几种经典算法进行对比。第1种是随机卸载算法Random。Random算法是指将任务随机卸载到边缘服务器上处理,该算法容易理解,且易于实现,对解决任务调度等问题有一定的效果。第2种是轮询卸载算法RR(Round-Robin),RR算法是指将要卸载的任务依次按顺序卸载到边缘服务器上处理。第3种是基于DQN的任务卸载算法,该算法也是本文任务卸载算法重点要对比的算法。与Double DQN算法一样,DQN算法同样是深度强化学习的一种具体算法,其在解决实际问题时能够取得不错的效果,已在求解云环境中的任务调度问题上有了广泛的应用[9,31]。

5.4 实验结果及分析

(1) 收敛性。

为了验证本文算法在解决MEC环境中任务卸载与资源分配问题上的可行性与算法的性能,首先进行了收敛性对比实验。通过随机生成的50 000个任务对基于DQN的任务卸载算法和DDQNOA算法进行了充分的训练,训练结果如图4所示。由图4可知,这2种算法均可以收敛,证明了它们用于解决该问题是可行的。通过对比发现,DDQNOA算法较DQN算法能够更早地收敛,这主要是由DDQNOA算法策略所决定的,DDQNOA算法通过解耦目标Q值的计算与解耦目标Q值动作的选择,解决了在决策时存在的对动作值的过高估计的问题,加快了算法收敛。

Figure 4 Convergence comparison of algorithms 图4 算法收敛性比较

(2) 任务卸载对比实验。

为了验证本文算法的性能,基于不同数量的任务集,对各种算法的任务卸载情况、任务卸载成功率进行了分析,任务的卸载比例和任务卸载成功率如图5和图6所示。

Figure 5 Ratio of task offloading图5 任务卸载比例

由图5可知,DDQNOA算法将任务卸载到边缘服务器上执行的比例明显高于其它几种算法的,这是由于边缘服务器端的计算节点的计算能力较UE设备的更为强大。为了保证用户的QoS请求,DDQNOA算法能够根据QoS请求和UE端、边缘服务器端的资源情况,合理地分配任务在UE端和在边缘服务器端的执行比例。根据任务卸载比例图,也能很好地与rewards的设计相对应起来。

Figure 6 Successed rate of task offloading图6 任务卸载成功率

由图6可知,DDQNOA算法的卸载成功率也明显高于其它算法的,表明了DDQNOA算法能同时兼顾任务卸载比例与卸载成功率,这很好地体现了DDQNOA算法的性能。

(3) 任务执行情况对比实验。

整个MEC模型中,成功执行的任务包含2个

部分,一部分是卸载到边缘服务器上能够成功执行的任务,另一部分是分配到UE设备上能够成功执行的任务。任务总的执行情况如图7所示,可以得知,DDQNOA算法的任务成功执行率高于其它几种算法的。由任务的成功执行率也能够看出本文算法的性能优于其它几种算法的。

Figure 7 Rate of task successful executed图7 任务成功执行率

(4) UE端能耗实验。

为了对比不同算法UE端的总能耗情况,分别测试了各算法在不同任务数量下UE端的总能耗。由图8可知,使用DDQNOA算法进行任务卸载与资源分配时,UE端的总能耗总是最低的。然而,本文的主要目的是在保证任务卸载成功率和任务成功执行率的同时,降低UE端的总能耗。结合图6和图7可知,在不同任务数量的测试集上,DDQNOA算法总是具有更高的任务卸载成功率和任务执行成功率,且UE端具有更低的总能耗。这不仅表明了DDQNOA算法有着良好的稳定性,还充分体现了DDQNOA算法较其它对比算法具有更好的性能。

Figure 8 Total energy consumption of UE图8 UE端总能耗

根据所有仿真实验结果,经过分析得知,本文提出的DDQNOA算法在具有多约束条件的MEC环境中,能够有效地求解任务卸载与资源分配问题,在提升任务卸载成功率、任务成功执行率的同时降低了本地端的能耗,更好地满足了用户的QoS需求。

6 结束语

针对目前大多数MEC研究中对数据安全性问题的忽视,本文考虑了任务处理时数据的安全性,结合Double DQN算法,在多约束条件下提出了一种高效的任务卸载与资源分配算法——DDQNOA。实验结果表明,与几种经典算法相比较,该算法能够满足用户的QoS需求,在提高任务卸载成功率和任务成功执行率的同时,确保本地端具有更低的能耗。

在今后的研究中,将会考虑更为复杂的MEC场景。例如,扩大边缘服务器端的规模、多信道通信;将云计算与MEC相结合,综合考虑云边协同下的任务卸载与资源分配等。

猜你喜欢

边缘成功率能耗
120t转炉降低工序能耗生产实践
成功率超70%!一张冬棚赚40万~50万元,罗氏沼虾今年将有多火?
能耗双控下,涨价潮再度来袭!
探讨如何设计零能耗住宅
如何提高试管婴儿成功率
日本先进的“零能耗住宅”
如何提高试管婴儿成功率
一张图看懂边缘计算
研究发现:面试排第四,成功率最高等4则
在边缘寻找自我