文章来源:[1]P. S. Souza, T. C. Ferreto, F. D. Rossi, and R. N. Calheiros, “Location-Aware Maintenance Strategies for Edge Computing Infrastructures,” IEEE Communications Letters, vol. 26, no. 4, pp. 848–852, Apr. 2022, DOI: 10.1109/lcomm.2022.3150243.
摘要:高效的服务器维护和更新对于防止边缘计算环境中的性能和安全问题至关重要。尽管在维护计划中有很多措施,最先进的方法聚焦于云数据中心上进行更新,忽略了边缘计算范式特有的问题,比如用户位置感知。在这封信中,**我们提出了两个维护策略,分别是Lamp和Laxus,它们在执行迁移决策时考虑用户的位置以避免边缘服务器维护期间的时延瓶颈。**结果表明提出的策略与现存的策略相比可以减少维护时间约44.27%,同时有效的避免了时延瓶颈。
关键词 Edge computing, update, maintenance
I 引言
边缘计算基础设施运营商有责任保证边缘基础设施启动和运行,随着资源的短缺这不是不重要的,边缘基础设施相对于云基础设施缺乏鲁棒性。更糟糕的是,针对边缘的攻击越来越频繁。例如,例如,Mirai病毒策划了一次针对边缘服务器的分布式拒绝服务攻击,导致超过178000个域宕机。
II 系统模型
本小节描述了本工作中的边缘维护方案。首先,我们描述了边缘基础设施的元素。然后,我们制定了组成维护过程的步骤。表I总结了符号,以下为表I的具体内容:
b
f
b_f
bf: wireless delay of base station
B
f
\mathcal{B}_f
Bf 基站的无线时延
ξ
u
\xi_u
ξu: delay of network link
L
u
\mathcal{L}_u
Lu 网络连接的时延
ℵ
u
\aleph_u
ℵu: bandwidth capacity of network link
L
u
\mathcal{L}_u
Lu 网络连接的带宽能力
ρ
i
\rho_i
ρi: capacity of edge server
S
i
\mathcal{S}_i
Si 边缘服务器的能力
η
i
\eta_i
ηi: capacity demand of edge server
S
i
\mathcal{S}_i
Si 边缘服务器的能力需求
μ
i
\mu_i
μi: update status of edge server
S
i
\mathcal{S}_i
Si 边缘服务器的更新状态
℘
i
\wp_i
℘i: update time of edge server
S
i
\mathcal{S}_i
Si 边缘服务器的更新时间
∂
i
\partial_i
∂i: sanity check time of edge server
S
i
\mathcal{S}_i
Si 边缘服务器完整性检查时间
λ
i
\lambda_i
λi: capacity demand of application
A
j
\mathcal{A}_{j}
Aj 应用的能力需求
ω
i
\omega_i
ωi: delay of application
A
j
\mathcal{A}_{j}
Aj 应用的时延
ℏ
j
\hbar_{j}
ℏj:delay threshold of
A
j
\mathcal{A}_{j}
Aj 应用的时延阈值
x
i
,
j
x_{i,j}
xi,j: matrix that represents the applacations palcement 表示应用程序安置的矩阵
Υ
(
A
j
,
S
i
)
\Upsilon\left(\mathcal{A}_{j}, \mathcal{S}_{i}\right)
Υ(Aj,Si): set of links used to migrate
A
j
\mathcal{A}_{j}
Aj to
S
i
\mathcal{S}_{i}
Si 用于将
A
j
\mathcal{A}_{j}
Aj迁移到
S
i
\mathcal{S}_{i}
Si的连接集
我们将环境表示为如图所示,将地图分为几个六边形。边缘基础设施包括一组配备边缘服务器并互联的基站
B
\mathcal{B}
B,位于每个地图单元。当基站为一组用户
U
\mathcal U
U提供无线连接时,边缘服务器托管用户应用程序
A
\mathcal{A}
A。我们将基站表示为
B
f
←
{
b
f
}
\mathcal{B}_f\leftarrow\{b_f\}
Bf←{bf},其中
b
f
b_f
bf是基站的无线时延,网络连接表示为
L
u
←
{
ξ
u
,
ℵ
u
}
\mathcal{L}_u\leftarrow\{\xi_u,\aleph_u\}
Lu←{ξu,ℵu},其中
ξ
u
\xi_u
ξu和
ℵ
u
\aleph_u
ℵu分别表示连接时延和带宽。
边缘服务器建模为 S i = { ρ i , η i , μ i , ℘ i , ∂ i , } \mathcal{S}_i = \left\{\rho_i, \eta_i, \mu_i, \wp_i, \partial_i,\right\} Si={ρi,ηi,μi,℘i,∂i,}。符号 ρ i \rho_i ρi和 η i \eta_i ηi分别表示为服务器 S i \mathcal{S}_{i} Si的能力和需求。更具体地说, η i \eta_i ηi是寄主于 S i \mathcal{S}_{i} Si上所有应用的需求的总和。 S i \mathcal{S}_i Si的更新状态用 μ i \mu_i μi表示,当 S i \mathcal{S}_i Si更新时 μ i = 1 \mu_i=1 μi=1,否则为 μ i = 0 \mu_i=0 μi=0。修补 S i \mathcal{S}_i Si需要 ℘ i \wp_i ℘i个单位时间。修补 S i \mathcal{S}_i Si后,花费 ∂ i \partial_i ∂i个单位时间执行完整性检查,以验证其完整性。
应用具有以下属性
A
j
=
{
λ
j
,
ω
j
,
ℏ
j
}
\mathcal{A}_j=\{\lambda_j, \omega_j, \hbar_j\}
Aj={λj,ωj,ℏj}。
λ
j
\lambda_j
λj表示应用的能力需求,当选择哪个服务器来托管程序时应该被考虑。程序
A
j
\mathcal{A}_j
Aj的时延
ω
j
\omega_j
ωj利用公式1计算,考虑用户
A
j
\mathcal{A}_j
Aj的用户所使用的基站的无线时延(表示为
B
f
\mathcal B_f
Bf)和用于将
A
j
\mathcal{A}_j
Aj通信给其用户的网络链路的聚合时延相加。
\begin{equation}
\omega_j\leftarrow b_f+\sum_{v=1}^{|\theta|}\xi_v \tag{1}
\end{equation}
随着
A
j
\mathcal{A}_j
Aj的用户在地图上移动,处理过程将程序从一个基站转移到另外一个基站。在这种情况下,如果
A
j
\mathcal{A}_j
Aj的用户没有链接到与
A
j
\mathcal{A}_j
Aj服务器主机相同的基站,它们之间的连接是通过一组称为
θ
\theta
θ网络链路路由
A
j
\mathcal{A}_j
Aj的数据建立的。我们以链路延迟作为权重,通过Dijkstra最短路径算法定义链路
θ
\theta
θ的集合。当应用的时延
ω
j
\omega_j
ωj超过它的时延阈值
ℏ
j
\hbar_j
ℏj发生SLA违规。应用程序的位置是由二进制矩阵
x
x
x给出的,其中
S
i
\mathcal{S}_i
Si是
A
j
\mathcal{A}_j
Aj的宿主时
x
i
,
j
=
1
x_{i,j}=1
xi,j=1,否则为0。
本文中所考虑的维护场景聚焦于每个服务器 S i ∈ S \mathcal S_i\in\mathcal{S} Si∈S的更新,其中维护过程被分为批次集 Q = { Q 1 , Q 2 , … , Q ∣ Q ∣ } \mathcal Q = \{\mathcal Q_1, \mathcal Q_2, \ldots, \mathcal Q_{|\mathcal Q|}\} Q={Q1,Q2,…,Q∣Q∣}。维护持续了很多批次,直到 ∑ i ∣ S ∣ μ i = ∣ S ∣ \sum_i^{|S|}\mu_i=|\mathcal S| ∑i∣S∣μi=∣S∣,意味着所有服务器已被更新。我们的目标是尽快的更新服务器,同时尽可能少的执行迁移,并避免违反SLA。
在我们的模型中,服务器需要被重新启动才能使补丁生效。因此,可以只更新没有运行应用程序的服务器,以避免应用程序停机。在每个维护批次 Q e ∈ Q \mathcal Q_e\in\mathcal Q Qe∈Q,所有没有运行应用程序的过时边缘服务器全部被更新。然后,迁移发生,将应用程序从剩余的过时服务器中重新定位,这样他们在下一批就可以更新了(这个迁移的过程被称为“服务器耗尽”,因为迁移的目标是“清空”过时的服务器)。这个过程重复多次迭代(即维护批次)直到所有的服务器被更新。
我们假设在基础架构中不存在共享存储。因此,将应用
A
j
\mathcal A_j
Aj迁移到边缘服务器
S
i
\mathcal S_i
Si意味着通过互相连接边缘服务器的基站的一组链接
Υ
(
A
j
,
S
i
)
⊆
L
\Upsilon\left(\mathcal{A}_{j}, \mathcal{S}_{i}\right)\subseteq\mathcal{L}
Υ(Aj,Si)⊆L将
A
j
\mathcal A_j
Aj的能力需求
λ
i
\lambda_i
λi从当前的主机转移到
S
i
\mathcal S_i
Si。通过Dijkstra最短路径算法定义
Υ
(
A
j
,
S
i
)
\Upsilon\left(\mathcal{A}_{j}, \mathcal{S}_{i}\right)
Υ(Aj,Si)。在这种情况下,将
A
j
\mathcal A_j
Aj迁移到
S
i
\mathcal S_i
Si所花费的时间是由
A
j
\mathcal A_j
Aj的能力需求
λ
j
\lambda_j
λj和迁移可用的带宽之间的比率给出的,如公式2所示。
κ
(
A
j
,
S
i
)
=
λ
j
min
{
ℵ
u
∣
u
∈
Υ
(
A
j
,
S
i
)
}
(2)
\kappa\left(\mathcal A_j, \mathcal S_i\right) =\frac{\lambda_j}{\min\{\aleph_u|u\in\Upsilon\left(\mathcal{A}_{j}, \mathcal{S}_{i}\right)\}} \tag{2}
κ(Aj,Si)=min{ℵu∣u∈Υ(Aj,Si)}λj(2)
因为边缘网络基础设施可能是异构的,连接集合 Υ ( A j , S i ) \Upsilon\left(\mathcal{A}_{j}, \mathcal{S}_{i}\right) Υ(Aj,Si)可能有不同的带宽能力。因此, Υ ( A j , S i ) \Upsilon\left(\mathcal{A}_{j}, \mathcal{S}_{i}\right) Υ(Aj,Si)连接中最低可用的带宽被认为是迁移实际可用的带宽。