《基于深度强化学习的移动边缘计算中的计算卸载与资源分配算法》作者:李季
文章目录
1. 基于强化学习的整体计算卸载
1.1 系统模型
1.1.1 网络模型
- 单小区场景:一个基站,与MEC服务器部署在一起,为小区内 N N N 个 User Equipment ,UE 提供计算服务。
- 如果同时有
K
K
K 个用户卸载计算,
U
E
n
UE_n
UEn可实现的数据上传速率
r
n
r_n
rn:
- W W W :无线信道的带宽
- 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 :复杂高斯白噪声信道的方差
- 每个
U
E
n
UE_n
UEn 都有一个计算密集型任务
R
n
≜
(
B
n
,
D
n
,
τ
n
)
R_n \triangleq (B_n,D_n, \tau_n)
Rn≜(Bn,Dn,τn) ,可选择在本地设备 / 卸载至MEC服务器上处理
- B n B_n Bn :完成 R n R_n Rn所需的输入数据的大小
- D n D_n Dn :完成计算任务所需的CPU周期总数, D n D_n Dn 与 B n B_n Bn 的大小呈正相关
- τ n \tau_n τn :任务 R n R_n Rn 的最大可容纳延迟
- 每个 U E UE UE只能选择 本地处理 / 将任务整体卸载到MEC服务器上处理
- 用
0
−
1
0-1
0−1向量
α
n
∈
{
0
,
1
}
\alpha_n \in\{0,1\}
αn∈{0,1} 表示
U
E
n
UE_n
UEn的卸载决策,定义
A
=
[
α
1
,
α
2
,
…
,
α
N
]
\Alpha=[\alpha_1,\alpha_2,\dots,\alpha_N]
A=[α1,α2,…,αN]为整个MEC系统的卸载决策向量。
- α n = 0 \alpha_n=0 αn=0,选择本地计算; α n = 1 \alpha_n=1 αn=1,选择整体卸载到MEC服务器执行计算
1.1.2 计算执行模型
A. 本地处理模型
- T n l T^l_n Tnl : U E n UE_n UEn的本地执行延迟,它只包括本地CPU的处理时间
- f n l f^l_n fnl : U E n UE_n UEn的计算能力(单位是每秒的CPUcycle数)
- 用户
n
n
n的计算任务
R
n
R_n
Rn在本地完成的执行时间
T
n
l
T^l_n
Tnl:
-
E
n
l
E^l_n
Enl :本地计算的能耗
- z n z_n zn :能耗密度
- 综合考虑执行延迟和能耗,
U
E
n
UE_n
UEn选择本地计算的加权开销:
- 0 ≤ I n t , I n e ≤ 1 0\leq I_n^t,I_n^e\leq1 0≤Int,Ine≤1:用户n的执行延迟和能耗的权重参数
B. 卸载处理模型
-
U E n UE_n UEn上传输入数据到基站,再由基站转给MEC服务器
-
MEC服务器分配部分计算资源来执行计算任务
-
MEC将执行结果返回给 U E n UE_n UEn
-
根据上述三步骤,卸载处理的执行延迟会包含三部分
第一部分:
传输 B n B_n Bn大小的输入数据产生的传输延迟 T n , t o T^o_{n,t} Tn,to:
-
r
n
r_n
rn :上传数据的速率
该过程对应的能耗:
第二部分:
MEC服务器处理任务 R n R_n Rn的处理延迟 T n , p o T^o_{n,p} Tn,po -
f
n
f_n
fn :MEC服务(单位是每秒的CPU cycle数)
该过程的能耗 E n , p o E^o_{n,p} En,po :
第三部分:
- B b B_b Bb :回传数据大小
-
r
b
r_b
rb :回传过程的数据传输速率
回传过程的是时间延迟 T n , b o T^o_{n,b} Tn,bo:
-
r
n
r_n
rn :上传数据的速率
-
无线网络的回传速率一般远高于上传数据 & 回传数据大小远小于输入数据,因此回传过程的延迟和能耗一般忽略掉
-
完整的卸载计算的执行延迟 & 能耗:
-
加权总开销:
1.2 问题建模
- 有了本地计算 / 卸载计算的加权总开销,
U
E
n
UE_n
UEn只能选择其中一种计算方式,优化的目标是所有User的加权总开销之和,即:
- 加权总开销最小化问题由下式表示:
1.3 解决方案
1.3.1 状态&动作&回报
- 状态:
- 动作:每一个动作a由两部分组成:所有用户的卸载决策 A = [ α 1 , α 2 , … , α N ] \Alpha=[\alpha_1,\alpha_2,\dots,\alpha_N] A=[α1,α2,…,αN] 和资源分配 f = [ f 1 , f 2 , … , f N ] f=[f_1,f_2,\dots,f_N] f=[f1,f2,…,fN],将二者可能取值情况组合,得到动作向量 [ α 1 , α 2 , … , α N , f 1 , f 2 , … , f N ] [\alpha_1,\alpha_2,\dots,\alpha_N,f_1,f_2,\dots,f_N] [α1,α2,…,αN,f1,f2,…,fN]
- 回报:对于寻找最佳状态过程的每一步来说,agent在状态s下,执行一个可能的动作a后,都会得到一个回报R(s,a),当前的优化目标是最小化总开销,而强化学习的目标是最大化回报,
上式表示当前的加权总开销比全本地计算的加权总开销减少的比例,R(s,a)越大——说明当前状态的tc越小,得到最大回报等同于获得了最小的加权总开销,这样就成功转化了问题。 - 作者在学习过程之前提出了一个预分类步骤,解决随着用户增加带来的算法运行和收敛问题。
1.3.2 Q-learning方法
……
1.3.3 Deep Q Network方法
- DQN基本思想:使用DNN来近似估计Q(s,a),而不是计算每个state-action的Q值
2020-02-05
2. 基于深度学习的部分计算卸载
2.1 系统模型
2.1.1 网络模型
- 小区中有一个Base Station(BS) & N N N 个Mobile Device(MD)
- 每个MDi有计算密集型任务
A
i
≜
(
X
i
,
L
i
,
τ
i
d
)
A_i \triangleq (X_i,L_i, \tau_i^d)
Ai≜(Xi,Li,τid) 需要处理
- X i X_i Xi :单位bits,表示计算 A i A_i Ai所需的数据大小,包括程序代码&输入参数
- L i L_i Li :表示计算强度,单位为计算每bit数据所需的CPU周期为单位
- L i X i L_iX_i LiXi :处理所有输入数据所需的CPU周期总数,反映了完成任务 A i A_i Ai所需的计算资源量
- τ i d \tau_i^d τid :表示完成任务的时间限制
- 许多复杂应用程序可分为两部分进行处理,即本地执行部分和服务器执行部分
- α i ∈ [ 0 , 1 ) \alpha_i \in [0,1) αi∈[0,1) 表示MDi 的卸载率。 α i ∈ [ 0 , 1 ) \alpha_i \in [0,1) αi∈[0,1)代表卸载处理数据的百分比, 1 − α i 1-\alpha_i 1−αi代表本地处理数据的百分比。 α = [ α 1 , α 2 , α 3 , … , α N ] \alpha =[\alpha_1,\alpha_2,\alpha_3,\dots,\alpha_N] α=[α1,α2,α3,…,αN]表示所有UE的卸载率
- 将计算任务拆分之后再进行处理,可充分利用服务器和MDs并行计算的优势,在延迟缩减和能耗节约上取得更好的效果
- MDi可实现的数据上传速率Ri:
- W W W:无线信道的带宽
- P i P_i Pi:MDi上传数据的传输功率
- θ 2 \theta^2 θ2:复杂高斯白信道噪声的方差
2.1.2 计算执行模型
A. 本地处理模型
- 本地执行延迟
t
i
l
t_i^l
til:
- 本地执行能耗
e
i
l
e_i^l
eil:
- 通过合理分配本地计算频率
f
i
l
f_i^l
fil,来减少用户设备自身的能耗
B. 卸载处理模型
- MDi通过无线接入网络将输入数据 X i X_i Xi的卸载计算部分 α i X i \alpha_iX_i αiXi上传至基站,基站再将数据转发到MEC服务器
- MEC服务器分配计算资源来执行卸载部分的计算处理
- 最后,MEC服务器通过基站将执行结果返回给MDi
- 整个卸载执行过程中的能耗:
2.2 问题建模
- 对于每个UE,本地处理能耗+卸载处理能耗就能得到MDi在整个计算过程中的能耗:
- 在部分卸载模型下,目的是最小化MEC系统中所有用户的能耗之和。