面向物联网的新型边缘计算网络架构及任务卸载策略研究

摘要

如何有效利用计算资源有限的边缘节点以保障物联网中众多终端用户的服务质量,是一个关键问题。为解决该问题,本文提出了一种新型云边协同计算网络架构,使系统能够满足计算资源和响应时间的需求。该架构由一个强大的云计算中心、多个移动边缘计算服务器以及物联网中的用户组成。我们在所提出的架构中对终端用户的任务卸载与资源分配进行联合优化,从而构建了一个混合整数非线性规划问题。为进一步求解该问题,提出了一种基于二进制定制烟花算法的联合优化策略。该算法通过引入高斯变异概率和精英选择策略,改进了传统烟花算法中的高斯变异操作,使其变异过程具有方向性。最后,仿真结果验证了本文提出的联合优化策略的有效性。与几种其他较新的卸载策略相比,本文提出的方法可以获得显著的性能增益。

关键词 任务卸载 边缘计算 物联网 高斯变异概率 精英选择策略 资源分配

1 引言

移动边缘计算(MEC)的概念最初由欧洲电信标准协会(ETSI)在 2014[1]中提出,其定义为“一种在靠近移动用户的无线接入网络(RAN)内提供信息技术和云计算能力的新型平台”。

MEC的最初定义是将移动设备的计算任务卸载到位于基站(BS)上的边缘计算服务器进行执行[2, 3]。近年来,思科提出了雾计算的概念。作为MEC的一种广义形式,雾服务器(或雾节点)的定义更为广泛,具有特定处理能力的基站、接入点(AP)以及移动用户设备(UE)均可作为雾节点。由于雾计算与MEC在本质上基本重叠,相关术语常被互换使用。同理,本文不加以区分。“MEC”与“雾计算”相关概念之间的区别。例如,下文中的“边缘计算服务器”和“雾节点”也很常见。

作为移动云计算模型的有效补充,移动边缘计算的主要动机是将云计算功能转移到网络边缘。它还在网络边缘设备(如基站、接入点、终端等)上引入了计算和存储资源,并建立了一个虚拟化平台。这可以为用户终端提供计算、存储和网络服务,从而减少由于广域网传播延迟造成的时延[4, 5]。因此,移动边缘计算成为一种有前景的解决方案,能够有效支持更多计算密集型的新应用,降低任务处理延迟,延长移动用户设备和物联网(物联网)设备的电池寿命。

在移动边缘计算中,边缘服务器的处理能力有限,且需要处理分布在广阔网络中的数据,提供低延迟、高可靠性的计算服务。因此,现有移动云计算(MCC)中的任务迁移和资源管理解决方案无法直接应用于移动边缘计算场景。首先,移动边缘计算服务器具有有限的与云计算数据中心相比,其处理能力有限,无法支持云计算任务迁移中潜在的高并发任务处理请求。其次,与传统云计算仅关注数据处理吞吐量不同,移动边缘计算对服务延迟提出了更高要求。在任务传输过程中的无线资源和任务处理过程中的计算资源需要进行联合优化,以满足端到端延迟要求[6]。最后,与位于同一地理位置的云计算数据中心相比,移动边缘服务器是地理上分布的。由于不存在单一的中心控制节点,因此需要设计一种分布式资源管理方案,以考虑地理上分布的网络链路容量受限的问题。上述特性给移动边缘计算的任务迁移和资源管理带来了更大的挑战。

为了充分利用有限的无线计算资源并最大化边缘计算性能,边缘服务器需要设计一种由无线与计算资源联合优化的资源管理解决方案。该方案面临的主要挑战包括:(1)用户/任务对任务执行延迟和能耗有不同的需求;(2)无线资源与计算资源分配相互耦合,需要设计复杂的优化方案。为应对这些挑战,本文提出了一种新的云‐边缘计算网络架构和任务卸载策略,旨在最小化移动设备的能耗和任务执行时间。本文的主要创新点总结如下:
(1) 致力于研究该系统中的计算卸载与资源分配问题,本文提出的方法是一种新型云边协同计算网络架构和任务卸载策略,使用户设备能够以低延迟运行计算密集型应用。(2) 通过引入高斯变异概率,对基本烟花算法中的高斯变异操作进行了改进,使其变异具有方向性。在此基础上,提出了一种任务卸载与资源分配的联合优化策略。该策略采用精英选择策略,降低了时间消耗,使算法具有更快的收敛速度。

