【论文阅读-强化学习】基于深度强化学习的多区域MEC网络中支持缓存的计算卸载

Caching-Enabled Computation Offloading in Multi-Region MEC Network via Deep Reinforcement Learning


摘要:随着互联网的快速发展,出现了越来越多的计算密集型应用,对计算延迟和能耗提出了更高的要求。最近,使用移动边缘计算服务器进行辅助计算被认为是减少延迟和能耗的有效方法。此外,自动驾驶等应用将产生大量重复任务。使用缓存存储流行任务的计算结果可以避免重复处理造成的开销。本文研究 多区域用户的计算卸载问题。优化目标表示为选择卸载策略和缓存策略,以最小化所有区域的总延迟和能量消耗。我们首先使用深度强化学习深度确定性策略梯度(DDPG)框架来解决单个区域中的计算卸载问题。我们还展示了现有的多区域协作缓存方法的低效性,并提出了一种新的协作缓存算法(CCA),以提高系统的整体缓存命中率。最后,我们集成了DDPG和CCA算法,为所有区域形成了一个整体高效的缓存和卸载策略。仿真结果表明,该算法可以显著提高缓存命中率,并在降低系统总开销方面具有优异的性能。

之前没接触过这个领域,所以还是翻一下introduction~

I.Introduction

云计算可以通过互联网向用户提供可扩展的虚拟化资源软件和数据服务,使用户能够按需获取计算资源和存储资源[1]。然而,随着5G技术的快速发展和移动设备流量的快速增长,传统蜂窝网络通信模式的缺点已经开始显现。人们对未来5G网络的研究计划表明,5G网络需要承载高带宽要求的虚拟现实和超高清视频等服务内容,并可以在物联网场景中提供商业体验,如具有高延迟要求的车联网和工业制造[2]。在此背景下,云计算技术的核心网络压力太大,难以解决过度延迟和带宽不足造成的瓶颈问题。幸运的是,提出了 多址边缘计算(MEC) [3]来解决上述问题。MEC是一种新的计算模型,它将计算资源和存储资源部署在靠近移动设备或传感器的网络边缘。因此,大多数数据请求不需要(直接)从云计算中心获得响应,这大大降低了对网络带宽和整个系统延迟的压力[4]。

计算卸载是MEC中一个非常重要的问题,即将移动终端的计算任务卸载到网络边缘执行,以提高计算服务质量(QoS)。然而,由于边缘服务器的计算资源是有限的,当设备数量足够大时,将所有计算任务不假思索地卸载到网络边缘执行将超过收益。在这种情况下,多个设备需要竞争边缘服务器的计算资源。为了更有效地利用计算资源,需要设计一种高效快速的算法来确定卸载策略和计算资源分配策略。

在计算卸载中引入一些稳健的方法可以进一步提高性能。用户设备通常请求重复内容或生成重复计算任务,在边缘服务器上配备缓存以存储这些高度流行的内容被认为是有效的。当用户请求的内容存在于缓存中时,可以直接返回。当存在多个边缘服务器时,如果可以组合它们的缓存,则可以在一定程度上提高缓存命中率。然而,由于缓存的容量也是有限的,并且只能存储有限的内容,因此还需要设计有效的算法来确定每个时刻缓存的内容。此外,中央云拥有丰富的计算资源。云中的一些计算资源可用于辅助计算,以向用户提供额外的选择。

本文研究了MEC中的多区域计算卸载问题,综合考虑了用户迁移、缓存之间的协作和计算卸载问题。本文的主要贡献总结如下:

  • 我们提出了一种缓存增强的计算卸载系统模型,该模型能够将单个区域的本地缓存扩展到MEC网络中多个区域之间的协作缓存。
  • 我们首先在MEC中提出了一种协作缓存算法(CCA),以提高系统的整体缓存命中率。随后,我们提出了一种基于深度强化学习的计算卸载决策方法,并将其与CCA算法相结合以输出最终卸载决策。
  • 仿真结果表明,所提出的CCA算法比传统的缓存算法具有更好的性能,并且将CCA算法与深度强化学习相结合可以显著降低系统的总体开销。

