论文《卫星网络中基于深度强化学习的高能效任务卸载辅助边缘计算》记录

0 阅读26分钟

摘要梗概

基于卫星网络辅助边缘计算,提出了一种新颖的双云边缘协同任务卸载体系结构,即:星地任务卸载(SGTO)。该体系用地球静止轨道(GEO)卫星和地面云计算中心作为卫星云和地面云,LEO卫星作为边缘节点。以最小化平均时延和平均能量消耗为目标。并从卫星的角度提出一种自适应方法SGTO-A,并且通过深度强化学习自适应地解决这个问题。采用广义邻近策略优化算法(GePPO)进行求解。

介绍

LEO卫星的计算和存储能力有限,并不是所有接收到的任务都可以在LEO卫星上处理。为了解决这个问题,一种常见和实用的方法是通过低轨卫星将任务转移到地球静止轨道(GEO)卫星(称为卫星云)或转移到地面云。然而,低轨卫星相对于地面的移动速度通常要快得多,导致覆盖范围不断变化。这个问题增加了转发任务到地面云的距离,从而产生了更高的通信成本和能源消耗。除了这个问题以外,也存在着由于GEO卫星高度较高,向其转发任务会导致较高的路径损耗和传播延迟。

所以为了提供高质量的计算卸载服务,联合利用LEO卫星、GEO卫星和地面云的优势是非常有必要的。任务分流产生的延迟和能量消耗是两个非常显著的问题。所以,本论文从卫星的角度来考虑任务分流问题。因为卫星可以用来观测和监测不同地理区域的卸货任务信息,从而更全面地了解当地的资源需求。此外不同任务对计算资源有不同的要求,从卫星角度处理卸载问题,可以跟踪卫星的连续状态,从而有助于有效的找到任务卸载的解决方案。

这篇论文提出了应该双云边缘协同任务分流架构(卫星-地面任务卸载体系结构 SGTO)。具体的说:SGTO包含四个层次,即:一个GEO卫星作为卫星云层,LEO卫星作为LEO边缘层,地面终端层和地面云层。在此基础上,从卫星的角度出发,考虑了卫星云、低轨卫星和地面云之间的协同作用,解决了SGTO中地面终端的任务分流问题,旨在优化低轨卫星接收的网络时延和能量消耗。

本文的主要贡献如下:

  • 首次尝试将卫星云和地面云结合到卫星边缘计算中,并设计了SGTO体系结构来提高任务分流的性能
  • 考虑了低轨卫星的异构性和运动特性,提出SGTO的任务分流问题。目标是在低轨卫星资源受限的情况下,最小化任务处理延迟和能量消耗
  • 将任务卸载问题转为马尔可夫决策问题,提出了一种自适应方法SGTO-A,在保证LEO卫星负载均衡的同时,使用广义近邻策略优化自适应地寻找SGTO的任务卸载解。
  • 实验评估SGTO和SGTO-A的性能。

系统建模

SGTO架构分为四层,GEO卫星和地面计算中心都部署了资源充足的云服务器,分别称为卫星云和地面云,并将部署边缘服务器的低轨卫星视为边缘节点,由于云服务器具有强大的处理能力和丰富的计算资源,在将任务卸载到卫星云和地面云时,计算延迟和能量消耗可以忽略不计。

假设SGTO系统中具有M颗LEO卫星,每一颗卫星的计算能力为cmc_m(单位为:cycles/s)。对于每一颗LEO卫星,它覆盖了一个特定的物理区域,该区域内的所有地面终端都可以通过地面-卫星链路访问卫星。卫星可以直接接收和处理他覆盖的地面终端所产生的任务。设I(t)I(t)是在时隙t中接收到的任务集。考虑到低轨卫星有限的计算能力,我们假设每个低轨卫星m在时隙t中有4个相关队列,即:计算队列qmC(t)q_m^C(t)、三个转发队列qmL(t)qmS(t)qmG(t)q_m^L(t)、q_m^S(t)、q_m^G(t)分别代表着转发到相邻的低轨卫星、卫星云和地面云。计算队列也被视作为LEO卫星m的负载。