2 相关工作

移动边缘计算研究的关键问题包括计算卸载、移动性感知以及边缘网络与核心网络之间的协作。计算卸载是边缘计算中的主要应用之一,能够突破移动设备在计算能力、电池容量和存储空间等方面的资源限制。

然而,在不同场景下解决何时以及如何卸载计算任务是一个复杂的问题。学者们已提出了多种场景下的计算卸载方案,如单用户场景、多用户场景和联网汽车场景。通常情况下,为了利用更强的计算能力,移动设备的计算任务会被卸载到边缘计算服务器。例如,大量物联网设备的记录内容、VoLTE视频电话的编解码过程[7, 8]。此外,多个相邻的雾节点可以组成雾节点集群,以解决多用户雾计算系统的负载均衡问题。

除了向边缘服务器卸载外,随着智能设备技术和D2D通信技术的发展,终端设备的更多计算资源得以被利用。一组相邻的移动设备可以组合在一起,在网络边缘提供云服务。这样,移动设备的计算任务可以卸载到附近的其他设备,从而实现更低的延迟[9, 10]。

在单用户场景中,计算卸载的主要设计目标之一是节省移动设备的能耗,并考虑无线网络的随机信道状态和调度策略。例如,参考文献[11]研究了部分计算卸载问题,其研究目标是最小化设备能耗和应用执行延迟,同时考虑了单服务器和多服务器场景。研究证明,当设备具有动态电压调节能力时,完全卸载计算任务并非最优选择。终端需要根据不同情况选择本地执行、部分卸载或完全卸载。然而近年来,随着新兴移动应用的迅速增加,针对单用户场景的计算卸载策略逐渐失去了实际意义。

多用户计算卸载问题被证明是一个非确定性多项式难题(NP‐Hard问题)。参考文献[12]研究了在MIMO多小区系统中,多个用户将计算任务卸载到同一云服务器的问题。通过联合优化无线资源和计算资源,在最小化用户的总能耗的同时满足时延要求。由于该优化问题是非凸的,作者提出了一种基于连续凸近似方法的迭代算法。文献[13]分别研究了在TDMA(时分多址)和OFDMA接入方式下多用户移动云边缘计算卸载系统的最优资源分配问题。在TDMA系统中,最优资源分配策略具有与用户优先级相关的阈值结构;对于OFDMA系统,作者提出了一种低复杂度次优算法,将OFDMA系统的优化问题转化为相应的TDMA问题。文献[14],将联合优化决策构建为混合整数规划问题,并通过分层搜索方法获得该问题的次优解。文献[15]首先将0‐1任务迁移决策松弛为连续变量,并采用半定规划技术对计算和无线资源分配进行优化,再通过随机舍入方法恢复二进制的任务迁移决策。上述方案忽略了用户/任务对任务执行延迟、能耗以及多用户资源分配公平性要求的差异。在多用户场景中,计算卸载比单用户场景更加复杂,无线资源与计算资源相互耦合,需要复杂的优化方案设计。

因此,文献[16]将任务迁移决策与无线资源和计算资源分配解耦,并进行迭代优化。具体而言,每次迭代仅允许添加被允许卸载的用户。基于当前的任务卸载决策,通过二阶锥规划求解最优资源分配决策。上述过程不断迭代,直到新增用户不再带来性能增益为止,该迭代过程可获得问题的一个次优解。文献[17]考虑了用户间的干扰,通过启发式搜索设计了一种联合任务卸载与资源优化方案。近年来,一些文献[18]研究了结合边缘计算与5G新兴技术的任务迁移与资源管理方案。其中,文献[19]研究了设备由无线能量传输供电情况下的边缘计算方案,并研究了基站的能量波束成形、任务卸载决策与计算资源分配的联合优化问题,该问题通过拉格朗日对偶和交替方向乘子法求解。文献[20]研究了非正交多址接入(NOMA)中的边缘计算任务迁移与资源分配方案,该方案联合优化任务划分、上行链路功率配置和下行传输时间,通过连续凸近似。为卸载任务选择接入控制方案是一个NP难的整数规划问题。

上述方案无法在多项式复杂度内获得最优解。考虑到任务的低延迟要求,边缘计算接入控制方案面临的挑战主要在于如何综合考虑接入控制方案的复杂度(执行延迟)和有效性(例如节省用户设备的能耗)。本文旨在设计一种具有可调节复杂度和有效性的接入控制方案,在保证任务执行延迟的前提下,最小化用户设备的能耗,从而有效支持计算密集型和延迟敏感任务的执行。