II.Related Works

计算卸载 到目前为止,计算卸载的研究工作已经在许多领域取得了大量成果。Jeong等人[5]使用计算卸载的思想在移动设备上运行计算复杂的深度神经网络(DNN)模型。他们将客户端的DNN模型划分为多个分区,并提出了一种基于块的神经网络增量卸载技术,以提高模型的训练速度。在[6]中,作者提出了一种基于元强化学习的任务共享方法,该方法解决了如何允许具有多个相关任务的应用程序执行计算卸载的问题。袁等人[7]提出了一种用于边缘计算的创新分布式协作视频流处理框架,以解决计算卸载视频流任务的问题。Zhu等人[8]提出了一种联合计算卸载和资源分配方案,该方案在光纤陀螺无线接入网络(F-RAN)中实现了次优解决方案。[9] 将无线功率传输技术-无线功率传输(WPT)与计算卸载技术相结合,解决具有多个边缘设备的WP-MEC网络的最大计算完成率的调度问题。由于边缘的计算能力与中心云相比非常有限,因此将所有用户的计算任务传输到边缘进行计算的成本很高。因此,设计合理的卸载机制尤为重要。深度学习和强化学习由于其低延迟和对动态系统的强适应性也受到了广泛关注。[10] 提出了一种基于深度强化学习的在线卸载框架,以解决在无线信道条件动态变化的环境中任务的完全卸载问题。[11] 提出了一种基于多智能体深度强化学习和博弈论的算法,在保证用户隐私的前提下确定服务提供商的最优定价策略。

多区域 上述工作是在仅具有一个边缘服务器的单个区域的情况下进行的。然而,在现实生活中,通常需要考虑具有多个区域和多个边缘服务器的场景。Zhang等人[12]研究了服务器计算能力和计算任务随时间变化的动态MEC网络中的任务协作卸载机制,并提出了两种基于深度强化学习的改进算法来解决设备之间的协调问题。Gong[13]针对分布式边缘计算问题提出了一种高效的计算分配算法和通信调度算法,旨在使用边缘设备并行执行计算,以大大减少计算延迟。[14]中的工作提出了一种基于强化学习的联合计算卸载和迁移方案,以解决用户在多个区域移动时计算完全卸载的问题。Wang等人[15]研究了具有同频干扰的车联网环境中的任务卸载问题。他们设计了一个车联网(IoV)系统架构,并使用双深度Q网络来解决用户移动导致的网络状态实时变化的问题。Li等人[16]研究了车联网环境下的车辆协同计算问题,并提出了一种基于DDPG的算法来确定车辆的任务分配、计算和结果交付策略。

缓存机制 已经验证了边缘服务器侧的缓存机制,以避免任务的重复传输和计算。[17]中的研究将缓存机制引入MEC网络,作者使用门递归单元(GRU)算法预测任务的流行度,然后使用多智能体深度Q网络(DQN)算法根据预测确定缓存策略。他等人[18]研究了配备共享缓存的IoV中的完整任务卸载问题,以提高用户体验的质量。Li等人[19]通过最小化系统成本来解决超密集MEC网络中的移动性感知内容缓存和用户关联问题,并提出了一种基于移动性的在线缓存算法。为了减少车辆联网环境中车辆任务的交付延迟和系统成本,乔等人[20]提出了一种基于DDPG的协作缓存方案,该方案借助于宏小区站、路边单元和智能汽车。在[21]中,作者研究了具有随机任务到达的缓存辅助多用户MEC系统中的动态缓存、计算卸载和资源分配问题,并提出了一种基于DDPG的动态调度策略来解决这些问题。

