APP下载

基于深度强化学习的边云协同任务卸载策略

2024-02-22邓文贵文志诚

计算机工程与设计 2024年2期
关键词:时延边缘服务器

邓文贵,文志诚,欧 静

(湖南工业大学 计算机学院,湖南 株洲 412000)

0 引 言

移动云计算(mobile could computing,MCC)是一种集中式部署计算模式,可以利用云计算中心丰富的计算、储存、网络等资源提高移动终端的计算处理能力[1]。但是,移动终端设备和计算任务的增加,以及有限的网络带宽和较远的传输距离,严重影响计算任务的数据传输,使得传输过程中的能耗和时延增大[2],从而无法满足延迟敏感型的计算任务,降低了用户的体验质量。

为了弥补移动云计算的不足,移动边缘计算(mobile edge computing,MEC)作为一种新的卸载方案被提出[3]。MEC采用分布式部署方式,将MEC服务器部署在移动设备网络边缘的基站,并在边缘服务器上部署云计算中的计算、存储等资源,相比于MCC,终端设备可以直接与MEC服务器进行数据传输,能够更快速响应用户的计算任务卸载请求,减少访问云计算中心的频率,降低计算任务上传时的能耗、传输延迟和网络拥塞[4-6]。MEC系统的效率主要取决于任务卸载策略,而目前大多数研究将卸载问题描述为NP问题并通过启发式算法进行求解。但这些算法不能保证其鲁棒性,只能应用于特定场景,难以适用于复杂的现实场景。

近些年,深度强化学习(deep reinforcement learning,DRL)[7]因其具有很好的环境适应性而被广泛应用到各个领域以解决实际问题。DRL最显著的算法之一是深度Q学习(DQN),多用于处理连续状态空间中的问题[8],通过将深度学习模型与强化学习结合,实现直接从高位输入学习的控制策略,进而提高算法收敛性能并解决当前任务计算卸载所面临的局限性。

1 相关工作

MEC系统的效率很大程度依赖于其任务卸载策略,因此MEC任务卸载策略成为了当前研究的热点。文献[9]为降低细粒度任务迁移模型下的任务执行时间,提出了基于遗传算法的MEC任务缓存和迁移策略。文献[10]提出了一种基于遗传算法的联合资源优化方法,以优化MEC服务器中的卸载比例、信道带宽和计算资源分配,从而得到任务完成时间最小的卸载策略。文献[11]将移动应用程序建模为有向无环图提出基于元强化学习的任务卸载策略,以降低任务执行时延。文献[12]提出了一种满足不同任务延迟要求的启发式任务卸载策略,通过合理分配MEC服务器无线电资源和计算资源来提高系统的执行效率。文献[13]针对边云场景提出了一种智能蚁群任务卸载策略,以降低服务延迟,提高用户服务质量。文献[14]为最小化所有系统实体的开销,从任务计算和通信方面对卸载的消耗进行建模,提出了一种基于人工鱼群算法的卸载方案,以优化系统整体开销。

此外,移动设备的任务计算卸载决策受限于网络带宽和存储计算资源,因此研究人员开始尝试通过深度学习和强化学习来解决计算卸载问题。文献[15]将计算卸载视为一种游戏,由玩家(即移动设备)、策略(即本地或远程执行任务)和奖励值组成,然后采用Q-学习算法来解决此问题。文献[16]提出了基于深度Q网络的半在线计算卸载模型,通过强化学习来探索复杂动作空间中的用户行为捕捉未知的环境信息。文献[17]考虑了一个多用户MEC系统,并提出基于RL的优化框架来解决任务卸载的计算卸载和资源分配问题。文献[18]采用深度强化学习来优化虚拟边缘计算系统从而提高计算卸载性能,但作者只是做了假设,而没有在许多细节上探索事实。当然,将强化学习应用于边缘计算的技术也在不断趋于成熟。文献[19]提出了一种新的基于状态自适应和深度强化学习的服务迁移方法来克服网络故障,并利用满足度理论来求解迁移策略的候选空间。文献[20]提出了基于DRL的经验驱动网络,它显著减少了端到端延迟,并持续提高了网络利用率。

2 系统模型

2.1 网络架构模型

我们考虑多用户多MEC服务器边云协同的场景,并考虑一个实时多用户计算场景。利用云服务器和边缘服务器的相互协同来完成移动设备的计算任务,具有云计算和存储能力的移动基站密集分布在移动用户附近,云服务器部署在远离终端设备的网络层。在本文中,我们考虑边云协同,当计算任务卸载时根据不同的卸载决将任务卸载到本地、该区域内的MEC服务器和云服务器上进行计算。

