1. 介绍
近年来,随着卫星通信技术的飞速发展和低轨卫星网络(Low Earth Orbit, LEO)的迅速部署,低轨卫星已成为全球互联网覆盖和增强地面通信能力的重要手段[1]。低轨卫星因其轨道高度较低(通常在300公里至2000公里之间),具有较低的通信延迟和更高的数据传输速率[2],但同时也面临着资源有限、计算能力受限以及频繁切换等挑战[3]。在低轨卫星网络中,卫星以往充当中继转发的角色已经无法满足任务需求,借鉴地面网络MEC的思想,边缘计算已被引入卫星网络[4]。星间计算卸载(Inter-Satellite Computation Offloading)是指将计算任务从一个卫星卸载到另一个卫星或地面站进行处理[5],这种方法可以充分利用星座中各卫星的计算资源,提高整体计算效率,降低延迟,进而提升服务质量。然而如何在动态变化的网络环境中高效地进行计算任务的卸载和资源分配,是一个复杂而具有挑战性的问题[6]。
在基于模型的方法中,文献[7]提出了一种联合卸载决策与资源分配的方法。该方法将卸载决策问题建模为具有外部性的多对一匹配博弈,并通过改进的Gale-Shapley算法和联盟博弈迭代算法进行求解。同时,资源分配问题通过Rosen梯度投影法和拉格朗日乘子法进行优化求解。文献[8]提出了一种联合卸载与计算资源分配的算法。该算法将原始问题分解为三个子问题:用户关联、任务调度和计算资源分配。与基准方案相比,该算法有效地降低了系统能耗。文献[9]提出了一种基于遗传算法的卫星边缘计算卸载方法。该方法通过与卫星边缘节点协作,解决了多个具有高服务质量要求的独立任务的卸载问题,从而缩短任务响应延迟并降低任务卸载失败率。
在数据驱动方法中,文献[10]提出了一种基于分布式深度学习的协同计算卸载算法,通过多个并行深度神经网络动态学习计算卸载策略。与其他计算卸载策略相比,该算法在保持较低计算复杂度的前提下,实现了接近最优的性能。文献[11]提出了一种基于软行为体批评(Soft Actor-Critic, SAC)的任务卸载与资源分配优化算法,旨在同时最小化系统延迟和能耗。文献[12]提出了一种基于Dueling-Double-Deep-Q-Learning算法的分布式方案。该方案利用深度强化学习(DRL)方法,解决了卫星网络中机载带宽、能量和存储资源有限的问题。
与上述方法不同,本文提出了一种基于DDPG的卫星间计算卸载与资源分配方法,能够联合优化卸载卫星选择和计算资源分配变量。本文的主要贡献总结如下:
1) 提出了一种强化学习辅助的卫星间计算卸载与资源分配方法,涵盖卸载卫星的选择、优化问题建模以及问题求解的完整流程。
2) 对最小化系统延迟、能耗和信任值加权成本的优化问题进行了建模,并在满足延迟和计算资源约束的前提下,构建DDPG算法,以联合优化卸载策略与资源分配变量。
3) 通过仿真结果验证,所提出的方法在收敛性能上表现更优,并且与传统方法和DQN方法相比,取得了更好的性能表现。
本文的其余部分组织如下。第二节介绍了系统模型。第三节介绍了问题建模。第四节中,介绍了基于强化学习的星间计算卸载与计算资源分配的算法。第五节给出了仿真结果。最后,第六节对本文进行了总结。
2. 系统模型和问题建模
2.1. 系统模型
本文以Starlink一期星座为构型,其包括1584颗卫星,星座由72个轨道平面组成,每个轨道平面上有22颗卫星,卫星运行在大约550公里的低地球轨道(LEO) [13]。本文构建的低轨卫星星间卸载系统模型如图1所示,由一个数据采集节点、一个本地卫星、多个可用卫星和一个融合中心卫星组成。数据采集节点搭载各种传感器和设备收集数据,并在收集后数据采集节点进行初步的数据处理。本地卫星将收到的任务分割为多个子任务,并将任务信息发给融合中心。边缘卫星有一定的计算资源,可以执行计算卸载子任务。融合中心接收当前系统中的全局信息,以进行决策。
Figure 1. Offloading scenario between low orbit satellites
图1. 低轨卫星星间卸载场景
具体卫星星间计算卸载流程如图2所示。假设低轨卫星间具有星间链路,数据采集节点通过各种传感器和设备采集数据,将数据通过星间链路传输到本地卫星。本地卫星收到任务后,对其进行分割得到多个子任务,并将各子任务的信息发送给融合中心(cloudcore)。各个可用卫星将自身信息发送给融合中心,融合中心根据约束条件得到参与协作的卫星,并通知选择的边缘卫星加入协作。然后融合中心通过得到的任务信息与边缘卫星群组信息来求解得到卸载决策和计算资源分配信息,并将结果发送至本地卫星。本地卫星将可用卫星加入边缘卫星群组,并根据求解结果对群组内的卫星进行任务和模型分发,本地卫星与边缘卫星同时开始处理任务,处理完成后本地卫星将任务结果进行汇总,最后将最终结果发送给地面。
Figure 2. Offloading process diagram of satellite inter satellite computation
图2. 卫星星间计算卸载流程图
2.1.1. 星间链路
Figure 3. Interstellar link
图3. 星间链路
低轨卫星间采用常见的“X”型星间链路构型,如图3所示,每颗卫星建立两条同轨星间链路和两条异轨星间链路[14]。网络中任意两个卫星间可由一条或多条路径相连接,且各条路径的跳数可能不同。本文采用最小跳数准则,后面分析的跳数均为两点间连接所需的最小跳数。
2.1.2. 任务模型
首先将接收到的总任务进行分割,得到M个子任务,每个子任务由两个参数组成的元组Ci = <di, ci>来表示,其中di表示子任务的数据量,ci表示完成子任务i需要的周期数。
2.1.3. 计算模型
对于每个子任务,本地卫星可以通过星间链路将其卸载到不同的边缘卫星上,在不同的卫星上子任务可以同时执行,很大程度上降低了时延。每个子任务的卸载决策用
表示,其中
表示子任务在本地卫星上计算,
表示本地卫星将子任务i卸载到边缘卫星j上进行计算。
(1) 本地计算模型
子任务在本地卫星进行计算时,考虑在边缘计算环境中,本地卫星的计算能力恒定,所以定义本地卫星的计算能力为
,因此可以得到子任务i在本地卫星执行的时间为
,即
(1)
为了计算本地卫星执行子任务时的能耗,采用每个计算周期的能耗模型[15]
,其中,κ (能量系数)取决于有效开关电容,f是卫星的工作频率。因此,本地卫星执行子任务i时的能耗为
,即
(2)
在本系统中可信值也是一个影响选择节点的因素,在本地计算时的可信值相比于卸载计算较高,所以在本地计算时的可信值设置为
,其值设置为一个常数。
(2) 边缘卫星计算模型
当本地卫星执行子任务不满足约束条件时,考虑将子任务卸载至边缘卫星进行计算。发送过程中会存在传输时延与传播时延,定义本地卫星与边缘卫星之间的传输速率为
,因此子任务i卸载到边缘卫星j的传输时延为
,即
(3)
定义子任务卸载时的传播速度为c,L为两星之间的距离当跳数为1时,传播距离为本地卫星与边缘卫星j之间的距离,当跳数大于1时,传播距离为本地卫星与边缘卫星j之间最小跳数路径的距离之和,因此子任务i卸载到边缘卫星j的传播时延为
,即
(4)
当子任务卸载至边缘卫星侧时,边缘卫星会为其分配计算资源。定义边缘卫星j的计算能力为
,假定边缘卫星j给子任务i分配的计算能力为
。对于任意一颗边缘卫星,其为任务分配的计算资源不能超过其自身计算资源,即
(5)
因此子任务i在边缘卫星j上计算的时间为
,即
(6)
子任务从本地卫星卸载至边缘卫星的能耗包括任务传输能耗
和任务计算能耗
,定义
为本地卫星的传输功率,由此可得传输能耗为
(7)
根据本地卫星计算能耗可知,边缘卫星计算能耗为
(8)
假设节点出现故障的概率服从参数为
的泊松分布[16],则在时间间隔[0, t]内节点发生故障p次的概率为
。定义可信值
为在子任务i处理时间间隔[0, t]内边缘卫星节点j上没有发生故障(即p = 0)的概率,其值为
(9)
2.2. 问题建模
由公式(1)和公式(3~6),可以得到子任务i的时延可表示为如式(10)
(10)
由公式(2)和公式(7~8),可以得到子任务i的能耗可表示为如式(11)
(11)
由公式(9),可以得到子任务i的可信值可表示为如式(12)
(12)
根据公式(10~12)可得,子任务的总时延、总能耗和总可信值的加权和(系统成本)如式(13)
(13)
其中,
为时延的权重因子,
为能耗的权重因子,
为可信值的权重因子,通过调节权重因子可以改变每个分量的大小。
本文旨在最小化系统时延与能耗,最大化可信值,综上所述,在时延与资源的约束下,通过联合优化卸载决策与计算资源分配问题以最小化系统成本。具体的目标函数为:
(14)
约束条件(1)表示一个子任务只能选择一个边缘卫星进行卸载;约束条件(2)表示子任务需要在规定时间内完成;约束条件(3)表示边缘卫星j为卸载至该卫星的子任务分配的计算资源总和不能超过其最大计算资源。
3. 基于DDPG的卸载决策与计算资源分配
首先,本地卫星将收到的任务分割成多个子任务,并通过节点选择从周围可用卫星中来筛选符合条件的卫星,将其加入边缘卫星集群。本地卫星和边缘卫星通过星间链路将任务信息和可用计算资源参数发送给云中心节点,中心节点将得到的任务信息和状态参数输入到DDPG网络中进行训练,得到计算卸载的最优策略和系统开销。
3.1. 节点选择
本地卫星可以通过星间链路与多条转发让周围卫星参与协作,假定σ表示在一段时间内卫星发生故障的平均次数,hop表示本地卫星与周围卫星之间的跳数,由于卫星网络节点的不确定性,每个卫星的σ值和hop不同,由此可以通过约束来筛选符合条件卫星节点加入边缘卫星群组:
(15)
(16)
3.2. MDP建模
本文的优化变量包括离散变量A和连续变量F,则目标函数是一个混合整数非线性规划,采用传统方法难以获得最优解,因此本文引入马尔可夫决策过程(Markov Decision Process, MDP),采用DDPG算法处理混合动作并学习最优卸载策略。
根据提出的优化问题进行MDP建模,模型包括状态、动作和奖励三部分。每个时间步智能体通过与环境进行交互,根据当前状态sp来采取动作ap,得到一个奖励rp,并反馈给环境获得一个新的状态sp+1。
(1) 状态空间:状态空间sp包含了系统所有的观测状态,包括系统输入状态(包括任务队列状态、任务数据量、任务CPU周期数)和系统资源状态,在时刻
的状态空间用一维向量表示为:
(17)
其中,
表示当前任务队列状态,
表示所有子任务的信息,
表示边缘卫星当前剩余计算资源。
(2) 动作空间:在p时刻采取的动作ap包含决策卸载与计算资源分配,可表示为:
(18)
其中,
表示在p时刻让子任务i卸载到边缘卫星节点j,
表示在p时刻让边缘卫星节点j为子任务分配的计算资源。
(3) 奖励函数:在状态sp执行动作ap,环境进入下一状态sp+1,并返回对应的奖励rp。设计的奖励函数应满足目标函数的需求[17],最小化时延与能耗,最大化可信值,所以奖励函数设计为:
(19)
其中,K为常量,使奖励趋向正值,
是式(14)中的优化目标。Q表示惩罚项,由两部分组成,
表示子任务处理超时的惩罚,
表示分配的计算资源溢出的惩罚,这两种情况都会导致系统成本增加,从而导致惩罚。
3.3. DDPG算法
Figure 4. DDPG algorithm framework
图4. DDPG算法框架
基于DDPG的卫星星间计算卸载过程的框架如图4所示,该算法使用演员–评论家(Actor-Critic)算法作为其基本框架,对于策略函数和价值函数均使用双重神经网络模型架构(即Online网络和Target网络),使得算法的学习过程更加稳定,收敛的速度更快。DDPG单元包括四个神经网络,分别为Actor训练网络、Actor目标网络、Critic训练网络和Critic目标网络,用于对Q值函数和策略近似表示。Actor训练网络和Critic训练网络用来输出动作和估计动作的Q值;Actor目标网络和Critic目标网络用来输出目标Q值。首先,从环境获取当前状态sp,由Actor训练网络提供当前状态的策略来输出动作ap,得到当前任务的卸载和资源分配,为了平衡对新动作的探索和对已有动作的利用,添加了一个具有均值回复特性的OU (Ornstein-Uhlenbeck)噪声
:
(20)
执行动作ap后由环境反馈得到奖励rp和下一状态sp + 1,将每个时间步的状态、动作、奖励和下一状态表示为一条经验
,并存入经验回放缓冲区。
当存放的经验数目等于回放缓冲区的大小时开始训练,从经验缓冲区中随机抽取batch_size组经验,首先,通过Critic目标网络得到式(21)
(21)
其中,
为折扣因子,
由Actor目标网络近似估计得到,通过Critic训练网络得到式(22)
(22)
然后通过最小化损失函数来来更新Critic训练网络,如式(23)
(23)
Actor目标网络用于提供下一状态的策略,Actor训练网络则是提供当前状态的策略,结合Critic训练网络的Q值函数,可以通过Actor网络更新策略梯度来训练,如式(24)
(24)
最后通过软更新的方式更新Actor目标网络和Critic目标网络,如式(25)
(25)
(26)
4. 仿真分析
本节对所提出的基于DDPG的星间计算卸载方案进行了仿真分析。首先。我们分别描述了仿真参数和网络结构。然后,我们对不同参数对训练过程和结果的影响进行了分析。
4.1. 参数设置
利用STK软件得到某一时刻一组可用卫星的拓扑结构与各节点之间的距离,通过STK的接口将各个卫星之间的距离矩阵导入Pycharm,表1为仿真相关参数的设置。
Table 1. Simulation parameter settings
表1. 仿真参数设置
参数 |
数值 |
Number of tasks, M |
10 |
Number of edge satellites, N |
[1, 6] |
Size of total task, D |
[10, 50] MB |
Task workload, ω |
10 cycles/bit |
The computing capacity of local satellite,
|
1 GHz |
The computing capacity of edge satellite,
|
[5, 10] GHz |
The transmission of local satellite, ptrans |
3 W |
The effective capacitance coefficient, κ |
10~28 |
Inter satellite transmission rate, v |
2 × 104 MB/s |
Maximum tolerable delay, tmax |
200 ms |
对于DDPG的参数,Actor网络包含两个全连接层,分别由128和64个神经元组成,学习率为0.0001,Critic网络包含三个全连接层,分别由258、128和64个神经元组成,学习率为0.001,两个网络都采用AdamOptimizer来进行更新,OU噪声的初始标准差为σ = 0.5,回归速度为θ = 0.2,时间步长dt = 0.01,OU噪声每个时间步的标准差衰减率为0.9995,折扣因子为γ = 0.99,软更新因子为τ = 0.001。
在训练过程中,最大训练回合数为2000,经验回放缓冲区的大小为30000,采样批次大小为128。为了验证DDPG算法的优势,将其与Local、Random和DQN算法进行对比。其中,Local为不进行卸载,本地处理任务;Random为任务随机生产卸载决策和边缘卫星随机为任务分配计算资源;DQN中将边缘卫星计算资源分配进行离散化,得到离散的卸载决策和计算资源分配的动作组合。
4.2. 性能分析
图5为DDPG算法在不同优化器下的loss曲线,从图中可以看出使用Adam优化器可以使算法的loss更好的收敛。图6为不同算法的收敛性能比较,由图可见Local、DQN和DDPG随着迭代轮次的增加都可以达到稳定收敛。可以看出DDPG算法能够得出最优策略并最大化了奖励,证明了所提方案的有效性。此外由于DQN对动作空间的离散化,缺乏大量的行为尝试,这使得DQN很难准确地找到最优的卸载策略,因此奖励低于DDPG。对于Local,由于大多数任务不能按时完成,因此奖励最低;其次是Random,其奖励不稳定且无法收敛,原因为随机卸载方案是随机选取动作,无法保证选取合适的任务关联和资源分配策略,导致波动较大。
Figure 5. Comparison of convergence performance of different algorithms
图5. 不同优化器下loss对比
Figure 6. Comparison of convergence performance of different algorithms
图6. 不同算法收敛性能比较
表2列出了各种算法的运行时间,由此可见,训练时间与神经网络结构有关,参数越多、层次越多,需要的学习时间就越多。但他们在测试阶段花费的时间区别不大,这意味着算法在实际部署中的可行性。
Table 2. Running time
表2. 运行时间
算法 |
训练阶段 |
测试阶段 |
DDPG |
603.14 |
21.66 |
DQN |
358.61 |
17.69 |
PSO |
/ |
49.34 |
Random |
/ |
2.93 |
Local |
/ |
2.69 |
图7为不同任务数据量对系统奖励的影响。从图中可以看出,随着任务数据量的增加,4种算法的系统的奖励都不断减小,这是因为总任务数据量增加时,分割得到的每一个子任务的数据量也会增加,从而导致子任务的计算时延和能耗增加。具体来说,Local算法表现最糟糕,由于所有任务都是在本地计算,随着数据量增加,无法在规定时间内完成任务导致奖励较低。Random算法是随机选取动作,可能会选到部分合适的策略,所以较Local来说在数据量较大时奖励高一些。而DQN和DDPG算法较前两种方法能取得较高的奖励,尤其是DDPG可以得到边缘卫星精确的资源分配,所表现的性能更佳。
Figure 7. Rewards for different algorithms under different task data volumes
图7. 不同任务数据量下不同算法的奖励
图8为不同边缘卫星数量对系统奖励的影响。可以看出,随着边缘卫星数量的增加,除了Local外,所有算法的奖励都不断增加,原因是在边缘卫星较少时,大部分任务在本地卫星计算,导致无法满足时延需求,奖励较低,随着边缘卫星数量增加,每个子任务所分到的计算资源增加,所以奖励也逐渐增加。Local算法因为所有任务在本地计算,边缘卫星的数量变化对其没有影响,所以奖励保持不变。Random算法由于其随机选择导致动作可能超出了计算资源约束条件,会受到惩罚,所以其奖励增长较少。对于DQN和DDPG,DDPG算法的性能要优于DQN,因为随着边缘卫星数量的增加,其离散化动作空间导致动作空间的维度增大,所以得到的奖励较低于DDPG。
Figure 8. Rewards for different algorithms under different numbers of edge satellites
图8. 不同边缘卫星数量下不同算法的奖励
Figure 9. Time efficiency and energy efficiency under different numbers of edge satellites
图9. 不同边缘卫星数量下的时效与能效
图9为不同边缘卫星数量的时效与能效曲线。对于任务的时效与能效的计算式分别为:时效 = 数据量/时延和能效 = 数据量/能耗,由图中可以看出随着边缘卫星数量的增加,时效逐渐增大,能效逐渐减小。由于边缘卫星数量增加到一定程度时,时延虽然减小,但是能耗大幅增加。
图10为不同算法的平均时延。根据上述图表,可以得出在不同算法的平均时延比较中,DDPG算法的平均时延最低,仅为1.16 s,显示出最优的性能表现。这表明DDPG在任务卸载与资源分配方面具有较好的优化效果。相比之下,DQN和PSO算法的平性能略逊于DDPG,但依然表现较好。而Local方法(本地计算)具有最高的平均时延,达到2.39 s,进一步验证了单纯依赖本地计算难以满足任务时延需求的局限性。因此,使用DDPG算法可以有效地减少任务时延,提升系统性能。
Figure 10. Average latency of different algorithms
图10. 不同算法的平均时延
Table 3. Percentage reduction in processing task latency under different numbers of edge satellites
表3. 不同边缘卫星数量下处理任务时延减少的百分比
边缘卫星数量 |
时延 |
1 |
10.9% |
2 |
24.3% |
3 |
34.3% |
4 |
46% |
5 |
48.5% |
6 |
51.5% |
Table 4. Percentage increase in processing task energy consumption under different numbers of edge satellites
表4. 不同边缘卫星数量下处理任务能耗增加的百分比
边缘卫星数量 |
能耗 |
1 |
62.5% |
2 |
104.2% |
3 |
170.8% |
4 |
287.5% |
5 |
416.7% |
6 |
429.2% |
表3为不同边缘卫星数量下处理任务时延减少的百分比,表4为不同边缘卫星数量下处理任务能耗增加的百分比。可以看出卫星数量增加的过程中,时延减少的百分比的增量逐渐减小,在卫星数量大于4时增量较小;能耗增加的百分比的增量逐渐增加,从4增加到5时增量较大。
5. 结论
本文提出了一种基于强化学习的低轨卫星星间计算卸载与资源分配方法,以应对单星任务处理成本高及卫星网络节点故障频率变化的问题。通过构建以最小化时延和能耗、最大化可信值为优化目标的模型,并利用DDPG算法联合优化卸载决策与资源分配,主要得出以下结论。
所提出的计算卸载策略相比单星处理任务,能够显著减少任务时延(减少51.46%),同时在能耗优化方面表现突出;与传统PSO算法相比,DDPG算法在任务卸载与资源分配的性能上表现更优,任务时延减少了36.26%;与DQN方法相比,DDPG算法在资源分配精确性和时延优化方面更具优势,任务时延减少了26.11%;仿真实验表明,DDPG算法在不同参数条件下均展现了优越的收敛性能和稳定性,系统奖励显著高于对比算法,验证了其在低轨卫星网络中的有效性。
综上所述,本文提出的方法在低轨卫星计算卸载与资源分配方面具有良好的实用性和性能提升潜力,为实现更高效的卫星网络资源管理提供了有力支持。