使用中央云帮助卸载 引入计算卸载中心云以减轻边缘服务器的压力也是进一步提高系统性能的常用方法。[22]-[24]结合边缘计算和云计算,实现物联网设备的任务卸载。[25]使用云辅助移动边缘计算框架来研究计算分流和资源分配问题,并提出了双深度Q网络(DDQN)卸载算法,以避免过度的状态空间和高估问题。Guo等人[26]研究计算密集型应用的计算卸载和带宽分配。作者使用云来执行辅助计算,并提出了一种启发式算法来解决该问题。赵等人[27]研究了车联网环境中的计算卸载问题,并提出了一种基于MEC和云计算的协作方法,将服务卸载到车联网中的汽车上。

然而,大多数现有工作通常很少考虑用户在多个区域之间迁移的问题。此外,大多数将缓存机制引入计算卸载的研究通常侧重于内容缓存,而很少关注计算结果的存储。并且基本上不考虑边缘服务器缓存之间的协作。基于上述情况,很少有研究引入中心云来辅助计算。基于以上三点的综合考虑,本文以最小化整个系统的总体成本为优化目标,解决了多区域MEC网络中支持缓存的计算卸载问题。表1显示了本文与其他相关文献之间的差异,其中用户迁移、协作缓存和中央云分别表明,作者在研究中考虑了用户在多个区域之间迁移的问题,使用了协作缓存,并使用中央云进行辅助卸载,以及结果缓存和内容缓存。

在这里插入图片描述

III.System Model

在这里插入图片描述

  • 区域数为 M M M,每个区域有一个基站(BS, base station),每个基站给 N N N个用户提供服务(UE, user equipment),每个用户只与一个基站相连。
  • MEC服务器具有足够的计算资源,其与BS一起部署,以向该区域中的多个用户提供计算服务。
  • 每个基站配一个边缘服务器(ES, edge server)。移动云计算(MCC,Mobile Cloud Computing)服务器拥有更丰富的计算资源,并部署在远离用户的地区。
  • 假设每个用户将同时生成计算密集型和延迟敏感型任务,我们考虑用户生成的任务将被重用的场景。在现实生活中,用户生成重复任务是非常常见的。例如,在在线游戏中,用户将根据自己设备的实际配置请求具有不同渲染质量的公共地图。此类请求可能在短时间内大量触发。如果可以直接缓存对应的图像,则可以避免图像的复杂处理;用户还将在游戏期间根据设备的模型和当前状态请求调整的游戏参数。如果可以直接缓存公共状态的结果,则可以避免大量重复分析计算。边缘服务器的计算资源有限且宝贵。如果这些重复任务的计算结果可以重用,则可以在很大程度上避免资源浪费。
  • 任务集合 X X X,结果大小集合 Y Y Y,一个区域里的 N N N个用户产生的任务集合 J J J,第 n n n个用户的任务可表示为 J n = { b n , d n , Y n } J_n=\{b_n,d_n,Y_n\} Jn={ bn,dn,Yn} b n b_n bn表示在传输过程中要处理的任务的计算数据的大小, d n d_n dn表示完成任务所需的CPU时钟周期数。
  • 每个区域的用户对不同的任务有不同程度的偏好,即生成每种类型任务的概率不同。我们假设用户在每个区域中从 X X X生成任务的概率服从不同的 zipf 分布,并且生成的任务在第 m m m个区域中的概率分布表示为 η m = { η 1 , η 2 , η 3 . . . } \eta_m=\{\eta_1,\eta_2,\eta_3...\} ηm={ η1,η2,η3...}
  • 我们假设所有边缘服务器都配备了相同大小的缓存来存储任务的计算结果,以避免重复计算,并且具有相同的计算能力。多个边缘服务器可以通过网络通信共享缓存,从而形成协作缓存网络。此外,用户可以在区域之间移动。如果用户在边缘服务器获得计算结果之前移动到另一个区域,则必须迁移计算结果,从而导致额外的迁移开销。

A. Computation Model