3 系统模型

3.1 场景描述

示意图0

如图1所示,系统模型包含一个远程云服务器、多个边缘计算服务器和一个用户设备。该系统中,边缘计算服务器与云服务器通过光纤连接。所有N个用户设备通过无线链路与边缘计算服务器相连。在每个传输时间间隔(TTI,占用1毫秒)内,所有用户设备共享G个资源块(RB)。每个资源块最多只能分配给一个用户设备。边缘计算服务器和所有用户设备均配备单天线。

考虑一种准静态场景,即在卸载过程中所有用户设备和无线信道保持静止(通常为几秒钟)。该假设适用于许多实际应用,例如人脸识别、自然语言处理等。由于输入数据量不大,计算卸载可以在短于用户设备移动性和无线信道变化的时间内完成。因此,将卸载周期视为后续进行优化的时间单位,并且在同一卸载周期内的所有传输时间间隔采用相同的优化结果。

每个用户设备上仅有一个不可分割的应用。在卸载时,通过以下流程决定程序的执行位置以及应分配多少资源。首先,每个用户设备向边缘计算服务器中的管理器发送一个卸载请求(包含应用及用户设备本身的信息)。管理器收集无线信道状态、边缘计算服务器中的可用资源信息以及卸载请求,然后做出卸载决策(即确定应用的处理位置,也就是本地、边缘计算服务器或云服务器)并为每个用户设备进行相应的资源分配[21]。管理器随后将卸载决策返回给所有用户设备,并分配相应的资源。卸载时会为其分配资源。由于卸载请求通常非常小,因此假设无需缓冲区来排队卸载请求。此外,为便于分析,不考虑做出卸载决策所需的时间。

设所有用户的集合为U,用户设备n的卸载决策为xn、yn、zn。其中xn = 1、yn = 1 和zn = 1分别表示用户设备n的应用是在本地执行、由边缘计算服务器执行,还是由云中心执行。反之亦然,xn = 0、yn = 0 和zn = 0。因此,有:
$$
xn + yn + zn = 1; \quad \forall n \in Q \quad (1)
$$

使用矩阵C表示所有用户的卸载决策,即
$$
C =
\begin{bmatrix}
x_1, …, x_N \
y_1, …, y_N \
z_1, …, z_N
\end{bmatrix}_{3\times N}
$$
其中第n列为用户设备n的卸载决策。

由于边缘计算服务器的计算资源有限,其处理能力也受限。当多个用户设备选择边缘计算处理时,边缘计算服务器需要在这些用户之间分配计算资源(单位为CPU周期/秒)。当多个用户设备选择在云端执行任务时,其应用程序将首先通过无线接入链路从用户设备传输到边缘计算服务器,然后由边缘计算服务器通过有线光纤链路转发至云服务器。云服务器中的计算资源充足,且有线链路容量足够大,因此假设每个用户设备均可获得充足的云计算资源和有线链路传输资源,无需考虑这些资源的分配问题。然而,由于无线资源稀缺,需要在所有远程执行任务的用户设备(包括所有满足yn = 1或zn = 1的用户设备)之间进行无线资源的最优分配。远程处理后的输出数据通常很小,因此仅讨论上行卸载过程中的数据传输,不考虑下行结果回传过程。

表示用户设备UEn的应用为Kn = {Dn}; k; n ∈ Q,其中Dn为输入数据的大小(单位为比特),kn为应用程序的处理密度或计算复杂度。将完成该应用所需的CPU周期数Cn(也称为计算量)建模为Cn = Dn * kn。通过程序分析器可以预先容易地获知Dn、Cn和kn的值。每个用户设备在边缘计算服务器中均有一个克隆机,对应用户设备的应用程序被备份,并且云中心可通过高速链路快速下载。因此,建立和同步克隆机的时间开销不予考虑。当用户设备n卸载其应用程序时,只需发送大小为Dn比特的输入数据至边缘计算服务器或云中心,而无需发送大小为Cn的应用程序。

3.2 不同场景下的时延

注意,用户设备UEn的本地处理能力为f_loc_n(单位为CPU周期/秒),则本地执行延迟为:
$$
T_{loc}^n = \frac{C_n}{f_{loc}^n} \quad (2)
$$

