«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (8): 37-44  DOI: 10.19678/j.issn.1000-3428.0058730
0

引用本文  

杨天, 杨军. MEC中卸载决策与资源分配的深度强化学习方法[J]. 计算机工程, 2021, 47(8), 37-44. DOI: 10.19678/j.issn.1000-3428.0058730.
YANG Tian, YANG Jun. Deep Reinforcement Learning Method of Offloading Decision and Resource Allocation in MEC[J]. Computer Engineering, 2021, 47(8), 37-44. DOI: 10.19678/j.issn.1000-3428.0058730.

基金项目

宁夏自然科学基金“基于边缘计算的大规模无线传感器网络关键技术研究及在特色农业中的应用”(2020AAC03036)

通信作者

杨军(通信作者), 教授

作者简介

杨天(1995-), 男, 硕士研究生, 主研方向为移动边缘计算、普适计算

文章历史

收稿日期:2020-06-23
修回日期:2020-08-20
MEC中卸载决策与资源分配的深度强化学习方法
杨天 , 杨军     
宁夏大学 信息工程学院, 宁夏 银川 750021
摘要:在移动边缘计算(MEC)服务器计算资源有限且计算任务具有时延约束的情况下,为缩短任务完成时间并降低终端能耗,提出针对卸载决策与资源分配的联合优化方法。在多用户多服务器MEC环境下设计一种新的目标函数以构建数学模型,结合深度强化学习理论提出改进的Nature Deep Q-learning算法Based DQN。实验结果表明,在不同目标函数中,Based DQN算法的优化效果优于全部本地卸载算法、随机卸载与分配算法、最小完成时间算法和多平台卸载智能资源分配算法,且在新目标函数下优势更为突出,验证了所提优化方法的有效性。
关键词移动边缘计算    计算资源    时延约束    卸载决策    资源分配    深度强化学习    
Deep Reinforcement Learning Method of Offloading Decision and Resource Allocation in MEC
YANG Tian , YANG Jun     
School of Information Engineering, Ningxia University, Yinchuan, Ningxia 750021, China
Abstract: The computing resources of Mobile Edge Computing(MEC) servers are limited while the computing tasks have delay constraints. To reduce the completion time of computing tasks and the terminal energy consumption, a joint optimization method for offloading decision and resource allocation is proposed. In the multi-user and multi-server MEC environment, a new objective function is designed to build the mathematical model. Based on the model and the deep reinforcement learning theory, an improved Nature Deep Q-learning algorithm(Based DQN) is proposed. The experimental results show that among the various objective functions, the new objective function provides the Based DQN algorithm with more eminent advantages in optimization performance over all the local offloading algorithms, random offloading and allocation algorithms, Minimum Complete Time algorithms(MCT) and multi-platform offloading intelligent resource allocation algorithms. The effectiveness of the objective function and the algorithm is verified.
Key words: Mobile Edge Computing(MEC)    computing resource    delay constraint    offloading decision    resource allocation    Deep Reinforcement Learning(DRL)    

开放科学(资源服务)标志码(OSID):

0 概述

目前,智能化终端已经成为现代生活中不可缺少的一部分[1-2],同时随着5G通信技术的发展,人们开始在智能终端设备上开展高清视频直播、增强现实等新型业务。然而,由于受到计算能力和电池容量的限制,终端设备无法高效地满足大量新型计算任务低时延、高计算的基本要求[3],而若将计算密集型任务卸载至云端,则会增加传输的延迟和额外的网络负载[4-5]。为此,人们提出移动边缘计算(Mobile Edge Computing,MEC)[6-7]技术,将云端的计算与存储能力迁移至网络边缘,通过边缘进行任务计算,从而降低终端设备能耗与执行时延,提高服务质量[8]

在MEC环境中,以卸载决策和资源分配为主的计算卸载技术是学者们重点研究的对象[9]。目前相关研究主要针对多用户单MEC服务器场景,且多数没有同时考虑计算资源约束与时延约束[10-17],这将导致不能更准确地模拟真实的卸载情况,如在自动驾驶、紧急救援等场景下,需要在有限资源下完成时延敏感型任务的计算。本文将卸载场景转变为多用户多MEC服务器场景,同时考虑计算资源有限与时延约束的情况,结合深度强化学习理论和一种新型目标函数,提出卸载决策与资源分配的联合优化方法,从而在满足时延约束的情况下缩短计算任务完成时间并降低终端能耗。

1 相关研究