移动边缘计算系统架构模型如图1所示。卸载模型由多个终端设备、多个边缘服务器和一个云服务器组成,构成一个云-边-终端的三层结构。在该移动边缘计算网络架构中,最上端的云服务器,利用交换机和基站联系,整个互联网由多个基站组成,多个小型MEC服务器部署在各个基站周围,MEC服务器之间能够实现数据通信。在终端智能设备侧,其产生的任务可直接在本机的CPU上进行,也可通过传输单元发送到其所在区域中的MEC服务器中实现远程运算,甚至上传到远端的云服务器中实现运算。

图1 移动边缘计算系统架构模型

整个移动边缘计算系统网络架构,由若干个小区域组成,区域之间相互独立。在一个区域中,假设用户终端设备用集合 {1,2,…i,…,U} 表示,终端设备所在区域的MEC服务器用集合 {1,2,…j,…,M} 表示,用户设备拥有有限的计算资源,智能设备Ui(i∈{1,2,…,U}) 通过5G无线通信技术将自己的计算任务卸载到MECj服务器 (j∈{1,2,…j,…,M}) 中,也可以选择卸载到远端的云服务器上进行计算,或者选择在本地进行计算。

2.2 任务模型

每个终端设备都有一个计算密集型任务需要执行,智能设备Ui产生的任务用Ai来表示,由3部分组成,Ai定义如式(1)所示

Ai={wk,dk,τk}

(1)

2.3 通信模型

用户可以选择将自己的任务在本地执行,也可以卸载到边缘服务器或远端云服务器中执行,在整个系统中,主要存在两部分通信。包括用户将任务传输到MEC服务器的通信和MEC服务器与云服务器之间的通信。根据瑞利衰落信道模型,定义通信模型如下:

用户Ui将任务Ti上传到MECj的传输速率为

(2)

其中,B代表传输带宽,pi,j为用户Ui的传输功率,hi,j为信道增益,di,j代表用户i与服务器j之间的距离,θ代表路径损耗指数,N为高斯加白噪声。

任务Ti从边缘服务器MECj上传到云服务器Cloud传输速率为

(3)

同理,其中B代表传输带宽,pj,c为MECj到云服务器的传输功率,hj,c为信道增益,dj,c代表服务器j和云服务器之间的距离,θ代表路径损耗指数,N为高斯加白噪声。

2.4 计算模型

在这一小节,介绍了计算模型。本地服务器、边缘服务器和云服务器都可以进行任务计算因此计算模型由本地计算、边缘服务器计算和云服务器计算3种模型组成。本地计算模型即智能设备将任务卸载在本地进行计算,边缘服务器和云服务器计算模型分别指的是将计算任务卸载到边缘服务器和云服务器进行计算。

(1)本地计算模型

根据上面定义的任务模型,wk为该任务的负载,即执行该任务需要花费的总CPU周期数,fi为用户Ui的计算能力,则用户i的任务k在本地的执行时延为

(4)

(5)

用户i的任务k在本地运行的总能耗为

(6)

其中,ki是设备芯片结构的系数因子。

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

当用户选择卸载到边缘服务器上进行计算时,用户i向MEC服务器j传输任务的时延为

(7)

MECj的执行时延为

(8)

其中,wk为任务的负载,即执行该任务需要花费的总CPU周期数,服务器的计算能力为fj。

因此,用户i的任务在MECj运行的总时延

(9)

用户i的任务在MECj运行的能耗

(10)

(3)云服务器计算模型

当用户选择卸载到云服务器上进行计算时,终端设备i需要先将任务上传到临近的MEC服务器,再上传到云服务器。

用户i向邻近MEC服务器MECj传输任务的时延为

(11)

任务从MEC服务器j上传到远端云服务器的传输时延为

(12)

所以总传输时延为

(13)

执行时延为

(14)

其中,wi为任务的负载,即执行该任务需要花费的总CPU周期数,云服务器的计算能力为Fcloud。因为云端计算速度特别快,所以我们忽略等待时延。

因此,执行总时延为

(15)

整个过程产生的总能耗为

(16)

2.5 系统目标建立

在本文,我们综合考虑时延和能耗两个开销指标,以能耗和时延的加权定义任务Ai的总开销为Ci=β*Ei+(1-β)*Ti, 其中β∈[0,1] 代表设备的能量消耗权衡参数。假设Ii,j为任务所选择的卸载策略,则用户执行任务的时延开销为

(17)

用户执行任务的能耗开销为

(18)

因此,用户产生的总代价为