如果用户设备n选择边缘计算,则首先需要将大小为Dn的数据传输至边缘计算服务器。数据传输完成后,边缘计算服务器处理用户的应用。设分配给用户设备n的计算资源为f_fog_n(单位为CPU周期/秒)。用户设备n在边缘计算处理场景下的时延为:
$$
T_{fog}^n = \frac{D_n}{r_n} + \frac{C_n}{f_{fog}^n} \quad (3)
$$

如果用户设备n的应用被卸载到云服务器上执行,数据将首先传输到边缘计算服务器,然后由边缘计算服务器转发至云服务器进行处理。设分配给用户设备n的高速有线链路速率和云处理能力分别为R_fc_n(比特/秒)和f_c_n(CPU周期/秒),则从边缘计算服务器到云服务器的有线传输延迟和云处理延迟分别为T_fc_n = Dn / R_fc_n 和T_c_n = Cn / f_c_n。因此,用户设备n在云处理模式下的总延迟为:
$$
T_{cloud}^n = \frac{D_n}{r_n} + T_{fc}^n + T_c^n \quad (4)
$$

3.3 边缘计算服务器的任务迁移策略

为了应对移动边缘网络中服务分布不均的问题,本文提出的方法是一种在边缘计算服务器之间进行任务迁移的策略。即高负载的边缘计算服务器可以将其计算任务迁移到其他有负载能力的边缘计算服务器上。该策略具有两个优点:第一,能够平衡边缘网络中的计算负载;第二,能够充分利用网络中的分布式计算资源。

假设一个移动边缘计算服务器只能将其基站覆盖的用户所提交的计算任务迁移到另一个移动边缘计算服务器,该假设旨在避免出现循环迁移过程。例如,从移动边缘计算服务器i迁移到移动边缘计算服务器j的任务将在服务器j中进行处理,而不会被进一步迁移或返回至服务器i。在时隙t,移动边缘计算服务器i的计算与迁移决策表示为h_t_i = [h_t_0, h_t_1, …, h_t_iN],其中 h_t_ij表示从移动边缘计算服务器i迁移到移动边缘计算服务器j的任务量,h_t_i0表示从移动边缘计算服务器i迁移到云服务器的任务量,h_t_ii表示移动边缘计算服务器i本地处理的任务量。当某个移动边缘计算服务器处于休眠状态时,其他移动边缘计算服务器无法向其迁移任务。因此,在时隙t,边缘网络的计算迁移策略表示为h_t = [h_t_1, h_t_2, …, h_t_N]。此外,迁入移动边缘计算服务器i的总任务数(即从其他移动边缘计算服务器转移到移动边缘计算服务器i的任务量)记为h_t_←i = [h_t_1i, h_t_2i, …, h_t_Ni],i = 1, 2, …, N。迁入云服务器的总任务数量记为h_t_←0。那么,移动边缘计算服务器i和云服务器需要处理的总任务量分别为V_t_i = Σ_j=1^N h_t_ji 和 w_t = Σ_i=1^N h_t_i0。令l_t_i称为迁移前的任务量,v_t_i称为迁移后的任务量。一个可行的迁移策略h_t必须满足以下条件:

(1) 非负性 h_t_ij ≥ 0;对所有i,j ∈ N。每个边缘计算服务器迁移的任务量必须具有非负性。

(2) 任务守恒 Σ_j=1^N h_t_ji = l_t_i;对所有i ∈ N。每个边缘计算服务器迁移的总任务数与其本地处理的任务量之和必须等于迁移前的任务数量。

(3) 稳定性 v_t_i ≤ b_i;对所有i ∈ N。每个边缘计算服务器迁移的任务量不得超过其计算服务速率。

在时隙t,所有可行的计算迁移策略的集合表示为F_t。根据参考文献[22],边缘计算服务器的空闲功耗占其总功耗的很大比例(平均为50–70%)。由于负载的动态性,网络中的边缘计算服务器在相当长的时间内并未达到峰值性能。因此,设计了一套睡眠机制,当负载水平低于某个阈值时,使边缘计算服务器进入睡眠状态,以达到降低能耗的目的。在时隙t,边缘计算服务器可能处于两种状态之一:激活(非睡眠)或睡眠。令S_t = [S_t_1, S_t_2, …, S_t_N]表示时隙t内所有边缘计算服务器的睡眠状态。边缘计算服务器i的睡眠阈值表示为p_i。假设所有边缘计算服务器的睡眠阈值相同,记为p。那么,边缘计算服务器i在时隙t的睡眠状态为:
$$
S_t^i =
\begin{cases}
1 & u_t^i \geq p_i \
0 & u_t^i < p_i
\end{cases}
\quad (5)
$$
设处于休眠状态的移动边缘计算服务器集合为S。

