移动边缘计算中节能且延迟感知的服务选择
摘要
移动边缘计算最近被视为一种有前景的范式,可满足移动应用日益增长的计算需求。尽管移动边缘计算可通过在网络边缘执行任务为用户提供高质量服务,但由于服务请求的复杂性和边缘服务器服务资源的有限性,移动用户如何选择适当的服务以最小化移动用户的交互延迟和移动设备的能耗仍是一个主要挑战。服务选择问题是一个经典的NP‐难问题。本文提出了一种混合算法(HGAPSO),该算法结合了遗传算法和粒子群优化算法,用于移动边缘计算系统中的服务选择,以优化交互延迟和能耗。通过仿真实验将该算法的性能与其他优化算法进行了比较。结果表明,所提出的HGAPSO优于当前应用于类似问题的最先进的算法。
关键词 -移动边缘计算;交互延迟;能耗;服务选择
I. 引言
随着用户需求的增加,移动应用也变得越来越丰富和庞大,这对移动环境下移动设备的性能提出了更高的要求。为了满足这些需求,移动云计算(MCC)[1]应运而生。然而,由于MCC存在较长的广域网延迟,用户与云服务器之间的交互体验受到严重影响[2]。为了解决此类问题,提出了移动边缘计算(MEC)[3],将服务部署并执行于边缘服务器上。通过在网络边缘执行服务,MEC可大幅降低服务响应时间和移动设备的能耗。
在移动边缘计算(MEC)架构中,移动用户可以获得大量服务资源以执行服务请求中的任务。MEC环境中的服务选择旨在找到将任务分配给边缘服务器或云服务器的合适方案,以满足某些性能目标,如全局交互延迟和能耗。为解决此类优化问题,已提出多种元启发式算法,例如遗传算法(GA)[4]和粒子群优化(PSO)[5]。
尽管PSO算法具有较快的收敛速度,但在求解时容易陷入局部最优优化问题。标准GA算法具有强大的全局搜索能力,但局部搜索能力较差且收敛速度相对较慢。为了弥补这两种算法的不足,我们针对服务选择问题提出了一种结合PSO和GA的混合优化方法,主要目标是优化交互延迟和能耗。此外,在服务执行过程中,我们考虑了用户的移动路径,结合移动边缘计算系统的优势,将服务请求的结果交付给覆盖用户的边缘服务器。据我们所知,目前尚无研究在移动边缘环境中同时考虑用户移动性的情况下对交互延迟和能耗进行联合优化。
本文的其余部分组织如下。第二节回顾了相关工作。第三节介绍了基本定义,并对问题进行了形式化描述。第四节详细描述了所提出的算法。第五节描述了仿真实验并分析了结果。最后,第六节给出了本文的结论。
II. 相关工作
在移动边缘计算中,任务调度是一个组合优化问题,且已知为NP难问题。最近,一些方法被提出以不同的策略来解决任务调度问题。张等人[6]提出了一种在移动边缘计算环境中考虑用户体验质量的任务调度方案。陈等人[7]提出了一种分布式计算卸载算法,以在多移动设备上高效调度任务,用于移动边缘云计算。南等人[8]开发了一种聚类网络功能虚拟化服务链方案,旨在通过最小化MEC服务的端到端时间来计算最优的聚类数量。罗德里格斯等人[9]提出了一种基于虚拟机迁移和传输功率控制的混合方案,以在边缘云计算中最小化服务延迟为目标进行任务调度。张等人[10]提出了一种多轮密封顺序组合拍卖方案,用于在多MEC和多UE环境中计算MEC服务提供商与用户设备(UE)之间的映射关系。
阿西吉尔等人[11]开发了一组实用的、非协调的服务放置策略,用于在边缘云中保证服务延迟。与上述所有方法不同,我们提出了一种结合遗传算法的混合算法和用于在移动边缘计算系统上进行任务调度的粒子群优化算法。
III. 问题定义
A. 系统模型
图1展示了移动边缘计算系统的结构,该系统由三层组成,即移动用户、边缘服务器和云服务器。第一层是移动用户,它们向边缘服务器提交服务请求。第二层是边缘服务器,其上部署的服务可以执行服务请求中的部分任务。最后一层是云服务器,其上部署的服务能够执行服务请求中的所有任务。
首先,移动用户上传的服务请求由覆盖其当前位置的边缘服务器进行处理。随后,该边缘服务器根据我们提出的算法,选择部署在不同服务器上的适当服务来执行服务请求中的任务。在服务执行过程中,根据服务请求中任务的结构,相关服务器之间会传输中间参数,同时移动用户可能从一个基站移动到另一个基站。服务执行完成后,结果将由当时覆盖该移动用户的边缘服务器传送给用户。
B. 服务请求与服务模型
模型1(服务请求)
。服务请求表示为一个四元组(T, e, B, S),其中:
1) T={t
i
}
i=1
n
是一组包含 n 个任务的集合;
2) e是接收服务请求的边缘服务器;
3) B 指服务请求中任务的具体结构,包括顺序、选择、并行和迭代;
4) S={ S
i
| S
i
={cs
j
}
j=1
m
i
}
i=1
n
是一组候选服务,且针对服务请求中的每个任务t
i
,均有m
i
个合格服务可供选择。
模型2 (服务)
。服务表示为一个四元组(z
i
, z
o
, e′, t),其中:
1) z
i
是输入参数的大小;
2) z
o
是输出参数的大小;
3) e′表示服务部署所在的云服务器或边缘服务器;
4) t 是服务执行时间;
C. 交互延迟和能耗
模型3(交互延迟)
。移动用户与边缘服务器之间的交互延迟主要由上传时间、处理时间和下载时间组成。可以表示为
id = ud + sd + dd (1)
其中
1) ud是用户上传服务请求所消耗的时间,其计算方式为
$$ ud = \frac{D_u}{V_u} $$ (2)
其中D
u
是服务请求的数据大小,V
u
是移动用户与覆盖该用户的边缘服务器之间的网络带宽;
2) sd 是服务请求的处理时间,由任务执行时间和中间参数的传输时间组成,可计算为
$$ sd = \psi_{i=1}^n(t_i^s + t_i) $$ (3)
其中ψ是集成处理服务请求所用时间的算子,t
i
是执行每个任务所需的时间,t
i
s
是中间参数的传输时间,其计算方式为
$$ t_i^s = \frac{z_i^r}{v} $$ (4)
其中z
i
r
是中间参数的数据量,v是服务器之间的数据传输速度;
3) dd 是用户下载服务请求执行结果所消耗的时间,其计算公式为
$$ dd = \frac{D_d}{V_d} $$ (5)
其中D d 是结果的数据大小,V d 是移动用户与交付的边缘服务器之间的数据传输速度。
模型4(能耗)
。移动设备的能耗可以通过以下方式计算
$$ ic = ud \times p_s + sd \times p_{idle} + dd \times p_r $$ (6)
其中,p s 是用户上传服务请求时移动设备的功率,p idle 是服务请求由边缘服务器处理时移动设备的待机功率,p r 是用户从交付边缘服务器下载结果时移动设备的功率。
D. 移动模型
模型5 (用户路径)
。用户的路径被建模为一组三元组 {(T
i
, L
i
, E
i
) }
i=0
n−1
,其中:
1) T
i
=(t
i
, t
i+1
) 表示路径段 i 上的一组离散时间间隔;
2) L
i
表示路径段 i 上的一组离散路径点;
3) E
i
是一组覆盖L
i
的边缘服务器。
在移动边缘计算环境中,用户沿特定路线移动。我们假设用户的移动路径可以提前预测。例如,移动用户可以在乘坐地铁、公交车或火车时提交服务请求。本文基于[12]中提出的随机路点移动模型(RWP)来预测移动用户的位置。
E. 问题建模
基于上述模型,服务选择问题可以表示为一个数学优化问题,其定义如下。
Minimize id(X
d
, M
e
) (7)
Minimize ic(X
d
, M
e
) (8)
Subject to X
d
i
∈ S
i
(9)
M
e
∈ E(X
d
) (10)
id(X d , e) 和 ic(X d , e) 分别表示服务请求的全局交互延迟和移动设备的能耗。X d 是一个 n 维向量,表示任务到候选服务的映射,M e 是交付结果的边缘服务器。S i 是第 i 个任务的候选服务集,E(X d ) 表示覆盖移动用户的边缘服务器集合。
IV. 算法设计
对于上述NP难问题,在可接受的时间内获得最优解是困难的。本文提出了一种基于粒子群优化和遗传算法的混合算法(HGAPSO),用于解决移动边缘计算中的服务选择问题。HGAPSO算法的主要步骤如算法1所示。
首先,随机生成SN个初始种群。初始种群被传入PSO算法,并执行预定义的迭代次数(psomax)。在PSO算法中,个体被称为粒子,通过更新粒子位置和速度进行递归优化。得到的粒子再传入GA算法,并执行预定义的迭代次数(gamax)。在GA算法中,解被称为染色体,通过选择、交叉和变异三种操作在每次迭代中逐步优化。整个过程重复执行,直到满足预定义的停止准则。
算法1 所提出的HGAPSO算法
1. 基于SN个个体随机生成初始种群
$$
Xd_i = lb + \lfloor rand(0,1) \ast (ub - lb) \rfloor \quad (11)
$$
2. 重复
3. 当迭代次数小于 psomax
4. 基于(12)评估每个粒子的适应度
5. 找到局部和全局最优个体
6. 基于(13)更新每个粒子的速度和位置以及(14)
7. 结束循环
8. 当迭代次数小于 gamax 时
9. 找到全局最优个体
10. 从当前种群中使用选择算子选取 SN/2 对染色体
11. 对所选的每一对染色体应用交叉算子
12. 对 SN 个染色体中的每一个应用变异算子
13. 结束循环
14. 直到循环次数达到 globalmax
15. 返回全局最优个体
A. 编码
在我们提出的算法中,待解决问题的可行解X d 是一个数组,表示任务到候选服务的映射。该数组的大小等于服务请求中任务的数量n。数组元素的值为[lb, ub]中的一个整数,其下界lb为0,上界ub为每个服务集中的候选服务总数m i 。
B. 种群初始化
在HGAPSO算法的初始化阶段,通过以下方程随机生成SN个可行解(粒子数量)。
$$
Xd_i = lb + \lfloor rand(0,1) \ast (ub - lb) \rfloor \quad (11)
$$
其中X
d
i
表示每个可行解的第i个元素的分配,rand(0,1)表示区间[0,1]上的一个随机数。
C. PSO算法
1)
局部和全局最优个体
对于初始化种群中的每个粒子,我们利用每个粒子的适应度值来寻找局部最优个体(即当前迭代中找到的最佳解)和全局最优个体(即算法开始以来找到的最佳解)。适应度函数被定义为
$$
F = id(Xd_i) \cdot a_1 + ic(Xd_i) \cdot a_2 \quad (12)
$$
其中 id(Xd
i
)表示一个粒子的交互延迟,ic(Xd
i
)表示一个粒子的能耗,a
1
是交互延迟权重,a
2
是能耗权重。a
1
与 a
2
之和等于1。
2)
更新操作
每个粒子通过以下方程进行更新。
$$
Vd_i = \omega Vd_i + C_1 rand(0,1)(pbestd_i - Xd_i) + C_2 rand(0,1)(gbest_i - Xd_i) \quad (13)
$$
$$
Xd_i = Xd_i + Vd_i \quad (14)
$$
其中V
d
i
表示每个粒子X
d
的第i维的速度值,ω称为惯性因子,用于表示粒子的全局和局部优化能力。C
1
和 C
2
称为加速常数。pbest
d
i
表示局部最优个体第i维的值,gbest
i
表示全局最优个体第i维的值。
D. GA算法
在PSO算法完成后,我们将PSO算法返回的解输入到GA算法中进行交叉、变异和选择操作,以从GA生成的解中寻找最优解。
1)
选择算子
我们选择轮盘赌策略作为选择算子,相应的选择概率P(X
i
)定义为
$$
P(X_i) = \frac{F(X_i)}{\sum_{i=1}^{SN} F(X_i)} \quad (15)
$$
2)
交叉算子
对于种群中的任意两条染色体,我们随机选择两个点进行基因交换,其余部分将被复制到子代染色体的相同位置。
3)
变异算子
染色体中的一个基因通过在其上下界之间的随机实数突变为另一个可行基因,从而产生新的子代染色体。
V. 实验评估
A. 实验设置
通过使用CloudSim的扩展版本EdgeCloudSim [14] 进行仿真实验,评估了所提出的HGAPSO算法的有效性。我们模拟了一个包含四个边缘服务器e0、e1、e2、e3和一个云服务器c的移动边缘计算环境。候选服务分布在边缘服务器和云服务器中。移动用户与各服务器之间的数据传输速率分别为340.32kb/s、77.34kb/s、327.45kb/s、620.56kb/s和770.43kb/s。移动路径模型的参数如表I所示。我们考虑了两种类型的服务选择实例,如表II所示。在类型1中,服务请求中的任务数量设置为5到15之间,每个任务的候选服务数量固定为10。在类型2中,每个任务的候选服务数量设置为5到15之间,服务请求中的任务数量固定为10。每项服务的输入输出数据大小范围为10KB到15KB,执行时间范围为1s到5s。每对边缘服务器之间的数据传输速率随机生成于5kb/s到10kb/s之间,边缘服务器与云服务器之间的传输速率则在1kb/s到5kb/s之间变化。
HGAPSO的参数设置确定为种群大小pop = 50,最大迭代次数 = 1000,C 1 = 2 → 0.5,C 2 = 0.5 → 2,ω = 0.8 → 0.1,crossover probability = 0.8,以及mutation probability = 0.5。此外,移动设备的功率参数设置为p s = 0.25、p idle = 0.05和p r = 0.15。
表I. 移动模型参数
| 位置 L | 停留时间 T(分钟) | 覆盖位置 L 的边缘服务器 |
|---|---|---|
| l 0 | 5 | {e 0 , e 1 } |
| l 1 | 2 | {e 1 , e 2 } |
| l 2 | 4 | e 2 |
| l 3 | 5 | {e 3 , c} |
| l 4 | 1 | {e 3 , c} |
表 II. 两种服务选择实例
| Type | 任务数量 | 候选服务数量 |
|---|---|---|
| 1 | 5-15 | 10 |
| 2 | 10 | 5-15 |
B. 性能评估
在本小节中,我们将HGAPSO算法的交互延迟和能耗与其他四种算法进行比较,这四种算法分别为:接入点调度算法(APS)[15]、遗传算法(GA)[4]、粒子群优化算法(PSO)[5],以及结合模拟退火算法和遗传算法的混合算法(GAMEC)[16]。GAMEC算法的参数设置为:种群大小pz = 50,最大迭代次数 = 1000,pc = 0.7,pm = 0.6,初始温度Tmax = 1000,降温速率α = 0.99。GA算法的参数设置为:种群大小 = 50,最大迭代次数 = 1000,pc = 0.7 和 pm = 0.6。PSO算法的参数设置确定为粒子群大小 = 50,最大迭代次数 = 1000,c 1 = 2 → 0.5,c 2 = 0.5 → 2,ω = 0.8 → 0.1。为了确保实验结果的统计有效性,我们独立重复运行上述所有对比实验30次。
类型1的交互延迟; (b)类型1的能耗;(c)类型2的交互延迟;(d)类型2的能耗。)
图2显示了这五种算法在两种类型的服务选择实例下的交互延迟和能耗。从图中可以看出,HGAPSO算法明显优于其他四种算法。GAMEC算法的性能优于GA算法和PSO算法,而APS算法的优化结果最差。其原因是HGAPSO算法能够更好地结合开发能力和探索能力,从而获得相对较低的交互延迟和能耗。
C. 可扩展性评估
为了检验HGAPSO算法的可扩展性,我们通过改变任务数量和候选服务数量来考察该算法的执行时间。
类型1上的执行时间;(b) 类型2上的执行时间。)
图3显示了HGAPSO算法在两种类型的服务选择实例下的执行时间变化情况。从图3可以看出,HGAPSO算法的执行时间随着任务数量和候选服务数量的增加几乎呈线性增长。其原因是任务数量和候选服务数量的增加使得服务选择更加困难。此外,我们注意到,HGAPSO算法在两种类型的服务选择实例下找到次优解所需时间均少于0.12秒。因此,所提出的算法适用于求解大规模移动边缘计算系统中的服务选择问题。
VI. 结论
本文研究了移动边缘计算环境中的服务选择问题,该问题被建模为一个考虑用户移动性的多目标优化问题。为了解决该问题,我们提出了一种混合算法HGAPSO,旨在同时优化交互延迟和能耗。在两类服务选择实例上进行的仿真实验表明,我们的算法整体性能优于最先进的算法。

被折叠的 条评论
为什么被折叠?