此外,本文假设接入卫星在不同地区覆盖的地面终端总数各有不同,每个地面终端i会生成一个被记为i的任务,这个不能被拆分,并且有着两个属性(一个是任务大小uiA(t)u_i^A(t),另一个是计算密度uiC(t)u_i^C(t),计算密度代表着处理1bit的数据需要多少CPU时钟周期)。在本论文中,当任务被卸载到地面云时,需要首先通过它们的接入卫星使用LEO星间链路将它们传输到覆盖地面云的LEO卫星,然后通过LEO卫星转发到地面云。另外,LEO卫星的移动速度相当快,这导致了它们的覆盖区域在不同的时隙中变化,与此同时,这也导致它们与地面云通信的跳数发生变化。

论文中的核心符号由Table1标出。

任务卸载决策模型

由于地面终端的计算能力有限,SGTO没有考虑本地计算。我们允许地面终端将任务直接卸载到其接入卫星或其他低轨卫星,或者通过其接入卫星作为中间中继卸载到卫星云或地面云。定义三个布尔型决策变量αi,m(t),βi(t),γi(t)\alpha_{i,m}(t),\beta_i(t),\gamma_i(t)分别代表着在时隙t任务i是否卸载到LEO卫星m,卫星云和地面云。

  • 向低轨卫星分流任务:当αi,m(t)=1\alpha_{i,m}(t)=1,意味着任务i卸载到LEO卫星m。反之则为0。特别是,当m=1时,它代表着任务i是被卸载到它的接入卫星,当m不为1时,任务i通过它的接入卫星卸载到了一个其他的LEO卫星。
  • 卸载任务到卫星云:当βi(t)=1\beta_i(t)=1,意味着任务i通过它的接入卫星与LEO-GEO链路卸载到GEO卫星。反之则为0。
  • 卸载到地面云:当γi(t)=1\gamma_i(t)=1,它代表着任务i被卸载到了地面云。

卸载任务到LEO卫星

LEO卫星的处理时延

当LEO卫星作为卸载任务的接入点,处理时延会包含从地面终端到卫星接入点的传输时延和传播时延、排队时延、计算时延和返回时延四个部分。此外,如果一个任务需要通过接入卫星卸载到其他卫星,则必须考虑星间链路的传输和传播延迟带来的额外延迟,以及低轨卫星直接转发过程中的排队延迟。本论文对于返回时延只考虑将结果传回地面终端的传播延迟,因为结果传输延迟比较小所以可以直接忽略。

地面终端传输任务到接入卫星的传输和传播时延:在时隙t,当任务卸载时,地面终端需要传输他的任务到接入卫星。在这个过程,存在两种类型的延迟:传输延迟DiT_UD_i^{T\_U}和往返传播时延DiP_UD_i^{P\_U}。这个可以被这样计算:

星间传输时延.png,其中RiUL=BUlog2(1+PiULσ2LEL)R_i^{U-L}=B^U\log_2(1+\frac{P_i^{U-L}}{\sigma^2L^{E-L}})是通过地面-卫星链路从地面终端到它的接入卫星的传输速度。假设地面终端有着相同的带宽BUB^U用于任务卸载。σ2\sigma^2代表着加性高斯白噪声的功率。参数PiULP_i^{U-L}LELL^{E-L}分别对应通信功率和链路损失。c代表着光速。dELd^{E-L}代表着地面终端i和它的接入卫星的距离。(这个设置是参考了其他论文做的)每个地面终端只在某个时隙中生成一个任务,从而忽略掉从该终端的传输排队等待时间。

卫星间传输任务的传输和传播时延:地面终端的任务通过它们的接入卫星分流到其他低轨卫星,这些接入卫星通过卫星间链路充当中继站。在LEO卫星间传输任务i总的传输延迟DiT_L(t)D_i^{T\_L}(t)和总往返传输时延DiP_L(t)D_i^{P\_L}(t)可以用以下公式计算:

星间往返传播时延.png

其中Si(t)MS_i(t)\in M代表着涉及将任务i从其接入卫星转发到目标LEO卫星以进行任务卸载的一组LEO卫星。Rm,mLL=Bm,mLlog2(1+Pm,mLLσ2Lm,mLL)R_{m,m'}^{L-L}=B^L_{m,m'}\log_2(1+\frac{P^{L-L}_{m,m'}}{\sigma^2L^{L-L}_{m,m'}})代表着在低轨卫星m和m’之间的传输速率。Bm,mL,Pm,mLL,Lm,mLLdm,mLLB^L_{m,m'},P^{L-L}_{m,m'},L^{L-L}_{m,m'}和d^{L-L}_{m,m'}分别代表着带宽,通信功率,链路损失和LEO卫星m和m‘之间的距离。