3.4 问题建模

在本节中,我们首先对云‐边缘计算网络系统中的联合卸载决策优化和资源分配问题进行建模,并证明其为NP难问题。基于公式(3–5),用户设备n的时延可表示为:
$$
T_n = T_{loc}^n x_n + T_{fog}^n y_n + T_{cloud}^n z_n \quad (6)
$$

为了确保最小‐最大公平性,以下将最小化所有用户中的最大时延。该问题被建模为卸载决策P、资源块模式分配S = s_n;j_N×J、传输功率分配P = p_n;k() N×G×J_j以及计算资源分配f_fog = {f_fog_1, …, f_fog_N}的联合优化问题。需要注意的是,边缘计算服务器的计算资源只需在所有边缘计算执行用户之间进行分配。而资源块模式需要在云端执行和边缘计算执行的所有用户之间进行分配。设U1为边缘计算用户的集合,将边缘计算执行用户和云端执行用户(统称为远程执行用户)的集合记为U2,则该联合优化问题可建模为:
$$
(P1): \min
{C,f_{fog},S,P} \max_{n \in Q} T_n
$$
s.t.
(C1): $x_n, y_n, z_n \in {0, 1}; \quad \forall n \in Q$;
(C2): $x_n + y_n + z_n = 1; \quad \forall n \in Q$;
(C3): $\sum_{n \in N_1} f_{fog}^n \leq F_{fog}$;
(C4): $f_{fog}^n \geq 0; \quad \forall n \in Q_1$;
(C5): $s_{n;j} \in {0, 1}; \quad \forall j \in J; \quad \forall n \in Q_2$;
(C6): $h_{ij}^t \geq 0; \quad \forall i,j \in N$;
(C7): $\sum_{j \in J} s_{n;j} = 1; \quad \forall n \in Q_2$;
(C8): $\sum_{j=1}^N h_{ji}^t = l_i^t; \quad \forall i \in N$;
(C9): $v_i^t \leq b_i; \quad \forall i \in N$;
(C10): $p_{n;k(j)} \geq 0; \quad \forall n \in Q_2; \quad \forall k \in G; \quad \forall j \in J$;
(C11): $\sum_{j \in J} s_{n;j} p_{n;j} \leq p_{max}^n; \quad \forall n \in Q_2$;

在问题(P1)中,(C1)和(C2)是每个用户设备卸载决策的约束;(C3)表示边缘计算服务器分配的总计算资源不得超过其总计算能力;它是计算资源分配的非负性约束;(C5)是资源块模式分配的0–1约束;(C6)表示每个边缘计算服务器迁移的任务量必须为非负;(C7)要求每个用户只能选择一种模式,以避免因选择多个资源块模式而导致分配给用户的资源块不连续;(C8)表示每个边缘计算服务器迁移的任务总量与本地处理的任务量之和必须等于迁移前的任务量;(C9)确保每个边缘计算服务器迁移后的任务量不超过其计算服务速率;(C10)确保每个资源块上的分配功率为非负;(C11)要求每个用户设备的发射功率不得超过其最大值。

4 基于改进的烟花算法的联合优化方案

当烟花弹爆炸时,产生的火花会布满周围的夜空。受此现象启发,一种新的启发式算法——烟花算法(FA)被提出。研究表明,与其他启发式算法如遗传算法(GA)和粒子群优化算法(PSO)相比,该算法具有更好的收敛性能和全局搜索能力[23–25]。

问题(P1)难以求解。启发式算法已被广泛用于求解混合整数非线性规划问题,例如无线资源分配和模糊控制。因此,本文提出了一种改进的烟花算法,并用于求解卸载决策与资源分配的联合优化问题。

4.1 烟花算法的基本概念

烟花弹和火花 :烟花产生的烟花弹和火花代表了解空间中的可行解。在所考虑的问题中,烟花弹或火花均指卸载决策矩阵C。