近年来,国内外学者已对MEC计算卸载技术进行了深入的研究。文献[10]将可再生绿色能源引入到MEC系统中,将执行时延与卸载失败率作为优化目标,基于Lyapunov优化提出一种卸载决策与资源分配算法,但该系统仅适用于单用户卸载情况。文献[11]根据任务剩余完成时间进行边缘服务器的计算切换来缩短任务完成时间,以提高任务的卸载效率。文献[12]结合K近邻(K Nearest Neighbor,KNN)算法与强化学习中的Q-learning算法,提出一种多平台卸载智能资源分配方法。该方法首先通过KNN算法选择卸载节点,然后通过Q-learning算法优化资源分配,以降低系统时延成本。文献[11-12]虽然研究多用户卸载问题,但更关注于时延的优化而忽略了设备能耗的优化。文献[13]为了在计算依赖任务时控制超出时延约束的任务比例,提出一种最优资源管理策略以最小化移动设备能耗,但该模型没有考虑边缘设备的计算资源约束。文献[14]在边缘节点计算资源受限的情况下提出基于非合作博弈论的传输功率分配算法,获得了较好的计算卸载性能。文献[15]针对多用户完全卸载决策提出一种基于博弈论的任务卸载算法。该算法将卸载博弈模型转换为势博弈模型,通过基于有限改进性质的分布式博弈方法寻找纳什均衡解,以同时优化计算时延和设备能耗。文献[16]提出一种基于深度神经网络(Deep Neural Network,DNN)的优化算法。该算法首先利用序列二次规划(Sequential Quadratic Programming,SQP)法得到优化结果,然后利用优化结果训练DNN,不断更新网络权值,直到训练完成。实验结果表明,训练完成的DNN可以很好地逼近SQP的优化结果且精度很高,运行时间也大幅缩短。文献[14-16]虽然考虑了计算资源约束,但提出的系统模型均建立在单个MEC服务器上,没有对多个MEC服务器的计算资源受限问题进行研究。文献[17]建立了一个同时考虑终端、边缘节点和云计算节点的半马尔科夫决策过程资源分配模型,并提出一种寻找最优资源分配方案的算法以降低能耗和时延,但该研究没有考虑任务计算的时延约束。

本文将多用户单MEC服务器卸载场景转变为多用户多MEC服务器卸载场景,同时考虑服务器计算资源约束与任务时延约束,研究卸载决策与资源分配的联合优化方法,以期使系统在满足时延约束时缩短完成时间并降低终端能耗。针对研究问题设计一种新的目标函数并数学建模,利用结合深度学习感知能力与强化学习决策能力的深度强化学习方法,基于Nature Deep Q-learning(Nature DQN)算法并根据问题模型进行部分改进,提出Based DQN算法,并将该算法与全部本地卸载算法ALO、随机卸载与分配算法ROA、最小完成时间(Minimum Complete Time,MCT)算法[11]和多平台卸载智能资源分配算法[12]进行实验对比,同时对比不同目标函数下的优化结果。

2 系统模型

本文系统模型场景为多用户多服务器应用场景,如图 1所示,其中有N台终端设备与M台MEC服务器,并通过无线通信链路连接MEC服务器计算卸载终端设备的任务数据。本文假设每个终端设备都可以对自己的执行任务进行卸载计算或本地计算,卸载时任务只能卸载到一台MEC服务器上进行计算,并且每个终端设备处于无线连接的范围之内。而每台MEC服务器的计算能力有限,不能同时接受每一个终端的卸载请求。终端设备的集合为U={1,2,…,i,…,N},MEC服务器的集合为S={1,2,…,j,…,M},所有任务的集合为R。模型中每个终端设备i都有一个待处理的计算密集型任务Ri,具体包括计算任务Ri所需的数据Di(代码和参数)、计算任务Ri所需的CPU工作量Wi以及任务Ri的完成时延约束ηi,即 ${R_i} \buildrel \Delta \over = ({D_i}, {W_i}, {\eta _i})$

Download:
图 1 系统模型场景 Fig. 1 Scene of system model

以向量X = [x1, x2,…,xi,…,xN]表示每个Ri的卸载决策。其中,xi∈{0, 1, …, j, …, M}, x=0表示当前为本地卸载,其余表示将Ri卸载至第j台MEC服务器。

2.1 计算模型

Ri在本地处理,用TiL表示Ri本地执行的时间,具体定义如式(1)所示。

$T_i^{\rm{L}} = \frac{{{W_i}}}{{f_i^{\rm{L}}}} $ (1)

其中:工作量Wi具体为完成Ri所需的CPU周期总数;fiL表示终端设备i本地的计算能力,即每秒所执行的CPU周期数。

EiL表示Ri本地执行的设备能耗,定义如式(2)所示。

$E_i^{\rm{L}} = {W_i} \times {J_i} $ (2)

其中:Ji为终端设备i计算每单位CPU周期的能耗,根据文献[18],Ji= (fiL)2 × 10-27

Ri在边缘处理,Ri边缘执行下的时延TiO与设备能耗EiO应分别从数据上传、数据处理和数据回传3个部分进行计算,具体如下:

1)终端设备iRi的数据通过无线信道上传至相应的MEC服务器。

TiK为设备i上传Ri数据的时间,定义如式(3)所示。

$T_i^K = \frac{{{D_i}}}{{{v^{\rm{K}}}}} $ (3)

其中:DiRi的数据大小;vK为系统模型中的数据上传速率,即每秒上传的数据量。则终端设备i上传数据的能耗EiK如式(4)所示。

$E_i^{\rm{K}} = T_i^{\rm{K}} \times {p^{\rm{K}}} $ (4)

其中:pK为终端设备i的上行传输功率。

2)MEC在接收到处理数据后分配计算资源进行计算。

TiC表示卸载数据在MEC服务器中计算的时间,定义如式(5)所示。