LEO卫星间转发的排队时延:当任务i从LEO卫星m转发到相邻接的卫星,它会等待卫星m的转发队列qmL(t)q_m^L(t)。随后,对于任务i总的转发队列时延DiF_LD_i^{F\_L}可以用以下公式计算:

队列转发时延.png 低轨卫星计算的排队延迟:当任务i被卸载到其目标LEO卫星进行处理时,可能需要对其进行计算,从而导致排队延迟Di,mW_C(t)D_{i,m}^{W\_C}(t)。基于LEO卫星m的计算能力cmc_m和它的计算队列qmC(t)q_m^C(t),延迟Di,mW_CD_{i,m}^{W\_C}可以由以下公式计算:

计算排队时延.png LEO卫星上的计算时延:

卫星计算时延.png

基于上面7个公式,在卫星m上任务i的处理时延Di,mL(t)D^L_{i,m}(t)的公式为:

卫星的总处理时延公式.png

总结一下就是:总处理时延=用户终端传到接入点的传输时延+传播时延 + 接入点传到目的LEO卫星的传输时延+传播时延+传输等待时延 + 目的LEO卫星的处理等待时延+处理时延

LEO卫星的能量消耗

将任务卸载给低轨卫星所产生的能量消耗包括地面-卫星链路期间消耗的传输能量、低轨卫星上使用的计算能量以及将任务从接入卫星传输到其他低轨卫星所需的能量(如有必要)。

地面终端与低轨卫星之间传输能耗:设EiT_U(t)E_i^{T\_U}(t)EiT_LE_i^{T\_L}分别是从地面传输任务i到接入卫星和从它的接入卫星传输到目的LEO卫星的传输能量消耗。计算公式分别为:

地面终端传输到接入卫星消耗能量.png

接入卫星传输任务到目的卫星的能量消耗.png LEO卫星的计算能量开销:当任务i被卸载到LEO卫星m,m的计算能量开销EiC(t)E_i^C(t)可以由以下公式计算:

LEO卫星计算能量开销.png 其中μmE\mu_m^E表示LEO卫星m的能量因子,这个取决于芯片架构。

基于上面三个公式,处理能耗Ei,mL(t)E_{i,m}^L(t)可以表示为:

总处理能耗公式.png

总结一下就是,处理能耗=用户终端传输给接入点需要的能量+接入点传输给目的LEO卫星需要的能量+目的LEO卫星计算所需要的能量。

任务卸载到卫星云

卫星云的处理时延

地面终端到卫星云的卸载处理时延包含地面终端到接入卫星的传输和传播时延、LEO-GEO层间链路的传输传播时延、LEO卫星和卫星云之间的转发排队时延和返回时延。

低轨卫星与卫星云之间传输任务的传输和传播时延:当任务i需要被卸载到卫星云时,必须通过LEO-GEO层间链路从其接入卫星传输到卫星云。因此,传输和往返传播分别表示为:DiT_S(t)DiP_U(t)D_i^{T\_S}(t)和D_i^{P\_U}(t),可以用以下公式表示:

低轨卫星与卫星云之间的传输传播时延计算方式.png 其中,RmLS=BmSlog2(1+PmLSσ2LLS)R_m^{L-S}=B_m^S\log_2(1+\frac{P_m^{L-S}}{\sigma^2L^{L-S}})是任务i从接入卫星m到卫星云之间的传输速度,LLS,dLSL^{L-S},d^{L-S}分别是链路损失和LEO-GEO链路的距离,BmS,PmLSB_m^S,P_m^{L-S}分别是带宽和LEO卫星m与卫星云之间的通信功率。

LEO卫星到卫星云的转发排队时延:当任务i从其接入卫星转发到卫星云时,它将在接入卫星的转发队列qmS(t)q_m^S(t)。转发排队时延DiF_SD_i^{F\_S}可以由以下公式表示:

LEO卫星到卫星云的转发排队时延.png 基于第一二条公式与这三条公式,当任务i被卸载到卫星云处理,处理时延DiS(t)D_i^S(t)为:

卸载到卫星云的总处理时延.png

卫星云的能量消耗

在卫星云上处理一项任务的能量消耗由两部分组成:地面-卫星链路的传输能量消耗和低轨地球轨道层间链路的传输能量消耗。地面-卫星链路的传播能耗已经EiT_U(t)E_i^{T\_U}(t)已经讨论过。

LEO卫星和卫星云之间的传输能耗:该能耗表示为:EiT_SE_i^{T\_S},公式为:

LEO卫星和卫星云之间的传输能耗.png 基于这个公式与地面终端和低轨卫星之间的传输能耗可以得到卸载到卫星云的总能耗为:

卸载到卫星云的总能耗.png

卸载到地面云

地面云的处理时延

这个场景下,与在LEO卫星处理相比,处理延迟还包括覆盖地面云的LEO卫星与地面云之间的传输和传播延迟,以及LEO卫星与地面云之间转发的排队延迟。对于任务i,其在地面云中的处理延迟DiG(t)D_i^G(t)的计算方法如下。

LEO卫星到地面云的传输时延:对于任务i,其从覆盖地面云的低轨卫星m到地面云的传输延迟可以用以下公式计算:

LEO卫星到地面云的传输时延.png

其中,RmL_G=BmGlog2(1+PmLGσ2LEL)R^{L\_G}_m=B_m^G\log_2(1+\frac{P_m^{L-G}}{\sigma^2L^{E-L}})是从LEO卫星m到地面云的传输速度。BmG,PmLGB_m^G,P_m^{L-G}是分别是LEO卫星m和地面云的带宽和传输功率。

LEO卫星与地面云之间转发的排队时延:当任务i从覆盖地面云的低轨卫星m转发到地面云时,它将在低轨卫星m的转发队列qmG(t)q_m^G(t)中等待。对于任务i的转发延迟时延DiF_G(t)D_i^{F\_G}(t)可以由以下公式计算:

LEO卫星与地面云之间转发的排队时延.png

基于从地面终端发送任务到目的LEO卫星的公式(1)—(5)和LEO卫星到地面云的传输时延与LEO卫星与地面云之间转发的排队时延的公式,可以知道,当任务i卸载到地面云时,处理时延DiG(t)D_i^G(t)可以由以下公式计算:

DiG(t)=DiT_U(t)+2DiP_U(t)+DiF_L(t)+DiT_L(t)+DiP_L(t)+DiF_G(t)+DiT_G(t)D_i^G(t) = D_i^{T\_U}(t) + 2D_i^{P\_U}(t) + D_i^{F\_L}(t) + D_i^{T\_L}(t) + D_i^{P\_L}(t) + D_i^{F\_G}(t) + D_i^{T\_G}(t)

我们可以注意到LEO卫星之间的传输时延DiT_L(t)D_i^{T\_L}(t),传播时延DiP_L(t)D_i^{P\_L}(t),排队时延DiF_L(t)D_i^{F\_L}(t)是随着跳数的变化而变化的。同时,这里需要地面和低轨卫星之间的两个往返传播时延,即:从地面终端到接入卫星和从低轨卫星到地面云。因此,需要将地面卫星与低轨卫星之间的传播延迟DiP_U(t)D_i^{P\_U}(t)增加一倍。

地面云的能量消耗

任务i在地面云中处理,其处理能耗分为三个部分:将任务i从地面终端传输到其接入卫星所消耗的能量,从它的接入卫星到邻近的LEO卫星所消耗的能量和从覆盖地面云的LEO卫星到地面云所消耗的能量,这三个部分里面前两个部分已经被讨论过了,所以这一节只讨论第三部分。

低轨卫星与地面云之间的传输能量消耗:对于任务i,从覆盖地面云的LEO卫星到地面云的传输能量消耗可以用以下公式表示:

低轨卫星与地面云之间的传输能量消耗.png

总结一下就是,任务i卸载到地面云处理的能量消耗为:

卸载到地面云的总能量消耗.png

问题建模

基于上面的讨论,我们可以得到在时隙t卸载任务i时,处理时延定义如下:

任务卸载总时延.png

在时隙t卸载任务i时,能耗定义如下:

任务卸载能耗.png

由于要最小化处理时延和能耗,所以SGTO中任务卸载问题为:

26a.png 公式26续.png

其中,ω\omega代表卸载任务对时延的权重系数。Di(t)Ei(t)D_i^{'}(t)和E_i^{'}(t)分别是经过Min-Max归一化的任务i在时隙t中的归一化处理延迟和能量消耗。I(t)\mathcal{I}(t)是i的接入卫星在时隙t中接收到的任务集,I(t)I(t)I(t)\mathcal{I}(t)的总任务数量。(26b)公式暗示了任务i只能够被卸载到LEO卫星,GEO卫星(卫星云)或者地面云之中的其中一个。(26c)公式暗示了任务卸载决策。(26d)公式暗示了卸载到LEO卫星m的任务总容量不能超过m的存储能力,当ZmZ_m是m所能提供的最大存储能力。