适应度函数和适应度值 :适应度值用于评估可行解的性能。将问题(P)中的目标函数作为适应度函数,并据此获得每个烟花弹和火花的适应度值。

二进制矩阵距离 :二进制矩阵距离指的是两个二进制矩阵的曼哈顿距离,即两个矩阵中对应元素距离的总和。假设矩阵X和Y的维度均为m × n,则两个矩阵之间的二进制矩阵距离为:
$$
d(X, Y) = \sum_{i=1}^{m} \sum_{j=1}^{n} |X_{i,j} - Y_{i,j}| \quad (8)
$$

使用烟花算法解决问题的步骤可以概括如下:首先,初始化烟花弹种群,并根据指定的适应度函数获取所有初始烟花弹种群中每个烟花弹的适应度值。然后,对每个烟花弹执行爆炸操作,在每个烟花弹周围一定范围内产生若干爆炸火花。根据每个烟花弹的适应度值,确定其爆炸范围和爆炸次数:烟花弹的适应度值越好,其产生的火花数量越多,爆炸幅度越小;反之则越少越大。第三步,生成高斯变异火花,以维持种群多样性。最后,从由所有烟花弹和火花组成的种群中选择若干烟花弹作为下一轮迭代的个体。重复爆炸、变异和选择过程,直到算法收敛或达到最大迭代次数。最终从最后一次迭代得到的个体中选取适应度值最优的个体作为该问题的解。

4.2 改进的烟花算法

给定总共H个烟花弹,基于二进制定制的本文提出的烟花算法的主要操作算子如下。

4.2.1 爆炸

第i个烟花弹Ci爆炸产生的火花数量:
$$
E_i = \text{ceil} \left( M \cdot \frac{f_{\text{max}} - f(C_i) + e}{\sum_{i=1}^{H} (f_{\text{max}} - f(C_i)) + e} \right) \quad (9)
$$
这里,ceil(·) 是一个取最小正整数的函数,M是限制火花爆炸总次数的参数。$f_{\text{max}} = \max(f(C_i)); i = 1,…,H$ 表示所有H个烟花中的最差适应度值(本文所构建的问题为最小化问题)。e是一个非常小的数,用于避免分母为零导致的错误。

为了避免烟花弹产生的爆炸火花过少或过多,每个Ei需满足以下限制:
$$
\hat{E}_i =
\begin{cases}
\text{round}(aM) & \text{if } E_i < aM \
\text{round}(bM) & \text{if } E_i > bM; \quad a < b < 1 \
\text{round}(E_i) & \text{otherwise}
\end{cases}
\quad (10)
$$
其中,round(·)是四舍五入函数,a和b是给定的常数。通过这种方式,得到烟花弹Ci实际产生的火花数$\hat{E}_i$。然后,根据需要生成的火花数量,为每个烟花Ci生成爆炸火花。每次爆炸火花的生成方法如下:(1)从第N列中随机选择第b列;(2)对每个选中的列执行循环移位操作;(3)剩余列保持不变。

4.2.2 高斯变异火花生成策略

为了增加爆炸火花种群的多样性,将变异算子引入传统烟花算法以生成变异火花,即高斯变异火花。这使其具备了生成更优烟花的可能性。根据高斯变异体火花的生成原理,从烟花种群中随机选择一个烟花,然后随机选择该烟花的若干维度k进行高斯变异操作。由于高斯变异火花生成具有随机性,因此以这种方式生成更优烟花的概率是相对较小。根据上述分析可知,在当前烟花种群中,适应值最优的烟花总是被选中进行高斯变异。这样不仅能 让优秀的烟花产生“火花” ,还能使变异具有方向性,从而提高生成更优烟花的概率。然而,根据基本烟花算法中高斯变异的随机性,虽然能够保留较多最优烟花的信息,但其变异的维度较少,同时也会降低种群的多样性,导致算法优化效果不理想。尽管增加变异维度数可以提升种群的多样性,但最优烟花对变异个体的贡献则相对减少,导致算法收敛速度变慢。