$T_i^C = \frac{{{W_i}}}{{{f_{ij}}^{\rm{O}}}} $ (5)

其中: ${{{f_{ij}}^{\rm{O}}}}$为第j台MEC服务器为Ri卸载执行所分配的计算资源,即每秒所执行的CPU周期数。需要注意的是,当Ri卸载至本地或其他MEC服务器上时, ${{{f_{ij}}^{\rm{O}}}}$为零且不能计算式(5)并作为模型中的约束条件,即:

${f_{ij}}^{\rm{O}} = 0, {x_i} \ne j $ (6)

此时,终端设备i没有计算任务而处于等待状态并产生空闲能耗,设piI为终端设备i的空闲功率,则卸载计算下终端设备i的空闲能耗EiC为:

$E_i^{\rm{C}} = T_i^{\rm{C}} \times p_i^{\rm{I}} $ (7)

3)MEC服务器将计算结果返回给终端设备i

根据文献[19]可知,回传时计算结果较小且下行速率较高。因此,本文忽略终端设备接收时的时延与能耗。则Ri边缘执行下的时延TiO为传输时延TiK与MEC服务器计算时延TiC之和,即:

$T_i^{\rm{O}} = T_i^{\rm{K}} + T_i^{\rm{C}} $ (8)

Ri边缘执行下的设备能耗EiO为设备i的上传能耗EiK与设备i等待Ri在MEC服务器上计算完成的空闲能耗EiC之和,即:

$E_i^{\rm{O}} = E_i^{\rm{K}} + E_i^{\rm{C}} $ (9)

综上所述,终端设备i中任务Ri整个计算过程的时延Ti和能耗Ei分别为:

${T_i} = \left\{ \begin{array}{l} T_i^{\rm{L}}, {x_i} = 0\\ T_i^{\rm{O}}, {x_i} \ne 0 \end{array} \right. $ (10)
${E_i} = \left\{ \begin{array}{l} E_i^{\rm{L}}, {x_i} = 0\\ E_i^{\rm{O}}, {x_i} \ne 0 \end{array} \right. $ (11)

需要注意的是,$ {T}_{i} $$ {f}_{ij}^{\mathrm{O}} $应满足式(12)和式(13)所示的限制条件。

$ {T}_{i}\le {\eta }_{i} $ (12)
$ \sum\limits_{i=1}^{N}{f}_{ij}^{\mathrm{O}}\le {F}_{j} $ (13)

其中:Ri的时延约束$ {\eta }_{i} $参照文献[20],为计算能力是1.4 GHz并根据式(1)计算结果的2倍;$ {F}_{j} $为第j台MEC服务器的整体计算资源,即每个卸载至第j台MEC服务器的Ri所分配的计算资源总和不应超过$ {F}_{j} $

2.2 问题模型

本文的研究目的是在多用户多MEC服务器场景下,考虑计算资源有限且计算任务具有时延约束的情况,设计联合优化系统的卸载决策和资源分配方案,使得所有计算任务在满足时延约束下缩短完成时间并最小化所有终端设备的能耗,同时延长终端设备的使用时间。因此,系统目标函数G定义如式(14)所示。

$ G=\sum\limits_{i=1}^{N}{E}_{i}+10\times \sum\limits_{i=1}^{N}\frac{{T}_{i}}{{\eta }_{i}} $ (14)

其中:$ \frac{{T}_{i}}{{\eta }_{i}} $Ri完成时间与时延约束的比值。根据仿真实验的计算结果可知,$ \sum\limits_{i=1}^{N}{E}_{i} $$ \sum\limits_{i=1}^{N}\frac{{T}_{i}}{{\eta }_{i}} $相差一个十进制数量级。因此,为保证两者数量级相同并共同优化,将$ \sum\limits_{i=1}^{N}\frac{{T}_{i}}{{\eta }_{i}} $乘以一个系数10。目标函数G通过求解最佳的卸载决策和资源分配方案,使得模型中终端设备的整体能耗与任务执行时间和时延约束比值最小化,以达到本文的研究目的。整体问题模型如下:

$ \underset{\boldsymbol{X}, \boldsymbol{Y}}{\mathrm{m}\mathrm{i}\mathrm{n}}\;G $ (15)
$ \boldsymbol{X}=[{x}_{1}, {x}_{2}, \cdots , {x}_{i}, \cdots , {x}_{N}] $ (16)
$ \boldsymbol{Y}=[{y}_{1}, {y}_{2}, \cdots , {y}_{i}, \cdots , {y}_{N}] $ (17)
$ {y}_{i}=\left\{\begin{array}{l}{f}_{i}^{\mathrm{L}}, {x}_{i}=0\\ {f}_{ij}^{\mathrm{O}}, {x}_{i}=j\end{array}\right. $ (18)
$ \mathrm{s}.\mathrm{t}. \\ \mathrm{C}1:{x}_{i}\in \{\mathrm{0, 1}, \cdots , j, \cdots , M\}, \forall i\in U \\ \mathrm{C}2:{y}_{i} > \mathrm{ }0, \forall i\in U \\ \mathrm{C}3:{f}_{ij}^{\mathrm{O}}=0, {x}_{i}\ne j \\ \mathrm{C}4:{T}_{i}\le {\eta }_{i}, \forall i\in U \\ \mathrm{C}5:\sum\limits_{i=1}^{N}{f}_{ij}^{\mathrm{O}}\le {F}_{j}, \forall j\in S $

其中:$ \boldsymbol{X} $为任务卸载决策向量;$ \boldsymbol{Y} $为计算资源分配向量;限制条件C1~C3表示每个任务Ri只能卸载到本地或其中一台MEC服务器上进行计算;C4表示任务完成时延的约束;C5表示分配的计算资源应满足的限制约束。

3 卸载决策与资源分配的联合优化方法

在上文建立的问题模型下,考虑采用结合强化学习与深度学习的深度强化学习方法进行问题求解,一方面是因为深度强化学习中的强化学习理论以“试错”的方式让智能体在与环境交互的过程中通过获得奖励来指导行为以改善决策,这适用于本文模型中任务卸载决策与计算资源分配的联合优化,另一方面是因为引入深度学习的深度强化学习方法可避免状态空间、动作空间过大而带来的存储困难问题。因此,下文将结合系统模型,首先设计系统状态(State)、系统动作(Action)、奖励函数(Reward)3个要素,然后对深度强化学习算法中的Nature DQN算法进行部分改进,提出一种基于深度强化学习的卸载决策与资源分配联合优化方法Based DQN,使得目标函数值G最小。

3.1 系统状态、动作与奖励函数设计

为联合优化卸载决策与资源分配方案以最小化目标函数值,令系统状态$ \boldsymbol{s} $包括卸载决策向量$ \boldsymbol{X} $、计算资源分配向量$ \boldsymbol{Y} $、剩余计算资源向量$ \boldsymbol{Z} $G,如式(19)所示。

$ \boldsymbol{s}=[\boldsymbol{X}, G, \boldsymbol{Z}, \boldsymbol{Y}] $ (19)

其中,$ \boldsymbol{Z}=[{z}_{1}, {z}_{2}, \cdots , {z}_{j}, \cdots , {z}_{M}] $$ {z}_{j} $表示为第j台MEC服务器所剩的计算资源:

$ {z}_{j}={F}_{j}-\sum\limits_{i=1}^{N}{f}_{ij}^{\mathrm{O}} $ (20)

初始化时,系统状态为本地卸载状态,即$ \boldsymbol{X} $为零向量,$ \boldsymbol{Y} $中每个任务所分配的计算资源为$ {f}_{i}^{\mathrm{L}} $G为全部本地卸载下的计算值,$ \boldsymbol{Z} $中每个$ {z}_{j}={F}_{j} $

系统动作$ \boldsymbol{a} $应确定对哪一项任务进行怎样的卸载决策与计算资源分配,即对终端设备i下的任务Ri选择卸载与资源分配方案,调整系统状态,如式(21)所示。

$ \boldsymbol{a}=[i, \lambda , \psi ] $ (21)

其中:$ \lambda $Ri的卸载方案,$ \lambda \in ${0,1,…,j,…,M};$ \psi $Ri的计算资源分配方案。需要注意的是,当$ \lambda =0 $时,$ \psi ={f}_{i}^{\mathrm{L}} $

奖励函数$ r $应关联目标函数,具体定义如式(22)所示。

$ r=\frac{G-G\text{'}}{{G}^{\mathrm{L}}} $ (22)

其中:$ G $为当前t时刻状态$ {s}_{t} $下的目标函数值;$ G\text{'} $$ {s}_{t} $采取动作$ {a}_{t} $到下一状态$ {s}_{t+1} $下的目标函数值,两者分别通过各自状态中的卸载决策向量与资源分配向量计算出相应的时延与能耗后,再按照式(14)进行计算;$ {G}^{\mathrm{L}} $为全部本地卸载下的计算值,当$ G\text{'} $结果更优时($ G > G\text{'} $)获得正奖励,即在状态$ {s}_{t} $下采取动作$ {a}_{t} $能够获得更优的目标函数值,反之奖励为非正值。

3.2 基于Nature DQN算法的联合优化

Nature DQN是在Q-Learning算法的基础上演变而来的。在Q-learning算法中,智能体在t时刻下观察环境中的状态$ {s}_{t} $,根据概率以随机或者Q表的方式选择动作$ {a}_{t} $执行,改变到状态$ {s}_{t+1} $并获得奖励$ {r}_{t} $,通过式(23)更新Q表与当前状态,并循环此学习过程,收敛于最大的Q函数Q*,得到最优策略。

$ \begin{array}{l}Q\left({s}_{t}, {a}_{t}\right)=Q\left({s}_{t}, {a}_{t}\right)+\\ \delta \times \left[{r}_{t}+\gamma \times \mathrm{m}\mathrm{a}{\mathrm{x}}_{{a}_{t+1}}\left({s}_{t+1}, {a}_{t+1}\right)-Q\left({s}_{t}, {a}_{t}\right)\right]\end{array} $ (23)

其中:$ \delta $是学习率;$ \gamma $是折扣系数。

相较于Q-learning算法,Nature DQN算法不同点在于其Q值不是直接通过系统状态和系统动作计算,而是通过Q网络(神经网络)进行计算,即期望神经网络拟合Q表,如式(24)如示。以神经网络进行拟合,可以应对随着状态、动作维数的增大而带来的Q表存储困难问题,如在本文所提的状态与动作中,随着NM的增加,自身的组合数量庞大,Q表将难以进行对应Q值的存储。

$ Q\left({s}_{t}, {a}_{t};\theta \right)\approx {Q}^{\mathrm{*}}\left({s}_{t}, {a}_{t}\right) $ (24)

其中:$ \theta $为神经网络的参数。Nature DQN算法中使用了2个结构相同但$ \theta $不同的Q网络(当前网络$ Q $与目标网络$ Q\text{'} $),当前网络$ Q $进行动作选择并更新$ \theta $,目标网络$ Q\text{'} $计算目标Q值。目标网络$ Q\text{'} $中的参数$ \theta \text{'} $不需要迭代更新,而是每隔一段时间复制$ \theta $进行延迟更新,以减少目标Q值和当前Q值相关性,使算法更好地收敛。

此外,Nature DQN采用经验回放训练强化学习的学习过程,即将$ {s}_{t} $$ {a}_{t} $$ {r}_{t} $$ {s}_{t+1} $、done(判断学习是否结束的布尔值)五元组存储到一个经验池中,通过随机抽样进行学习,减少样本之间的相关性,更好地训练神经网络。

结合问题模型,本文根据约束条件C5,在原始Nature DQN算法的动作选择上增加了$ {a}_{t} $$ \psi $是否满足计算资源约束的判断,筛选有效的执行动作,以提高学习效率。具体算法如下:

算法1  动作筛选算法(AS)

输入  $ {s}_{t} $$ {a}_{t} $

输出  动作合理判断布尔值bool

1.bool=False//初始化

2.if $ \mathrm{\lambda } $==0 then//若Ri选择在本地执行

3.bool=True//动作允许执行

4.elif $ \mathrm{\lambda }!=0 $ and xi==$ \mathrm{\lambda } $ then

5.//若Ri选择在原卸载位置执行

6.if $ {\mathrm{y}}_{\mathrm{i}} $+$ {\mathrm{z}}_{\mathrm{\lambda }} $$ \mathrm{\psi } $ then

7.//Ri$ \mathrm{\lambda } $服务器上原分配的计算资源$ {\mathrm{y}}_{\mathrm{i}} $与当前$ \mathrm{\lambda } $剩余的

//计算资源$ {\mathrm{z}}_{\mathrm{\lambda }} $之和大于等于$ \mathrm{\psi } $,即在$ {\mathrm{z}}_{\mathrm{\lambda }}\ge \mathrm{\psi } $$ {\mathrm{y}}_{\mathrm{i}}\ge \mathrm{\psi } $$ {\mathrm{z}}_{\mathrm{\lambda }}\ge \mathrm{\psi }-{\mathrm{y}}_{\mathrm{i}} $

//的情况下,则可通过回收Ri原分配的$ {\mathrm{y}}_{\mathrm{i}} $,重新为Ri分配$ \mathrm{\psi } $,并

//满足计算资源的约束

8.bool=True

9.end if

10.elif $ \mathrm{\lambda }!=0 $ and $ {\mathrm{X}}_{\mathrm{i}}!=\lambda $ then

11.//若Ri选择在新卸载位置执行

12.if $ \mathrm{\psi }\le {\mathrm{z}}_{\mathrm{\lambda }} $ then//若资源分配方案满足约束

13.bool=True

14.end if

15.end if

将动作筛选算法(AS)加入到Nature DQN算法中,若$ {a}_{t} $满足计算资源约束则执行该动作,否则重新根据$ \varepsilon $贪婪策略选取动作。具体算法如下:

算法2  Based DQN算法

输入  训练回合数Total,学习率$ \delta $,折扣系数$ \gamma $Q′的更新频率h,学习间隔步长$ \sigma $,批量梯度下降的样本数bε

输出  sθ

1.对Q网络所有参数θ与Q网络所有参数θ'进行初始化,其中θ'=θ

2.初始化状态s与经验回放集合$ \mathrm{\Phi } $

3.for episode ←1 to Total do//迭代

4.在Q网络中使用s输入,得到所有动作Q值的输出,用ε贪婪法在所有Q值下选择动作a

5.if AS(s,a)then//满足计算资源约束

6.在状态s执行动作a,调整卸载方案,回收原计算资源并重新分配,得到新状态s',奖励r与是否终止布尔值done

7.将[s,a,r,s',done]五元组存入$ \mathrm{\Phi } $

8.s←s'

9.if满足学习间隔步长$ \sigma $ then

10.从$ \mathrm{\Phi } $中采样b个样本计算当前目标Q值$ {\mathrm{\mu }}_{\mathrm{k}} $(k=1,2,…,b)

11.$ {\mathrm{\mu }}_{\mathrm{k}}=\left\{\begin{array}{l}{\mathrm{r}}_{\mathrm{k}}, \mathrm{d}\mathrm{o}\mathrm{n}\mathrm{e}=\mathrm{T}\mathrm{r}\mathrm{u}\mathrm{e}\\ {\mathrm{r}}_{\mathrm{k}}+\mathrm{\gamma }\times \mathrm{m}\mathrm{a}{\mathrm{x}}_{{\bf{a}}^{\mathrm{\text{'}}}}{\mathrm{Q}}^{\mathrm{\text{'}}}\left({\mathrm{s}}_{\mathrm{k}}^{\mathrm{\text{'}}}, {\mathrm{a}}^{\mathrm{\text{'}}};{\mathrm{\theta }}^{\mathrm{\text{'}}}\right), \mathrm{d}\mathrm{o}\mathrm{n}\mathrm{e}=\mathrm{F}\mathrm{a}\mathrm{l}\mathrm{s}\mathrm{e}\end{array}\right. $

12.对$ {\mathrm{\mu }}_{\mathrm{k}} $$ \mathrm{Q}({\mathrm{s}}_{\mathrm{k}}, {\mathrm{a}}_{\mathrm{k}}, \mathrm{\theta }) $利用均值方差损失函数,通过梯度反向传播更新Q网络的参数θ

13.end if

14.if满足h then

15.θ'=θ

16.end if

17.若s'是终止状态且满足C4,则当前回合迭代完毕,否则转到步骤4

18.else//未满足计算资源约束

19.返回步骤4

20.end if

21.end for

4 实验与结果分析

利用Python语言在Visual Studio Code平台上对本文算法与全部本地卸载算法(ALO)、随机卸载与分配算法(ROA)、最小完成时间算法(Minimum Complete Time,MCT)[11]、多平台卸载智能资源分配算法[12]进行实验对比,以验证本文算法的有效性,同时在不同目标函数下对比Based DQN算法的优化效果,以验证新提目标函数的有效性。具体仿真参数如下:

假设每一台设备i的计算能力为1 GHz,上行传输功率为700 mW,空闲功率为100 mW,上传速率为2 Mb/s,M=2,且每台MEC服务器的整体计算能力分别为5 GHz与4 GHz,$ \psi \in ${$ {f}_{i}^{\mathrm{L}} $,1.2,1.4,1.6} GHz。任务Ri中的数据Di服从(500,1 000)的均匀分布,单位为Kb。工作量Wi服从(1 000,1 500)的均匀分布,单位为Megacycles。

对于深度强化学习的参数,设ε为0.9,学习率$ \delta $为0.001,折扣系数$ \gamma $为0.9,经验回放集合$ \Phi $大小为2 000,随机采样样本数b为32,更新频率h为50,学习间隔步长$ \sigma $为5(学习步数需大于200)。

4.1 算法收敛情况

假设有7台终端设备,即所需执行的任务数量为7,执行回合数(episode)为150,比较目标函数值$ G $的变化,如图 2所示。可以看出:ROA算法在整个迭代过程震荡,无法收敛;ALO算法始终保持收敛,但由于全部任务卸载到本地,造成较大的时延与能耗,目标函数值较高;其余3种算法随着episode的增加逐步收敛,MCT算法在第96回合达到收敛;多平台卸载智能资源分配算法在第127回合后逐步收敛,且收敛目标函数值比MCT算法的计算结果降低3.12%;Based DQN算法自100回合后逐步收敛,其结果较于多平台卸载智能资源分配算法降低1.53%,在5种算法中结果最优。MCT算法与多平台卸载智能资源分配算法结果较差于Based DQN算法,这是因为两者对任务完成时延关注更多。此外,多平台卸载智能资源分配算法中使用Q-learning算法进行训练学习,由于本文中状态、动作维数较大,Q表存储问题导致探索不全面,使得多平台卸载智能资源分配算法不能得到最优结果。

Download:
图 2 5种算法的目标函数值变化 Fig. 2 Change of objective function values of five algorithms

将ROA算法、MCT算法、多平台卸载智能资源分配算法和Based DQN算法的能耗分别与ALO算法的能耗总和做差,再分别除以ALO算法的能耗总和作为降低能耗比例(Energy Reduced Scale,ERS),并联合对比在满足时延约束下的缩短完成时间的比例(Time Reduced Scale,TRS),如表 1所示。可以看出:MCT算法、多平台卸载智能资源分配算法与Based DQN算法可在缩短完成时间的同时降低终端能耗50%以上,且Based DQN算法中时延与能耗减少的比例更大。

下载CSV 表 1 4种算法的TRS和ERS Table 1 TRS and ERS of four algorithms 
4.2 不同学习率下的算法收敛情况

分别在0.01、0.001、0.0001这3种不同学习率$ \delta $下对比Based DQN算法的收敛情况,如图 3所示。可以看出:当$ \delta $为0.01时,算法收敛速度较快,但较大的学习率导致收敛于局部最优解;当$ \delta $较小为0.000 1时,算法收敛速度较慢,较长的收敛时间影响了算法的优化效率。

Download:
图 3 不同学习率下Based DQN算法的收敛情况 Fig. 3 Convergence of Based DQN algorithm under different learning rates

为进一步比较Based DQN算法在不同学习率$ \delta $下对时延与能耗的优化效果,分别对比不同学习率$ \delta $下的Based DQN算法在收敛过程中TRS与ERS的变化情况,如图 4图 5所示。可以看出:当$ \delta $为0.01时,TRS与ERS收敛于局部最优解;当$ \delta $为0.000 1时,TRS与ERS收敛过慢;当$ \delta $为0.001时,Based DQN算法收敛后对时延与能耗的优化效果最佳。因此,本文算法采用0.001的学习率。

Download:
图 4 不同学习率下Based DQN算法的TRS Fig. 4 TRS of Based DQN algorithm under different learning rates
Download:
图 5 不同学习率下Based DQN算法的ERS Fig. 5 ERS of Based DQN algorithm under different learning rates
4.3 不同累计任务数量下的算法目标函数值对比

分别模拟[20,100]的累计任务数量,对比5种算法的$ \mathrm{目标函数值} $,如图 6所示。可以看出:随着累计任务数量的增加,5种算法的$ G $值逐渐增大,而在不同累计任务数量下ALO算法、ROA算法的$ G $值较大,这主要是由于两种算法没有对任务卸载方案与计算资源分配方案进行合理优化,导致任务执行时,时延与能耗较高。3种优化算法相比前述两种算法在不同累计任务数量下能够有效降低目标函数值。当累计任务数量为20时,3种算法差别较小,但随着累计任务数量的增加,Based DQN算法的优化效果得以体现。以累计任务数量等于100时为例,多平台卸载智能资源分配算法、Based DQN算法相较于MCT算法$ G $值分别降低3.62%、5.89%。

Download:
图 6 不同累计任务数量下5种算法的目标函数值 Fig. 6 Objective function values of five algorithm under different numbers of cumulative tasks

此外,本文将多平台卸载智能资源分配算法与Based DQN算法相较于MCT算法的时延与能耗分别降低的比例进行对比,如表 2所示。可以看出:在大量累计任务数量下,Based DQN算法优化效果更佳。

下载CSV 表 2 2种算法对MCT算法的优化效果 Table 2 Optimization effects of two algorithms for MCT algorithm 
4.4 不同目标函数下的优化情况

对于降低时延与能耗的多目标优化问题,通常以任务执行时延与终端执行能耗的加权和作为目标函数进行问题求解。将每一个任务执行时延与能耗加权和的平均值作为另一种目标函数(见式(25)),与本文所提目标函数(见式(14))进行时延与能耗的优化对比,终端设备数为7。

$ {G}^{\mathrm{R}}=\frac{\sum\limits_{i=1}^{N}(\tau \times {T}_{i}+(1-\tau )\times {E}_{i})}{N} $ (25)

在式(25)所示的目标函数中:$ \tau $为执行时延的权重系数;$ 1-\tau $为执行能耗的权重系数。考虑到本文是在满足时延约束下缩短时延、降低能耗,将$ \tau $分别取值为0.7、0.6、0.5与式(14)在Based DQN算法下进行TRS、ERS联合实验对比,如表 3所示。可以看出:当$ \tau $=0.7和$ \tau $=0.6时,算法更多关注时延的优化;当$ \tau $=0.5时,优化结果较为均衡,而在新目标函数下的Based DQN算法优化效果最好,能够在满足时延约束下最大程度地缩短时延并降低能耗。

下载CSV 表 3 不同目标函数下Based DQN算法的TRS和ERS Table 3 TRS and ERS of Based DQN algorithm under different objective functions 

为进一步比较不同目标函数对时延与能耗的优化程度,在累计任务为100时,对比4种目标函数下Based DQN算法相较于MCT算法时延与能耗分别降低的比例,如表 4所示。可以看出:Based DQN算法在新目标函数下时延与能耗的优化效果更好,验证了本文所设计目标函数的有效性。

下载CSV 表 4 不同目标函数下Based DQN算法对MCT算法的优化效果 Table 4 Optimization effect of Based DQN algorithm for MCT algorithm under different objective functions 
5 结束语

本文在MEC服务器计算资源有限的情况下考虑时延约束,设计一种新的目标函数并构建数学模型,对深度强化学习中的Nature DQN算法进行改进,提出卸载决策与资源分配的联合优化算法:Based DQN,以缩短计算任务完成时间,降低终端能耗。实验结果表明,该算法的优化效果均优于ALO算法、ROA算法、MCT算法和多平台卸载智能资源分配算法,且其在本文设计的目标函数下结果更优。下一步将研究任务具有优先级与执行顺序以及无线干扰环境下的卸载决策和资源分配方案。

参考文献
[1]
ZHANG K, LENG S P, HE Y J, et al. Mobile edge computing and networking for green and low-latency Internet of Things[J]. IEEE Communications Magazine, 2018, 56(5): 39-45. DOI:10.1109/MCOM.2018.1700882
[2]
DINH T Q, TANG J H, LA Q D, et al. Offloading in mobile edge computing: task allocation and computational frequency scaling[J]. IEEE Transactions on Communications, 2017, 65(8): 3571-3584.
[3]
BOUENT M, CONAN V. Mobile edge computing resources optimization: a geo-clustering approach[J]. IEEE Transactions on Network and Service Management, 2018, 15(2): 787-796. DOI:10.1109/TNSM.2018.2816263
[4]
MAO Y Y, YOU C S, ZHANG J, et al. A survey on mobile edge computing: the communication perspective[J]. IEEE Communications Surveys & Tutorials, 2017, 19(4): 2322-2358.
[5]
ZHANG K, MAO Y M, LENG S P, et al. Contract-theoretic approach for delay constrained offloading in vehicular edge computing networks[J]. Mobile Networks and Applications, 2019, 24(3): 1003-1014. DOI:10.1007/s11036-018-1032-0
[6]
ABBAS N, ZHANG Y, TAHERKORDI A, et al. Mobile edge computing: a survey[J]. IEEE Internet of Things Journal, 2018, 5(1): 450-465. DOI:10.1109/JIOT.2017.2750180
[7]
SATYANARAYANAN M. The emergence of edge computing[J]. Computer, 2017, 50(1): 30-39. DOI:10.1109/MC.2017.9
[8]
SHI W S, DUSTDAR S. The promise of edge computing[J]. Computer, 2016, 49(5): 78-81. DOI:10.1109/MC.2016.145
[9]
XIE R C, LIAN X F, JIA Q M, et al. Survey on computation offloading in mobile edge computing[J]. Journal on Communications, 2018, 39(11): 142-159. (in Chinese)
谢人超, 廉晓飞, 贾庆民, 等. 移动边缘计算卸载技术综述[J]. 通信学报, 2018, 39(11): 142-159.
[10]
MAO Y Y, ZHANG J, LETAIEF K B. Dynamic computation offloading for mobile-edge computing with energy harvesting devices[J]. IEEE Journal on Selected Areas in Communications, 2016, 34(12): 3590-3605. DOI:10.1109/JSAC.2016.2611964
[11]
LI B, HUANG X, NIU L, et al. Task offloading decision in vehicle edge computing environment[J]. Microelectronics & Computer, 2019, 36(2): 78-82. (in Chinese)
李波, 黄鑫, 牛力, 等. 车载边缘计算环境中的任务卸载决策和优化[J]. 微电子学与计算机, 2019, 36(2): 78-82.
[12]
WANG R Y, LIANG Y J, CUI Y P. Intelligent resource allocation algorithm for multi-platform offloading in vehicular networks[J]. Journal of Electronics & Information Technology, 2020, 42(1): 263-270. (in Chinese)
王汝言, 梁颖杰, 崔亚平. 车辆网络多平台卸载智能资源分配算法[J]. 电子与信息学报, 2020, 42(1): 263-270.
[13]
YOU C S, ZENG Y, ZHANG R, et al. Asynchronous mobile-edge computation offloading: energy-efficient resource management[J]. IEEE Transactions on Wireless Communications, 2018, 17(11): 7590-7605. DOI:10.1109/TWC.2018.2868710
[14]
YU X, SHI X Q, LIU Y X. Joint optimization of offloading strategy and power in mobile-edge computing[J]. Computer Engineering, 2020, 46(6): 20-25. (in Chinese)
余翔, 石雪琴, 刘一勋. 移动边缘计算中卸载策略与功率的联合优化[J]. 计算机工程, 2020, 46(6): 20-25.
[15]
ZHANG G S, LIU X N. Tasks split and offloading decision in mobile edge computing with limited resources[J]. Computer Applications and Software, 2019, 36(10): 268-273, 278. (in Chinese)
张艮山, 刘旭宁. 资源受限移动边缘计算任务拆分卸载调度决策[J]. 计算机应用与软件, 2019, 36(10): 268-273, 278. DOI:10.3969/j.issn.1000-386x.2019.10.046
[16]
LI J, LÜ T J. Deep neural network based computational resource allocation for mobile edge computing[C]//Proceedings of 2018 IEEE GLOBECOM Workshops. Washington D.C., USA: IEEE Press, 2018: 1-6.
[17]
LIN C C, DENG D J, YAO C C. Resource allocation in vehicular cloud computing systems with heterogeneous vehicles and roadside units[J]. IEEE Internet of Things Journal, 2018, 5(5): 3692-3700. DOI:10.1109/JIOT.2017.2690961
[18]
WEN Y G, ZHANG W W, LUO H Y. Energy-optimal mobile application execution: taming resource-poor mobile devices with cloud clones[C]//Proceedings of 2012 IEEE Conference on Computer Communications. Washington D.C., USA: IEEE Press, 2012: 2716-2720.
[19]
WANG C M, RICHARD Y F, LIANG C C, et al. Joint computation offloading and interference management in wireless cellular networks with mobile edge computing[J]. IEEE Transactions on Vehicular Technology, 2017, 66(8): 7432-7445. DOI:10.1109/TVT.2017.2672701
[20]
XU J, LI X J, DING R M, et al. Energy efficient multi-resource computation offloading strategy in mobile edge computing[J]. Computer Integrated Manufacturing Systems, 2019, 25(4): 954-961. (in Chinese)
徐佳, 李学俊, 丁瑞苗, 等. 移动边缘计算中能耗优化的多重资源计算卸载策略[J]. 计算机集成制造系统, 2019, 25(4): 954-961.