问题26a已被其他论文证明过是一个非凸的0-1整数规划问题(原文中此处有引用论文)。所以本文采用了深度强化学习算法来求解该问题。

方法设计

这一部分将上述问题重新进行建模,把问题描述为一个MDP,并在此基础上提出了一种基于广义邻近策略优化(GePPO)的自适应星地任务卸载方法SGTO-A来解决MDP问题。

问题重构

论文用一个三元组(S,A,R)来表示MDP,其中S为状态空间,A表示动作空间,R表示奖励。由于本文从卫星的角度进行任务卸载,故将LEO卫星视为执行动作的代理,在每个时隙t中,卸载任务产生的总成本如下:

任务卸载的总成本.png

状态空间

在每一个时隙t中,我们认为状态空间s(t)Ss(t)\in S包含五个部分,接入卫星接收到的任务集合I(t)={1,...i,...,I(t)}\mathcal{I}(t)=\{1,...i,...,I(t)\},每个LEO卫星的计算队列QC(t)={q1C(t),...,qmC(t),...,qMC(t)}Q^C(t)=\{q_1^C(t),...,q_m^C(t),...,q_M^C(t)\},从每一个LEO卫星到卫星云和地面云的转发队列QS(t)={q1S(t),...,qmS(t),...qmM(t)}Q^S(t)=\{q_1^S(t),...,q_m^S(t),...q_m^M(t)\}QG(t)={q1G(t),...,qmG(t),...,qMG(t)}Q^G(t)=\{q_1^G(t),...,q_m^G(t),...,q_M^G(t)\}以及邻接卫星之间的转发队列QL(t)={q1L(t),...,qmL(t),...,qML(t)}Q^L(t)=\{q_1^L(t),...,q_m^L(t),...,q_M^L(t)\}。故,s(t)={I(t),QC(t),QS(t),QG(t),QL(t)}s(t)=\{\mathcal{I}(t),Q^C(t),Q^S(t),Q^G(t),Q^L(t)\}

动作空间

在每一个时隙的开始,接入卫星会观察系统的环境状态s(t)s(t),选择出一个合适的动作a(t)a(t)并且对所有地面终端执行任务调度,系统动作空间被定义为:A={a(0),...a(t),...,a(T)}\mathcal{A}=\{a(0),...a(t),...,a(T)\}。另外,时隙t的动作空间被定义为a(t)={a1(t),...,ai(t),...,aI(t)(t)}a(t)=\{a_1(t),...,a_i(t),...,a_{I(t)}(t)\}。这里,ai(t)a_i(t)代表着在时隙t任务i的卸载决策。由于每个任务有M+2个可能的卸载位置,因此时隙t的动作空间包括(M+2)I(t)(M+2)^{I(t)}个操作。==当I(t)I(t)MM都很大时,就会导致维度”诅咒“。==

奖励

定义R={r(0),...,r(t),...,r(T)}R=\{r(0),...,r(t),...,r(T)\}是每个时隙的奖励。由于强化学习以获得最大奖励来得到最优动作,所以为了最小化用户的卸载成本,奖励被设置为卸载成本的负数。由于不同低轨卫星之间负载水平不同,在进行卸载决策时,有必要考虑它们的负载均衡。因此,在奖励函数中引入一个惩罚因子Δ\Delta,所以最终奖励函数为:

奖励函数.png

其中,lm(t)l_m(t)代表着LEO卫星m在时隙t的负载均衡等级,它是归一化的计算队列的长度,lm(t)=qmC(t)Lml_m(t)=\frac{q_m^C(t)}{\mathcal{L}_m},其中Lm\mathcal{L}_m是LEO卫星可以处理的最大计算队列长度。l(t)\overline{l(t)}是LEO卫星的平均负载均衡等级。

SGTO-A算法

由于卫星覆盖区域的多变性和任务要求的不确定性增加了环境信息的维度,使得问题(26a)更加难以求解。此外,低轨卫星的周期性运动使得每个周期的任务卸载策略具有相关性。然而,对于传统的强化学习策略,例如PPO,很难通过利用这些特征来获得理想的采样效率和学习性能。因此,论文提出了基于GePPO的在线方法SGTO-A。该算法的架构如下图所示。与PPO类似,GePPO具有actor网络、critic网络和轨迹重放池。然而,与PPO不同的是,GePPO可以利用不同周期任务卸载策略的相关性,通过样本重用进一步提高采样效率和学习性能。因此基于GePPO的SGTO-A算法能够更好地适应动态、复杂、周期性的卫星边缘计算场景。