本文中待变异的烟花是确定的,即当前种群中适应值最优的烟花。因此,为了控制最优烟花对变异火花的贡献,引入了高斯变异概率n,即待变异烟花在每一维度上进行高斯变异的概率n。变异公式为:
$$
x_k =
\begin{cases}
x_{\text{best}}^k \cdot \epsilon, & \text{rand}(0,1) \leq n \
x_{\text{best}}^k, & \text{rand}(0,1) > n
\end{cases}
\quad (11)
$$
在公式中,$x_{\text{best}}^k$是当前烟花种群中最优烟花个体的第k个分量,$x_k$是一个高斯变异体的第k个分量。每个被选中的烟花弹将按照以下步骤生成变异火花:(1)从N列中随机选择第b列;(2)对于每个选定的列,用一个随机的可行卸载决策进行替换;(3)剩余列保持不变。

4.2.3 精英选择策略

标准烟花算法的选择策略是一种基于距离的选择策略。个体与其他个体的距离越远,被选中的概率就越大。这种选择方案不仅增加了选择结果的多样性,也增加了算法每一代的时间消耗。因此,在实际实验中运行时间并不理想。为了加快下一代烟花种群的选择速度,采用了一种精英选择策略,使得候选集中的每个个体都有一定的概率被选择进入下一代。该概率与个体的适应度值相关。候选集(包括烟花、火花和高斯变异火花)按照以下概率进行选择:
$$
\eta(x_i) = \frac{f_{\text{max}} - f(x_i)}{f_{\text{max}} - f_{\text{min}}} \quad (12)
$$
候选集中每个个体的适应度值越小,被选择的概率值越大,保留为下一代烟花的可能性也越大,否则该个体将被丢弃。不难发现,当前种群中的最优个体将以概率1被选为下一代烟花。如果通过此方法选择的烟花数量少于烟花种群的大小H,则从候选集中随机选择若干候选个体进行补充。为了维持种群多样性,其余H−1个烟花弹根据其他个体的选择概率从中选取。每个个体的选择概率按以下方法获得。

根据公式(7),每个个体Pi与其他个体之间的二进制矩阵距离为:
$$
R(C_i) = \sum_{j \in K} d(C_i, C_j) \quad (13)
$$
这里,K是当前所有个体的集合,包括所有烟花和火花。个体Ci(i ∈ K)被选中的概率为:
$$
p(C_i) = \frac{R(C_i)}{\sum_{j \in K} R(C_i)}; \quad i \in K \quad (14)
$$

4.3 计算卸载与资源分配的联合优化算法

大多数研究已经证明,通过将二进制自定义算子引入传统烟花算法,并采用与传统烟花算法相同的步骤,可以获得二进制自定义算子。利用该算法,可得到最终的卸载决策Ci及相应的资源分配。详细算法的伪代码如算法1所示。

5 仿真实验与结果分析

本节将通过仿真评估所提算法的性能。实验仿真使用MATLAB模拟一个分层的边缘云计算系统,包括一个云服务器、若干无线接入点及相应的边缘计算节点,以及多个移动终端设备。以下参数设置为如下所示的默认值,若有所变动将另行说明:N = 6,H = 2,M = 4,b = 1,a = 0.2,b = 0.8,G = 15[26],$f_{fog}^n$ = 5 G周期/秒[27], $f_c^n$ = 20 G周期/秒[28], $f_{loc}^n$ 在[50,400] M周期/秒[11], $R_{fc}^n$ = 15 Mbps[29]上的均匀分布。采用参考文献[30]中的卸载任务,其中输入数据大小Dn = 0.42 MB,处理密度为297.62 CPU周期/比特。

5.1 本文提出的方法的新架构的可靠性验证

为了验证本文提出的方法在新型云边协同计算网络架构下的延迟性能,它与传统的云计算和单一边缘节点相比,本文模拟了真实的网络环境并进行了仿真实验。结果如图2所示。

示意图1

图2中的仿真结果表明,当请求数量较少(小于10)时,三种算法之间的时延差异不明显。在单一边缘节点上处理请求任务不会产生节点间的通信开销。因此,即使单一边缘节点的计算能力较差,也不会导致较高的时延。此外,少量数据传输到云数据中心所引起的时延也不高,且云计算的计算能力较强。因此,三种算法的时延非常接近。然而,随着用户请求数量的增加,当请求数量大于20时,由于云计算的带宽有限,传输延迟较高,时延性能较差;单一边缘节点的计算能力有限。由于任务执行过程不会产生通信开销,其时延性能优于云计算网络。本文提出的新型云边协同计算网络架构采用多设备分布式计算技术。与单一边缘节点相比,尽管链路带宽相似,但由于计算能力的提升,总任务处理延迟低于单一边缘节点。因此,与传统的云计算和单一边缘节点相比,本文提出的方法能够更有效地降低业务处理延迟。