Ctotal=β*Etotal+(1-β)*Ttotal

(19)

在本文中,综合考虑应用程序执行所产生的时延与能耗两方面,从而使应用程序的总执行开销达到最小。因此问题描述可以表示为

(20)

其中,I为用户的卸载决策集。C1是应用程序的时延约束,要求时延不能超过所要求的最大延迟。C2表示任务只能执行在一个地方。根据P1,我们可以知道,该问题是一个混合整数规划和NP难问题。

3 算法设计

如上所述,为了减少任务计算完成所产生的能耗与时延,在本节中,提出了深度强化学习算法来解决资源分配和任务调度策略。

3.1 强化学习设计

在本小节中,我们将计算卸载优化问题表述为深度强化学习(DRL)过程。在获得当前移动边缘计算网络状态之后,我们的目标是通过最小化整个网络架构下的时延和能耗开销来提高计算卸载效率。由于变量、环境状态和系统动作的巨大空间随时间动态变化,用传统的优化方法几乎不可能解决这个复杂的问题,但是,深度强化学习方法却能很好的解决这个问题。由于移动边缘计算网络架构用户动态请求和资源随机分配,计算卸载策略算法应该考虑MEC环境的状态来做出有利的决策。因此,在本节中,我们提出了一种基于DQN的资源分配算法,以最小化时延和能耗的开销并以自适应的方式平衡资源分配。

RL系统可以通过探索环境和接收反馈来形成自适应模型,而无需大量标记数据。它只是适应我们考虑的多变的MEC环境。如第2节所述,传统的Q-learning使用Q-table来存储Q值,当环境的状态复杂多变时,将所有Q值存储在一张表中是不切实际的,而且在一张大表中频繁搜索状态也很耗时。因此,我们采用上述DQN来实现我们的DRLRA,其直接通过神经网络生成对应的Q值,即以MEC环境状态作为输入,每个可能动作的Q值作为输出。我们提出的算法的训练阶段如下所述。我们的DRLRA使用的DRL系统包含状态、动作和奖励等3个关键要素,应首先定义:

状态:强化学习目的是不断从历史信息中学习策略,考虑到用户产生的任务、网络情况、可用计算资源,状态空间由应用产生的任务列表及当前产生的开销组成,定义时刻t状态向量可以表示为St=[c,n]t动作:在我们的DRL系统中,将终端用户看作是一个决策者,决定在当前的状态下应该选取怎样的策略。动作由用户任务可卸载的位置组成,动作向量可以给出为At=[Etar]t,Etar∈{-1,M}, 其中M为边缘服务器的个数。Etar的值表示当前用户的任务请求所采取的动作,即决定卸载的位置。

3.2 基于深度强化学习的卸载策略算法设计

基于上一节的强化学习状态空间、动作空间以及奖励值的设计,设计基于深度强化学习的卸载策略算法。算法首先初始化深度强化学习的相关参数和移动边缘计算网络下的用户、边缘服务器以及云服务器,每个用户通过训练获得卸载策略。先生成初始状态,并开始一个时间段的训练,通过运行当前的决策网络选择当前状态的动作值at,执行at并获得奖励rt和新的状态st+1,并将状态转移过程存储到经验池中,并从经验池中随机采取一个小批量的样本 (sj,aj,rj,sj+1) 进行训练,根据损失函数不断优化神经网络参数,最终得到卸载策略。具体的算法如算法1所示。

算法1:基于DQN的计算卸载策略

初始化经验池的大小为D,目标Q网络的更新频率为C

初始化边缘服务器M,云服务器,用户数量N

随机初始化Q网络的权值θ,目标Q网络的权值θ-=θ

Forepisode= 1,Edo

初始化初始状态s1

Fort=1,Tdo:

以概率ε随机选择动作at

若上一步中的概率ε没有发生,则利用贪婪策略选择当前函数值最大的动作at=maxaQ*(st,a;θ)

执行at并获得奖励rt和新的状态st+1

将状态转移过程即经验 (st,at,rt,st+1) 存储在D中

从D中随机采取一个小批量的样本 (sj,aj,rj,sj+1) 进行训练

根据损失函数 (yj-Q(sj+1,at;θ)))2对参数θ进行梯度下降更新

每间隔C个步长更新一次目标网络权值θ-=θ

End for

End for

4 实验结果分析

4.1 实验设置

在本节中,考虑多用户多边缘服务器基站的移动边缘计算网络环境,所以考虑了本地卸载策略、MEC随机卸载策略、云端卸载策略、贪婪卸载策略4种算法与本文提出的算法进行对比,并对它们的实验结果进行比较分析。