SGTO-A算法架构图.png

SGTO-A的伪代码如Algorithm 1.所示。在离线训练阶段开始时,我们初始化轨迹重放池的数据以及神经网络和全局环境的参数,如行2所示。然后,算法进入主循环,迭代每一轮,并且在每一轮内,循环通过每个时隙,如行3和行4。在每个时隙中,agent会根据当前状态s(t)s(t)执行a(t)a(t)。随后,agent接收对应的奖励r(t)r(t)并转换到下一个状态s(t+1)s(t+1)。最后该信息被存储到轨迹重放池中,此过程如第5—8行所示。

之后,我们从轨迹重放池中检索最近N个周期生成的轨迹经验样本,并将其提供给actor网络和critic网络学习。critic网络将输入样本转为价值函数值和优势函数值。如伪代码的第9行,利用了V-trace来进一步估计状态s(t)s(t)下的价值函数Vtraceπk(s(t))V_{trace}^{\pi_k}(s(t))

价值函数的公式.png

其中,πk\pi_k代表着在第k个周期时的策略,τ\tau是一个取值范围在[0,1]的数,代表着折扣因子,clip(t)\overline{clip}(t)代表着截断重要性采样,可以表示为:clip(t)=min(1,πδold(a(t)s(t))πki(a(t)s(t)))\overline{clip}(t)=\min(1,\frac{\pi_{\delta_{old}}(a(t)|s(t))}{\pi_{k-i}(a(t)|s(t))})ξπk(t)\xi^{\pi_k}(t)代表着价值函数的TD error,表示为:ξπk(t)=r(t)+Vπk(s(t+1)Vπk(s(t)))\xi^{\pi_k}(t)=r(t)+V^{\pi_k}(s(t+1)-V^{\pi_k}(s(t)))。因为我们需要综合考虑未来信息,所以我们使用ll作为求和公式的指标来聚合未来信息。与此同时,根据V-trace的定义,使用jj作为乘积公式的指标,对截断重要性采样进行多步累加。

同样,我们可以进一步估计动作a(t)a(t)在状态s(t)s(t)下的优势函数值Atraceπk(s(t),a(t))A_{trace}^{\pi_k}(s(t),a(t)),如代码第10行所示。Atraceπk(s(t),a(t))A_{trace}^{\pi_k}(s(t),a(t))可以用以下公式计算:

优势函数值计算公式.png

此外,我们可以使用ciritc网络参数θ\theta来评估价值损失函数LV(θ)L^V(\theta),如第13行:

价值损失函数.png

在第14行,给定参数δnew\delta_{new},新的Actor网络的裁剪损失函数可以由以下公式计算:

Actor网络的裁剪损失函数计算方法.png

由于critic网络输出的优势函数等于在最近的策略πk\pi_k下产生的值,因此可以得到Aπδold(s(t),a(t))=Atraceπk(s(t),a(t))A^{\pi_{\delta_{old}}}(s(t),a(t))=A_{trace}^{\pi_k}(s(t),a(t))πki(a(t)s(t)),πδnew(a(t)s(t)),πδold(s(t),a(t))\pi_{k-i}(a(t)|s(t)),\pi_{\delta_{new}}(a(t)|s(t)),\pi_{\delta_{old}}(s(t),a(t))分别代表着在第(k-i)个周期的策略在状态s(t)s(t)下输出动作a(t)a(t)的概率,新的actor网络和旧的actor网络。clip(πδnew(a(t)s(t))πki(a(t)s(t)),πδold(a(t)s(t))πki(a(t)s(t))ϵ,πδold(a(t)s(t))πki(a(t)s(t))+ϵ)\mathrm{clip}\left( \frac{\pi_{\delta_{new}}(a(t)|s(t))}{\pi_{k-i}(a(t)|s(t))}, \frac{\pi_{\delta_{old}}(a(t)|s(t))}{\pi_{k-i}(a(t)|s(t))} - \epsilon, \frac{\pi_{\delta_{old}}(a(t)|s(t))}{\pi_{k-i}(a(t)|s(t))} + \epsilon \right)表示确保输出值在间隔[πδold(a(t)s(t))πki(a(t)s(t))ϵ, πδold(a(t)s(t))πki(a(t)s(t))+ϵ]\left[ \frac{\pi_{\delta_{old}}(a(t)|s(t))}{\pi_{k-i}(a(t)|s(t))} - \epsilon,\ \frac{\pi_{\delta_{old}}(a(t)|s(t))}{\pi_{k-i}(a(t)|s(t))} + \epsilon \right]内的裁剪函数,ϵ\epsilon是裁剪系数。