5.2 烟花算法不同参数下的性能比较

示意图2

图3展示了烟花算法参数对三种不同时延指标Tmax、Tmin和Tav的影响。可以看出,随着烟花弹数量H = 2以及火花数量M的增加,三项时延均有所下降。这是因为如前所述,每个烟花弹或火花都代表一个卸载决策矩阵,并对应一种资源分配方案。因此,烟花弹和火花的数量越多,联合计算卸载与资源分配方案的数量就越多,搜索能力越强,从而获得更短的时延。然而,烟花弹和火花数量越多,计算复杂度也越高,且时延的降低并不十分显著。最终,我们选择H = 2和M = 4作为烟花弹和火花数量的默认值,以在搜索能力和计算复杂度之间取得折衷。

5.3 与其他算法的性能比较与分析

示意图3

在图4中,我们将所提算法与参考文献[16]和[17]中的算法进行比较,以评估本文提出的方法的性能,所有参数均采用默认值。从第一个子图可以看出,所提算法中的三种时延Tmax、Tmin和Tav始终比参考文献[16]和[17]中的算法更短。从第二个子图可以看出,所提算法相比参考文献[16]和[17]中的方案能够使更多用户设备受益,并能有效降低远程用户的概率卸载失败。这两个子图解释如下:在参考文献[16, 17]中,每个用户设备从其可用模式中随机选择一种模式。这样,由于用户设备可能选择包含相同资源块的模式,因此很可能与之前的用户设备发生冲突。结果,该方案中用户设备卸载失败的概率很高,受益的用户设备较少。在本文提出的算法中,每个用户设备在从其可用模式中选择最优模式时,考虑了资源块的互斥性。这可以有效避免与前面的用户设备发生冲突,从而使更多的用户设备受益。另一方面,所提算法还考虑了资源块利用率。通过多轮模式选择,最终为所有用户设备选定的模式方案能够确保资源块利用率最大化。因此,包括Tmax、Tmin和Tav在内的各个时延均能有效降低。

示意图4

图5显示了该算法的收敛情况。随着迭代次数的增加,系统开销逐渐稳定,算法实现收敛。可以看出本文提出的方法在10次迭代后即可收敛。可以看出,其收敛速度相对较快。参考文献[16]和[17]中的机制通常需要约60次迭代才能收敛。这是因为引入了高斯变异概率,改进了基本烟花算法中的高斯变异操作,使变异具有方向性。此外,我们在基本烟花算法中引入了时间消耗较低的精英选择策略,从而加快了收敛速度。

示意图5

目标函数值Tmax在不同输入数据量下的变化如图6所示。从图中可以看出,更多的输入数据Dn将导致更高的时延。此外,由于对卸载决策和资源分配进行了联合优化,本文提出的方法始终表现最优,其次是参考文献[17]中的方案。然而,参考文献[16]的性能最差,因为没有进行优化。这两张图也展示了基于本文所提算法的卸载决策求解算法的有效性。

6 结论

针对物联网用户对计算资源和响应时间的需求,本文提出了一种新型云边协同计算网络架构。该架构有效降低了物联网用户的最大容忍延迟,从而保障了其服务质量(QoS)。此外,为了综合考虑计算资源和响应时间,我们进一步基于改进的烟花算法开发了一种联合优化策略。仿真结果表明,改进的烟花算法能够有效求解混合整数非线性规划问题,并具有良好的收敛性,与其他传统启发式算法相当。与几种其他较新的任务卸载策略相比,本文提出的联合优化策略能够实现显著的性能增益。

本文研究了MEC系统中包括计算卸载和资源分配的内容。然而,仍有许多方面需要进一步研究和突破。随着物联网的普及,需要进行计算卸载的设备数量激增,网络需要具备更大的容量以容纳更多用户。由于在卸载过程中需要无线数据传输,受限于无线频谱资源的短缺,网络中可容纳的用户数量非常有限。同时,仅通过无线资源分配优化所获得的性能增益也有限。因此,我们将在未来继续从两个方面开展研究:(1)将非正交多址NOMA与移动边缘计算相结合,以容纳更多用户,从而提升系统容量并改善性能。(2)致力于开发更多新的频谱(例如毫米波)并将其应用于MEC,进一步提升用户在计算卸载过程中的性能。

更多推荐