“Multi-Objective Computation Sharing in Energy and Delay Constrained Mobile Edge Computing Environments” (Bozorgchenani 等。, 2021, p. 1) (pdf) 能量和延迟受限移动边缘计算环境中的多目标计算共享
Abstract
In a mobile edge computing (MEC) network, mobile devices, also called edge clients, offload their computations to multiple edge servers that provide additional computing resources. Since the edge servers are placed at the network edge, e.g., cell-phone towers, transmission delays between edge servers and edge clients are shorter compared to those of cloud computing. In addition, edge clients can offload their tasks to other nearby edge clients with available computing resources by exploiting the Fog Computing (FC) paradigm. A major challenge in MEC and FC networks is to assign the tasks from edge clients to edge servers, as well as to other edge clients, in such a way that their tasks are completed with minimum energy consumption and minimum processing delay. In this paper, we model task offloading in MEC as a constrained multi-objective optimization problem (CMOP) that minimizes both the energy consumption and task processing delay of the mobile devices. To solve the CMOP, we design an evolutionary algorithm that can efficiently find a representative sample of the best trade-offs between energy consumption and task processing delay, i.e., the Pareto-optimal front. Compared to existing approaches for task offloading in MEC, we see that our approach finds offloading decisions with lower energy consumption and task processing delay.
Keywords: #MEC #computing_sharing #multi-objective_optimization [[evolutionary algorithms]] #energy_consumption [[NSGA2]] [[Pareto front]]
Journal: [[Transactions on mobile computing]]
Features:
- 采取多目标优化,同时最小化延迟和能耗,以往的工作针对单个目标
- 建模方面,用户设备A产生的任务不仅可以卸载到边缘服务器还可以卸载到用户设备B中,这是以往的工作没有提及的
- 考虑了下载延迟,以往的工作一般会忽略下载延迟
Introduction
Edge Clients(ECs): resource-poor end-user devices ;
Edge Nodes(ENs): resource-rich edge servers.
Model the task offloading problem as a constrained multi-objective optimization problem (CMOP) that jointly minimizes the task processing delay and the energy consumption of the ECs.
Non-dominated Sorting Genetic Algorithm 2 (NSGA2)
System model
“ECs can offload their computational tasks through wireless links to other nearby ECs or ENs” (Bozorgchenani 等。, 2021, p. 3) (pdf)任务不仅可以卸载到EN,还能卸载到EC。
“we assume that each EC can split its tasks into multiple unique portions and simultaneously offload each portion to different ECs or ENs.” (Bozorgchenani 等。, 2021, p. 3) (pdf)
“The second way is to first partition the EC’s computing task into several segments that can be computed in parallel, and then offload each task to a different device.” (Bozorgchenani 等。, 2021, p. 4) (pdf) 第二种方法是首先将EC的计算任务划分为几个可以并行计算的部分,然后将每个任务卸载到不同的设备。
“Since some of the neighbors of EC may offer a long task processing delay, or result in high energy consumption, the EC may decide to not outsource any task portion to some of its neighbors.” (Bozorgchenani 等。, 2021, p. 4) (pdf) 由于EC的一些邻居可能会提供较长的任务处理延迟,或导致高能耗,因此EC可能会决定不将任何任务部分外包给其一些邻居。
the ECs collaborate with other ECs and ENs in three phases: transmits the data; compute task; download the result.
Energy consumption function:
E
ˉ
t
o
t
i
=
∑
u
j
,
f
m
⊂
N
(
i
)
(
ϕ
u
i
u
j
(
E
t
x
i
,
u
j
+
E
r
x
i
,
u
j
)
+
ϕ
u
j
u
i
⋅
E
c
o
m
i
+
ϕ
u
i
f
m
(
E
t
x
i
,
f
m
+
E
r
x
i
,
f
m
)
)
+
E
i
d
i
\begin{aligned} \bar{E}_{t o t}^i=& \sum_{u_j, f_m \subset \mathcal{N}(i)}\left(\phi_{u_i}^{u_j}\left(E_{t x}^{i, u_j}+E_{r x}^{i, u_j}\right)+\phi_{u_j}^{u_i} \cdot E_{c o m}^i\right.\\ &\left.+\phi_{u_i}^{f_m}\left(E_{t x}^{i, f_m}+E_{r x}^{i, f_m}\right)\right)+E_{i d}^i \end{aligned}
Eˉtoti=uj,fm⊂N(i)∑(ϕuiuj(Etxi,uj+Erxi,uj)+ϕujui⋅Ecomi+ϕuifm(Etxi,fm+Erxi,fm))+Eidi
Offloading time function:
T
ˉ
o
f
f
i
=
max
u
j
,
f
m
∈
N
(
i
)
(
ϕ
u
i
u
j
⋅
T
o
f
f
i
,
u
j
+
T
w
i
,
u
j
,
ϕ
u
i
f
m
⋅
T
o
f
f
i
,
f
m
+
T
w
i
,
f
m
)
\bar{T}_{o f f}^i=\max _{u_j, f_m \in \mathcal{N}(i)}\left(\phi_{u_i}^{u_j} \cdot T_{o f f}^{i, u_j}+T_w^{i, u_j}, \phi_{u_i}^{f_m} \cdot T_{o f f}^{i, f_m}+T_w^{i, f_m}\right)
Tˉoffi=maxuj,fm∈N(i)(ϕuiuj⋅Toffi,uj+Twi,uj,ϕuifm⋅Toffi,fm+Twi,fm)
where,
T
o
f
f
i
,
v
k
i
=
T
t
x
i
,
v
k
i
+
T
r
x
i
,
v
k
i
+
T
c
o
m
i
,
v
k
i
,
∀
v
k
i
∈
N
(
i
)
T_{o f f}^{i, v_k^i}=T_{t x}^{i, v_k^i}+T_{r x}^{i, v_k^i}+T_{c o m}^{i, v_k^i}, \quad \forall v_k^i \in \mathcal{N}(i)
Toffi,vki=Ttxi,vki+Trxi,vki+Tcomi,vki,∀vki∈N(i)
A Constrained Multi-Objective Optimization Problem for Task Offloading in Edge Computing
max ∑ k = 1 ∣ N ( i ) ∣ 1 1 { ϕ u i v k i > 0 } \max \sum_{k=1}^{|\mathcal{N}(i)|} 1\!\!1\left\{\phi_{u_i}^{v_k^i}>0\right\} max∑k=1∣N(i)∣11{ϕuivki>0}
Optimization Problem Function:
min
E
ˉ
t
o
t
i
=
\min\bar{E}_{t o t}^i=
minEˉtoti=
min
Φ
{
∑
i
=
1
N
(
∑
u
j
,
f
m
∈
N
(
i
)
(
ϕ
u
i
u
j
(
E
t
x
i
,
u
j
+
E
r
x
i
,
u
j
)
+
ϕ
u
j
u
i
⋅
E
c
o
m
i
+
ϕ
u
i
f
m
(
E
l
x
i
,
f
m
+
E
r
x
i
,
f
m
)
)
)
}
\min _{\Phi}\left\{\sum_{i=1}^N\left(\sum_{u_j, f_m \in \mathcal{N}(i)}\left(\phi_{u_i}^{u_j}\left(E_{t x}^{i, u_j}+E_{r x}^{i,u_j}\right)\right.\right.\right.\left.\left.+\phi_{u_j}^{u_i} \cdot E_{c o m}^i+\phi_{u_i}^{f_m}\left(E_{l x}^{i, f_m}+E_{r x}^{i, f_m}\right)\right)\right)\}
minΦ{∑i=1N(∑uj,fm∈N(i)(ϕuiuj(Etxi,uj+Erxi,uj)+ϕujui⋅Ecomi+ϕuifm(Elxi,fm+Erxi,fm)))}
min
T
ˉ
o
f
f
i
=
\min\bar{T}^{i}_{off}=
minTˉoffi=
min
Φ
{
∑
i
=
1
N
(
max
u
j
,
f
m
∈
N
(
i
)
{
ϕ
u
i
u
j
(
δ
t
x
r
i
,
u
j
+
δ
r
x
r
i
,
u
j
+
O
l
i
/
γ
i
η
c
j
)
+
T
w
i
,
u
j
,
ϕ
u
i
f
m
(
δ
t
x
r
i
,
f
m
+
δ
r
x
r
i
,
f
m
+
O
l
i
/
γ
i
η
c
m
)
+
T
w
i
,
f
m
}
)
}
\min _{\Phi}\{\sum_{i=1}^N\left(\max _{u_j, f_m \in \mathcal{N}(i)}\left\{\phi_{u_i}^{u_j}\left(\frac{\delta_{t x}}{r_{i, u_j}}+\frac{\delta_{r x}}{r_{i, u_j}}+\frac{O_l^i / \gamma_i}{\eta_{c_j}}\right)\right.\right.\left.\left.\left.+T_w^{i, u_j}, \phi_{u_i}^{f_m}\left(\frac{\delta_{t x}}{r_{i, f_m}}+\frac{\delta_{r x}}{r_{i, f_m}}+\frac{O_l^i / \gamma_i}{\eta_{c_m}}\right)+T_w^{i, f_m}\right\}\right)\right\}
minΦ{∑i=1N(maxuj,fm∈N(i){ϕuiuj(ri,ujδtx+ri,ujδrx+ηcjOli/γi)+Twi,uj,ϕuifm(ri,fmδtx+ri,fmδrx+ηcmOli/γi)+Twi,fm})}
Subject to:
∑
j
=
1
N
ϕ
u
i
u
j
+
∑
m
=
1
M
ϕ
u
i
f
m
=
γ
i
\sum^N_{j=1}\phi^{u_j}_{u_i}+\sum^M_{m=1}\phi^{f^m}_{u_i}=\gamma_i
∑j=1Nϕuiuj+∑m=1Mϕuifm=γi task computed completely
ϕ
u
i
u
j
=
0
,
\phi_{u_i}^{u_j}=0,\quad
ϕuiuj=0, if
u
j
∉
N
(
i
)
u_j \notin \mathcal{N}(i)
uj∈/N(i), prevent non-neighboring
ϕ
u
i
f
m
=
0
,
\phi_{u_i}^{f_m}=0, \quad
ϕuifm=0, if
f
m
∉
N
(
i
)
f_m \notin \mathcal{N}(i)
fm∈/N(i), prevent non-neighboring
ϕ
u
i
u
j
≥
0
,
\phi_{u_i}^{u_j} \geq 0, \quad
ϕuiuj≥0, if
u
j
∈
N
(
i
)
u_j \in \mathcal{N}(i)
uj∈N(i), decisions non-negative values
ϕ
u
i
f
m
≥
0
,
\phi_{u_i}^{f_m} \geq 0, \quad
ϕuifm≥0, if
f
m
∈
N
(
i
)
f_m \in \mathcal{N}(i)
fm∈N(i), decisions non-negative values
where,
Φ
=
(
ϕ
u
1
u
1
⋯
ϕ
u
1
u
j
⋯
ϕ
u
1
u
N
ϕ
u
1
f
1
⋯
ϕ
u
1
f
m
⋯
ϕ
u
1
f
M
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
ϕ
u
i
u
1
⋯
ϕ
u
i
u
j
⋯
ϕ
u
i
u
N
ϕ
u
i
f
1
⋯
ϕ
u
i
f
m
⋯
ϕ
u
i
f
M
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
⋮
ϕ
u
N
u
1
⋯
ϕ
u
N
u
j
⋯
ϕ
u
N
u
N
ϕ
u
N
f
1
⋯
ϕ
u
N
f
m
⋯
ϕ
u
N
f
M
)
\Phi=\left(\begin{array}{cccccccccc}\phi_{u_1}^{u_1} & \cdots & \phi_{u_1}^{u_j} & \cdots & \phi_{u_1}^{u_N} & \phi_{u_1}^{f_1} & \cdots & \phi_{u_1}^{f_m} & \cdots & \phi_{u_1}^{f_M} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ \phi_{u_i}^{u_1} & \cdots & \phi_{u_i}^{u_j} & \cdots & \phi_{u_i}^{u_N} & \phi_{u_i}^{f_1} & \cdots & \phi_{u_i}^{f_m} & \cdots & \phi_{u_i}^{f_M} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ \phi_{u_N}^{u_1} & \cdots & \phi_{u_N}^{u_j} & \cdots & \phi_{u_N}^{u_N} & \phi_{u_N}^{f_1} & \cdots & \phi_{u_N}^{f_m} & \cdots & \phi_{u_N}^{f_M}\end{array}\right)
Φ=⎝
⎛ϕu1u1⋮ϕuiu1⋮ϕuNu1⋯⋮⋯⋮⋯ϕu1uj⋮ϕuiuj⋮ϕuNuj⋯⋮⋯⋮⋯ϕu1uN⋮ϕuiuN⋮ϕuNuNϕu1f1⋮ϕuif1⋮ϕuNf1⋯⋮⋯⋮⋯ϕu1fm⋮ϕuifm⋮ϕuNfm⋯⋮⋯⋮⋯ϕu1fM⋮ϕuifM⋮ϕuNfM⎠
⎞
Characterization of the Pareto-Optimal Front for Task Offloading CMOP in Edge Computing
Define the [[Pareto front]] and Pareto optimal solutions
Algorithm Design
Four step: initialization, section, reproduction, and population update
Intialization
“a two-phase initialization procedure that leverages the structure of the task offloading problem to find a high- quality initial solutions set” (Bozorgchenani 等。, 2021, p. 6) (pdf) 利用任务卸载问题的结构来找到高质量初始解决方案集的两阶段初始化过程
Phase 1: EC Classification
“In the first phase, we discard the devices that have low energy levels.” (Bozorgchenani 等。, 2021, p. 6) (pdf) 在第一阶段,我们丢弃了低能级的器件。–>deplete their energy and reduce the solution space(EC classification)
Computing EC’s (CEC) subset: enough energy
U
C
E
C
=
{
u
i
∣
E
r
i
>
E
r
,
Q
2
}
\mathcal{U}_{C E C}=\left\{u_i \mid E_r^i>E_{r, Q 2}\right\}
UCEC={ui∣Eri>Er,Q2}
Requesting EC’s (REC) subset: lack enough energy
U
R
E
C
=
{
u
i
∣
E
r
i
≤
E
r
,
Q
2
}
\mathcal{U}_{R E C}=\left\{u_i \mid E_r^i \leq E_{r, Q 2}\right\}
UREC={ui∣Eri≤Er,Q2}
E
r
,
Q
2
=
inf
{
E
r
i
,
i
=
1
,
.
.
.
,
N
∣
p
≤
F
E
r
i
}
E_{r,Q_2}=\inf\{E^i_r,i=1,...,N|p\leq F_{E^i_r}\}
Er,Q2=inf{Eri,i=1,...,N∣p≤FEri} “to select the remaining energy value” (Bozorgchenani 等。, 2021, p. 6) (pdf) 选择剩余能量值
“infimum operator”: 下确界算子
将用户设备分为两类,一种是资源不足的,另一种是资源有余的。第一种要将任务卸载到边缘服务器或者其他的用户设备;第二种不仅可以将任务在本地执行还可以接收来自其他用户设备所卸载的任务。
![[Pasted image 20221023182140.png]]
CEC和EN 覆盖范围内的用户设备集合:
N
C
E
C
(
i
)
=
{
u
j
∣
d
(
u
i
,
u
j
)
≤
R
U
,
∀
u
j
∈
U
C
E
C
}
\mathcal{N}_{C E C}(i)=\left\{u_j \mid d\left(u_i, u_j\right) \leq R_U, \forall u_j \in \mathcal{U}_{C E C}\right\}
NCEC(i)={uj∣d(ui,uj)≤RU,∀uj∈UCEC}
N
E
N
(
i
)
=
{
f
m
∣
d
(
u
i
,
f
m
)
≤
R
F
,
∀
f
m
∈
F
}
\mathcal{N}_{E N}(i)=\left\{f_m \mid d\left(u_i, f_m\right) \leq R_{\mathcal{F}}, \forall f_m \in \mathcal{F}\right\}
NEN(i)={fm∣d(ui,fm)≤RF,∀fm∈F}
Phase 2: Initial Solution Set Generation
“In the second phase, we propose a weighted random solution generation that favors offloading decisions that delegate tasks between nearby devices, resulting in initial offloading decisions with lower energy consumption and task processing delay.” (Bozorgchenani 等。, 2021, p. 6) (pdf) 在第二阶段,我们提出了一种加权随机解决方案生成方法,该方法有利于在附近设备之间委托任务的卸载决策,从而导致初始卸载决策具有更低的能耗和任务处理延迟。
Calculate the sum of energy consumption and task processing delay:
w
^
u
i
v
k
i
=
E
^
o
f
f
+
T
^
o
f
f
\hat{\mathcal{w}}^{v^i_k}_{u_i}=\hat{E}_{off}+\hat{T}_{off}
w^uivki=E^off+T^off
using min-max rescaling(线性函数归一化) method to exchange to the range
[
0
,
1
]
[0,1]
[0,1] normalizing.(https://zhuanlan.zhihu.com/p/375746280)
Offloading decisions:
ϕ
u
i
v
i
k
∼
unif
{
0
,
w
u
i
v
k
i
}
\phi^{v^k_i}_{u_i} \sim \text{unif} \{0,w^{v^i_k}_{u_i}\}
ϕuivik∼unif{0,wuivki} Uniform distribution 均匀分布
ϕ
u
i
m
a
x
→
ϕ
u
i
m
a
x
+
γ
i
−
∑
k
=
1
K
i
ϕ
u
i
v
k
i
\phi^{max}_{u_i}\rightarrow \phi^{max}_{u_i}+\gamma_i-\sum^{K_i}_{k=1}\phi^{v^i_k}_{u_i}
ϕuimax→ϕuimax+γi−∑k=1Kiϕuivki where
ϕ
u
i
m
a
x
=
max
∀
k
∈
[
1
,
K
i
]
{
ϕ
u
i
v
k
i
}
\phi^{max}_{u_i}=\max_{\forall k\in [1,K_i]}\{\phi^{v^i_k}_{u_i}\}
ϕuimax=max∀k∈[1,Ki]{ϕuivki}
Summary: 分类、归一化、均匀分布、公式转换
Selection–> rank
first calculates the overall energy consumption and processing delay of solution:
E
Φ
z
=
∑
u
i
∈
U
R
E
C
E
o
f
f
i
E_{\Phi_z}=\sum_{u_i\in\mathcal{U}_{REC}}E^{i}_{off}
EΦz=∑ui∈URECEoffi
T
Φ
z
=
max
u
i
∈
U
R
E
C
{
T
o
f
f
i
}
T_{\Phi_z}=\max_{u_i\in\mathcal{U}_{REC}}\{T^{i}_{off}\}
TΦz=maxui∈UREC{Toffi}
using the constraint-dominance relationship explained in [[Pareto front]]
对 Pareto占优解进行排序,例如若任务a占优于其他10个任务则排序为11;若任务b为Pareto最优解(非占优其他所有任务)则排序为1
Reproduction
“the reproduction step through the following genetic operations: binary tournament, cross- over, and mutation.” (Bozorgchenani 等。, 2021, p. 8) (pdf) 繁殖过程包括以下遗传操作:二元竞赛、交叉和变异。
First
“The algorithm first applies the binary tournament operation to the mating pool, which is the set of solutions that will be combined by the crossover operation to form new ones.” (pdf) 该算法首先将二进制锦标赛运算应用于交配池,交配池是一组解,通过交叉运算将其组合以形成新的解。
“adding the solution with the better dominance rank assigned during the selection phase to” (pdf) 将在选择阶段分配的具有更好优势等级的解决方案添加到
Next
“Next, the crossover operation combines the solutions in the mating pool to generate new ones.” (Bozorgchenani 等。, 2021, p. 8) (pdf) 接下来,交叉操作将交配池中的解决方案组合起来,以生成新的解决方案。
![[Pasted image 20221024161612.png]]
随机选择两个解作为Parent,交换两者中的部分生成新的Child解
Q
0
\mathcal{Q}_0
Q0
Finally
randomly choose a child solution,“If a child solution is chosen, we replace a randomly chosen column with randomly generated offloading decisions.” (Bozorgchenani 等。, 2021, p. 8) (pdf) 如果选择了子解决方案,我们将随机选择的列替换为随机生成的卸载决策。
![[Pasted image 20221024162315.png]]
Population Update
the new solution population
Φ
1
\Phi_1
Φ1 by discarding the low-quality solutions in the initial population
Φ
0
\Phi_0
Φ0, and in the offspring population
Q
0
\mathcal{Q}_0
Q0
first form an aggregate solution population
A
0
=
Φ
0
∪
Q
0
\mathcal{A}_0=\Phi_0\cup\mathcal{Q}_0
A0=Φ0∪Q0 and calculate the rank and crowding distance of the solutions in
A
0
\mathcal{A}_0
A0