# 系统模型假设

在模型中,我们有NN 个 IoT 设备,设置时间跨度为TT 并且分为TT 步。对于每一个时间tt,设备ii 需要处理队列中的一个任务,用元组(Li,t,Ci,t,Ti,t)(L_{i,t}, C_{i,t}, T_{i,t})。第一项表示任务的大小,第二项表示任务的 CPU 周期要求,第三项表示任务的最大延迟阈值。在任何时刻tt,设备都可以在本地进行任务或者将任务卸载到边缘或者 cloud server

定义xi,t,yi,t,zi,tx_{i,t}, y_{i,t}, z_{i,t},这三个系数表示任务的执行决定。第一项表示若任务在本地执行则为 1,否则为 0;第二项表示任务是否卸载在边缘,第三项表示任务是否卸载到云中心。所以有xi,t+yi,t+zi,t=1x_{i,t}+ y_{i,t}+ z_{i,t} = 1

当设备决定卸载任务时,延迟和能耗将取决于信道条件、任务的大小以及设备传输其任务的功率;在本地计算的情况下,它们取决于计算资源的利用率。

如果设备决定卸载任务,它应该首先通过无线信道将其传送到支持 MEC 的基站。在时间tt,用户的数据传输速率表示为:

ri,t=Blog2(1+pi,thi,tσ2)r_{i,t} = B\log_2 \left(1+\cfrac{p_{i,t}h_{i,t}}{\sigma^2} \right)

BB 表示传送带宽,pp 表示设备的传输功率,hh 表示信道增益,σ\sigma 表示接收器噪声

下图是当卸载任务时,设备ii 的通信延迟和能量消耗

通信延迟能量消耗

如果设备ii 卸载到 edge server,计算延迟表示为Ti,te=Ci,tFeT^e_{i,t} = \cfrac{C_{i,t}}{F^e};如果卸载到 cloud server,计算延迟表示为Ti,tc=Ci,tFcT^c_{i,t} = \cfrac{C_{i,t}}{F^c}。分母表示为两种服务器的平均计算能力

当一个任务被卸载到任何一个服务器上时,处理该任务的能量消耗就是传输任务的能量,因此Ei,tcE^c_{i,t}Ei,teE^e_{i,t} 都等于E^{comm}_

如果设备ii 选择在本地执行任务,本地计算的延迟和能耗将取决于在时间tt 分配给处理任务的计算资源量,用fi,tLf^L_{i,t} 表示。因此设备的本地延迟和能耗表示为Ti,tL=Ci,tfi,tL,Ei,tL=κi(fi,tL)2T^L_{i,t} = \cfrac{C_{i,t}}{f^L_{i,t}}, \quad E^L_{i,t}=\kappa_i ( f^L_{i,t} )^2 κ\kappa 是常数,取决于设备芯片结构。

# 多目标问题陈述

在指定的时间范围内,以分散的方式联合最小化物联网设备的长期延迟和能耗。每个设备的长期预期成本(延迟和能耗的加权总和)分别表述如下:



黑体字母代表各个时间的向量。由于云服务器一般距离物联网设备较远,访问云的延迟通常比卸载到位于网络边缘的边缘服务器的延迟要大。在公式中Ψ\Psi 表示访问云服务器的延迟,包括将任务从 BS 转移到云端所需的时间,路径中可能的路由,以及响应延迟。

问题建模如下:

如果设备ii 在能源资源方面比计算资源更受限制,那么λi\lambda_i 的值应该被设置为一个较大的数字。否则,λi\lambda_i 应该是一个小数字。这个问题由于系数的加入是一个 MINLP,无法在可接受的时间跨度内得到解决。

# FEDERATED DDQN ALGORITHM

卸载决策优化: 由于每个物联网设备有三种选择来处理任务(即本地、边缘服务器或云服务器计算),在每个给定的时间步长中,几乎有23N2^{3N} 种可能的卸载选择(从集中式控制器的角度来看)。随着设备数量的增加,这种复杂性也会呈指数级激增。为了解决这个问题,我们应用了一个多代理 DDQN 框架,其中每个物联网设备将使用他们的本地数据训练他们的本地 DDQN 模型。

计算和通信资源分配: 考虑到卸载决定,我们对设备的计算能力或发射功率进行优化,以使能源消耗和延迟的加权和最小化。我们使用优化理论来解决这部分问题,然后将结果作为直接成本函数输入 DDQN 框架。通过这种方式,我们为学习代理提供了一个真正意义上的所采用的卸载政策的质量,它反映了系统模型的许多重要方面(如每个设备的资源限制和他们的 QoS 需求)。在 DDQN 代理通过上述过程进行一轮训练后,我们应用联合学习框架,每个物联网设备将训练其 DDQN 模型,与集中式控制器共享其模型,并向中央聚合单元更新其模型。

# 用于卸载决策的 DDQN

状态空间: 对于每一个设备代理的状态空间sis_i 由以下几个部分组成,设备ii 的任务队列长度Li,t\mathcal{L}_{i, t},路径增益hi,th_{i,t},当前正在处理任务的大小Li,tL_{i,t},CPU 周期要求Ci,tC_{i,t}。因此有si={Li,t,hi,t,Li,t,Ci,t,Emax,i,Fmax,i}s_{i}=\left\{\mathcal{L}_{i, t}, h_{i, t}, L_{i, t}, C_{i, t}, E_{\max , i}, F_{\max , i}\right\}

动作空间:A\mathcal{A} 表示,包括处理任务在本地或者是卸载

代价: 式 (8) 表明一个代理的成本等于目标函数中给出的延迟和能耗的加权和。在卸载的情况下取决于pi,tp_{i,t} 的值,如果选择本地计算,则取决于fi,tf_{i,t} 的值。
当选择本地计算时(xi,t=1)\left( x_{i,t} = 1\right),成本将通过解决下面的瞬时优化问题来计算:

minfi,tTi,tL+λEi,tLsubjectto:C1,C2,C3\begin{aligned} \min _{f_{i, t}} T_{i, t}^{L}+\lambda E_{i, t}^{L} \\ subject to: \mathrm{C} 1, \mathrm{C} 2, \mathrm{C} 3 \end{aligned}

在选择卸载的情况下(yi,t=1 or zi,t=1)\left( y_{i,t} = 1 \ or \ z_{i,t} = 1 \right)

minpi,tyi,t(Ti,te+Ti,tcomm+λEi,tcomm)+zi,t(Ti,tc+Ti,tcomm+Ψ+λEi,tcomm)subjectto:C2,C3\begin{aligned} &\min _{p_{i, t}} y_{i, t}\left(T_{i, t}^{e}+T_{i, t}^{\mathrm{comm}}+\lambda E_{i, t}^{\mathrm{comm}}\right) \quad+z_{i, t}\left(T_{i, t}^{c}+T_{i, t}^{\mathrm{comm}}+\Psi+\lambda E_{i, t}^{\mathrm{comm}}\right) \\ &subject to: \mathrm{C} 2, \mathrm{C} 3 \end{aligned}