为了确保计算结果的完整性,我们假设用户生成的任务要么本地执行计算,要么完全执行卸载计算。为了便于表达并避免繁琐的上标和下标,我们在本文的其余部分省略了符号的标记m和k,其中m表示区域数,k表示时隙数。默认情况下,它表示用户在当前时隙k中所处的区域m。例如,变量 f n e d f^{ed}_n fned表示当前时隙中位于区域 m m m中的用户 n n n从边缘服务器分配的计算资源。为了避免混淆,我们保留了标签,并在可能存在误解的地方用()标记。

我们定义一个变量 a n a_n an来表示用户 n n n的卸载决策。

  • a n = 0 a_n=0 an=0时,用户选择在本地执行任务;
  • a n = 1 a_n=1 an=1时,用户选择卸载到边缘服务器以执行任务
  • a n = 2 a_n=2 an=2表示用户将任务发送到云以执行任务。
Local Computation Model

如果用户 n n n选择在本地执行任务,对于任务 J n J_n Jn,任务的执行时间:
在这里插入图片描述
d n d_n dn表示完成任务所需的CPU时钟周期数) f n l o c f_n^{loc} fnloc表示用户n的移动设备的算力,用每单位时间可执行的CPU周期数表示。我们假设所有移动设备具有相同的计算能力,计算过程中的能耗可以表示为:
在这里插入图片描述

Offloading Computation Model
卸载到边缘

如果 a n = 1 a_n=1 an=1,用户需要首先通过无线网络访问当前区域中的小型基站(SBS),然后将任务卸载到边缘服务器以执行计算。因此,与本地执行任务不同,卸载执行任务将导致额外的传输延迟和能耗开销。首先,用户需要将任务交付给边缘服务器。将 r n r_n rn定义为用户 n n n向边缘服务器传递任务的上行链路传输速率 r n r_n rn可以表示为:
在这里插入图片描述
其中 B n B_n Bn是在当前信道条件下由用户设备 U E n UE_n UEn分配的带宽。我们假设所有用户平均分配带宽, P n P_n Pn U E n UE_n UEn的传输功率, h n h_n hn U E n UE_n UEn的信道增益, N 0 N_0 N0是高斯白噪声信道方差。用户 n n n的任务【传输延迟】可以表示为:
在这里插入图片描述
此时,边缘服务器将处理计算任务。如果边缘服务器提供的总计算能力是 F e d F_{ed} Fed,分配给用户 n n n的边缘服务器的计算能力为 f n e d f ^{ed}_n fned,则任务的【计算延迟】可以表示为:
在这里插入图片描述
最后,边缘服务器将结果发送回用户。任务计算结果的数据量通常非常小,我们将忽略此过程导致的传输开销。基于上述分析,用户在上述过程中产生的能耗支出可以得到:
在这里插入图片描述
其中 P n e d P^{ed}_n Pned是任务传输过程中用户的传输功率, P n i P^i_n Pni表示用户设备的空闲功率。

卸载到云

类似地,如果用户选择将任务卸载到中央云执行,则首先需要将任务传输到云,然后在云中执行任务,最后将计算结果返回给用户。总延迟可以表示为:
在这里插入图片描述
其中, v n v_n vn是用户向中心云传输任务时的上行链路传输速率, f n c l f^{cl}_n fncl是分配给用户n的云计算能力。本文假设向云的区域传输任务的速率恒定为 V V V,云可以提供的最大计算能力为 F c l F_{cl} Fcl。将任务卸载到云的所有用户将平均分配这些任务。整个卸载过程的能耗成本可以表示为:
在这里插入图片描述
P n c l P^{cl}_n Pncl是用户在向云传输任务的过程中的传输功率。

B. Result Caching Model

我们假设当用户生成计算任务时,缓存在第m个区域的边缘服务器中的任务数为 k k k,缓存内容表示为 C a c h e m = { λ 1 , λ 2 , … , λ k } Cache_m=\{λ_1,λ_2,…,λ_k\} Cachem{ λ1,λ2

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值