本地卸载策略指的是终端设备选择将任务全部卸载在本地进行计算,MEC随机卸载策略指的是随机将任务卸载在所在区域的边缘服务器上进行计算,云端卸载策略指的是将任务全部卸载在云服务器上,贪婪卸载策略指的是将任务卸载在当前网络中的最佳卸载位置。算法的参数设置见表1。

表1 仿真参数

4.2 结果分析

在本节中,先分析了算法的收敛性,接着通过将本文所提出的算法与其它的基准算法进行对比,验证了算法的有效性。

系统奖励值变化如图2所示,随着迭代次数变化奖励值也不断变化,它代表着算法的收敛性,从图中可以看到随着迭代次数的不断增加,强化学习训练所获得的奖励回报值不断增大且最终趋向于平稳,大概200次迭代时候,奖励值收敛到一个相比较稳定的值,网络参数达到相对稳定状态,表明网络达到了稳定最优状态,所有网络输出的卸载策略不再存在随机性,而是根据当前的状态空间、网络环境择优选择。

图2 系统奖励值变化

不同的MEC服务器个数设置对设备开销的影响如图3所示。横坐标是MEC服务器的个数,纵坐标是整个移动边缘计算网络环境中所有用户的总开销。设置MEC服务器的个数为5、6、7,然后采用本地卸载策略、MEC随机卸载策略、云端卸载策略、贪婪卸载策略及DQN卸载策略算法进行卸载,并进行对比查看性能,首先可以看到在这5种卸载策略中,DQN卸载策略算法可以更好降低系统的开销,以MEC数量为5进行实验结果分析,本文所提出的DQN卸载策略算法与本地卸载策略、MEC随机卸载策略、云端卸载策略以及贪婪卸载策略相比,优化率分别达到了79.5%、55%、65.3%、31.2%。因为本地卸载策略是用户全部选择在本地计算,所以没有利用边缘计算服务器的计算能力强的优势,导致开销很大。MEC随机卸载策略,因为是随机选取卸载位置,所以卸载位置随机,且边缘服务器如果位置不当,也会产生较高的排队时延和传输时延,所以整体开销也较高。云端卸载策略选择全部在云服务器计算,传输距离较远,没有综合考虑任务特点和MEC服务器的优势,因此开销也很大。贪婪算法是针对当前用户的任务去选择局部的最优卸载位置,但没有全局考虑,虽然相比较前3种算法有所改进,但产生的时延也较高,而DQN采用强化学习的奖励机制,以贪婪算法作为基线进行正向激励的学习,所以产生的开销较小,所以本文提出的卸载策略算法更优。

图3 不同的MEC服务器个数下的设备开销

不同用户数下的用户开销如图4所示,分别测试了用户数量为50、60、70的情况,且设置任务的数据大小随即生成。因为当设备数目越多时,其产生的任务越多,所需要的计算资源就越多,而MEC服务器、云服务器以及终端的智能设备的计算资源并非无限,所以如何分配资源,智能设备如何进行卸载,卸载策略显得尤为重要。而在卸载策略选取上,可以看到DQN卸载策略有着更大的优势。以用户数量50为例分析该算法的性能,与本地卸载策略、MEC随机卸载策略、云端卸载策略、贪婪卸载策略相比,其优化率分别为:79.7%、61.7%、70.2%、39.1%。

图4 不同用户数下的设备开销

5 结束语

本文研究边云协同架构下基于多设备多MEC模型的任务卸载策略。首先,建立基于边云协同架构的系统模型,并基于该系统模型提出网络模型、通信模型和计算模型。其次,为了满足低能耗、低延迟的服务需求,我们以最小化系统开销为目的,提出了联合优化时延和能耗的目标。然后基于深度强化学习算法,设计DQN卸载策略,为每个移动用户制定独立高效的计算卸载策略,最终可以自适应决定将当前产生的任务放置在本地、服务器或者云端进行计算。最后,通过仿真验证了DQN卸载策略算法的收敛性和有效性。

在未来研究中,我们将考虑用户的移动性以及MEC服务器的存储资源,为用户实时提供更高效的卸载服务。

猜你喜欢

时延边缘服务器
通信控制服务器(CCS)维护终端的设计与实现
基于GCC-nearest时延估计的室内声源定位
基于改进二次相关算法的TDOA时延估计
一张图看懂边缘计算
中国服务器市场份额出炉
得形忘意的服务器标准
FRFT在水声信道时延频移联合估计中的应用
计算机网络安全服务器入侵与防御
基于分段CEEMD降噪的时延估计研究
在边缘寻找自我