在获得价值损失函数LV(θ)L^V(\theta)和裁剪损失函数LA(δnew)L^A(\delta_{new})后,我们就可以通过最大化LA(δnew)L^A(\delta_{new})来更新Actor网络的参数,通过最小化LV(θ)L^V(\theta)来更新Critic网络的参数,如同第15行一样。最后通过复制新的Actor网络的参数来更新旧的Actor网络的参数δold\delta_{old},并动态调整裁剪系数和学习率来提高学习的稳定性和效率,如第16和17行所示,并且动态调整这两个参数的方法如Algorithm 2.所示。

SGTO-A伪代码.png

算法2伪代码.png

由于所解决问题的高复杂性和高动态性,在SGTO-A训练期间观察到的环境和状态空间将非常不稳定,使用动态调整参数正是为了解决这个问题。如1到3行代码,设置了一个可变的裁剪系数值,其特征为正态分布。**这有助于算法在新旧策略存在显著差异的情况下,在训练开始时减少限制,能够更好地学习新策略。**此外,随着训练的进行,通过减去vsubv_{sub}直到该值小于vminv_{min}的方式使得正态分布的方差v逐渐减小(目的就是为了让早期训练放宽,后期训练收紧),其中,vminv_{min}是基于当前场景的复杂性的最小方差值预定义。此外,在SGTO-A训练期间,使用基于总变化的幅度的自适应学习率来动态调整学习率Γ\Gamma,(当变化大,就保证把训练稳定下来,当变化小就适当将学习速度加快)如第4到8行所示。总变化幅度(新策略和旧策略相比变化了多少)可以由以下公式计算:

总变化幅度.png

自适应学习速率可防止可能导致训练不稳定的较大更新,并在策略更新较小时提高学习速度。在此处ϕ\phiλ\lambda是最小学习率门限因子和自适应调节因子。

性能分析

仿真设置

评估了权重系数变化的影响,训练性能,卫星位置随时间持续变化的影响,改变低轨卫星和地面终端数量和负载均衡。

下面表格给出了一些实验参数

参数
任务大小服从500kb到1000kb的均匀分布
计算密度200cycles/bit
Critic和Actor的隐藏层大小256个神经元
隐藏层使用的激活函数ReLU
输出层使用的激活函数Softmax
LEO卫星计算能力cmc_m5Gcycles/s
地面终端与接入卫星之间的传输速率RiULR_i^{U-L}250Mb/s
LEO卫星之间的传输速率Rm,mLLR^{L-L}_{m,m'}1.6Gb/s
LEO卫星与GEO卫星之间的传输速率RmLSR^{L-S}_m2Gb/s
LEO卫星与地面云之间的传输速率RmLGR_m^{L-G}1.8Gb/s
地面与接入卫星的距离dELd^{E-L}784km
LEO卫星之间的距离dm,mLLd^{L-L}_{m,m'}4481km
LEO卫星和GEO卫星之间的距离dLSd^{L-S}31305km
LEO卫星的能耗因子μmE\mu^E_m5×1026J/Hz3/s5\times 10^{-26}J/Hz^3/s
LEO卫星的传输功率Pm,mLLP^{L-L}_{m,m'}5W
地面终端的传输功率PiULP_i^{U-L}1W
光速c3×108m/s3\times10^8m/s
负载均衡惩罚因子Δ\Delta0.03
折扣因子τ\tau0.9
初始的正态分布N(η,v)N(\eta,v)N(0,0.3)N(0,0.3)
变化减少量vsubv_{sub}1.5×1031.5\times10^{-3}
最小变化门限vminv_{min}0.15
最初学习率Γ\Gamma3×1043\times10^{-4}
裁剪因子ϵ\epsilon0.2
最小学习率门限因子0.5
自适应因子λ\lambda0.03
优先策略数NN4

基线体系结构包含以下三种:

  • SC-LE:任务可以卸载到低轨卫星或卫星云上,通过低轨卫星和卫星云之间的协作来处理任务。
  • GC-LE:任务可以卸载到低轨卫星或地面云上,通过低轨卫星和地面云之间的协作完成任务。
  • Only-LEO:任务只能卸载到协作的LEO卫星上,任务通过LEO之间的协作来处理。

此外还比较了几种不同的强化学习算法的差异:

  • PPO:该方法也是从卫星的角度触发,采用深度强化学习技术,利用策略梯度算法处理高维动作空间,获得任务卸载决策。
  • JTO-CCRO:这种方法是基于博弈论的,每一轮的卸货决策都是通过迭代过程获得的。
  • OEC-TA:该方法基于贪婪策略,以贪婪的方式为每个任务制定局部最优决策。
  • Random:这种方法为每个任务随机选择一个卸载决策(即选择一颗LEO卫星、一颗GEO卫星或一颗地面云)。

本文使用了四个性能你指标来评估方法的有效性和效率:

  • 平均时延:它是任务所需的平均处理时间。
  • 平均能耗:它是任务所需的处理能耗的平均值。
  • 平均成本:它是归一化平均延迟和归一化平均能耗的加权和。
  • 运行时间:它是系统响应当前状态所用的时间,反映了系统在任务到达时做出卸载决策的速度。

实验结果

ω\omega不同时平均时延和能耗的区别和SGTO-A算法的收敛

Fig3-a.png

可以看出随着ω\omega的增大,系统越来越注重时延。

fig3-b.png

可以看出SGTO-A收敛比PPO所需要的episode少,并且收敛时,SGTO-A得到了比PPO更高的奖励。具体地说:SGTO-A往往在45个episode左右收敛,PPO需要200个episode。此外,SGTO-A在收敛时得到的奖励也比PPO高出4.5%。

SGTO跨时隙性能

图4展示了具有30个用户和5个LEO卫星的不同体系结构的性能,本文把一个周期分为10个时隙。考虑到LEO卫星的位置随着时间的推移而不断变化。在我们的实验中,到达最近的地面云所需的跳数最初增加,然后随着时间的推移而减少。从图4(a)-(c)中,我们可以看到,我们提出的SGTO架构在所有三个指标上都实现了最佳性能,在时间段内的平均延迟、平均能量和平均成本。在所有的例子中,SC-LE和Only-LEO表现出稳定的趋势,但它们不如SGTO有效。这是因为这两种方法忽略了地面云的作用。

fig4.png

与SC-LE和Only-LEO相比,SGTO和GC-LE在平均时延,平均能耗和平均成本随着时间的推移都逐渐增加后又减少。这是因为,随着接入卫星覆盖不同的区域,到地面云的跳数不断变化。当接入卫星服务于距离地面云更远的区域时,向地面云传输任务需要更多的跳数,导致较高的传输延迟、传播延迟和传输能量消耗。因此,当接入卫星离地面云更近时,所需的跳数更少。除此之外,SGTO和GC-LE在这三个指标上的性能都从5个时隙持续提高到10个时隙。此外,GC-LE没有考虑地球静止轨道卫星,完全依赖低轨卫星和地面云之间的合作来进行任务处理。因此,与我们的方法SGTO相比,它有着更高的平均延迟、更高的平均能量和更高的平均成本。

SGTO-A跨时隙的性能表现

图5示出了具有30个用户和5个LEO卫星的不同任务卸载方法的性能。在与图4相同的实验设置下,可以观察到每种方法的平均等待时间和平均能量消耗最初随着时间的推移而增加,然后减少。这是因为随着时间的变化,LEO卫星覆盖不同的区域,在不同的位置接收地面任务。当低轨卫星到地面云的跳数增加时,将任务卸载到地面云需要更高的传输延迟和传输能量消耗。因此,LEO卫星往往与直接相连的遥远卫星云合作。此外,如果通过LEO卫星协同处理更多的任务,也会导致显著的排队延迟。

fig5.png

在不同数量的LEO卫星上的表现

fig6.png

可以看出SGTO-A在所有基线方法中时延和能耗的表现都是最出色的,运行时间虽然不是最低的,但也达到了毫秒级别的运行时间,完全满足需求。

在不同数量地面终端下的表现

fig7.png

LEO卫星负载均衡

fig8.png

可以看出在与所有基线方法的对比中,SGTO-A是最均衡的。

原论文地址

如果有更多想要了解的内容,可以详细阅读一下原论文。

Latency-Energy Efficient Task Offloading in the Satellite Network-Assisted Edge Computing via Deep Reinforcement Learning | IEEE Journals & Magazine | IEEE Xplore