移动边缘计算中的数据处理延迟优化
1. 引言
数据存储和计算是云计算中的两个关键问题,云计算提供了一种解决计算机或手机存储容量有限和计算速度不足的方法[1]。随着物联网(IoT)的发展,数据传输量呈现出指数增长的趋势[2, 3]。预计2014年至2020年间数据流量将增长八倍,这将给云计算带来巨大挑战[4, 5]。一方面,有限带宽对数据传输效率产生不利影响;另一方面,终端通常距离云服务器较远,远距离的数据传输增加了传输延迟,无法满足数千个物联网设备网络对实时性、低延迟和高质量服务(QoS)的要求,进而影响系统的整体效率[6, 7]。
由于传统云计算面临诸多挑战,提出了移动边缘计算(MEC),其由相对较弱的边缘设备[8–10]组成。MEC是一种将云计算能力和服务扩展到网络边缘的新型范式。一方面,MEC确保数据处理主要依赖于本地设备而非云服务器。另一方面,移动边缘计算通常不需要与远程云服务器建立连接;它能够很好地满足本地用户的大多数需求[11]。然而,与云服务器相比,移动边缘计算的计算能力有限,因为它仅包含有限的计算设备。当单个边缘设备的计算能力超出负荷时,移动边缘计算需要其他边缘设备协助,或将残余数据转发至云服务器进行处理,以便在用户数量或数据量快速增长的情况下,系统仍能保持良好的性能。
本文中,我们首先提出了一种结合云计算与边缘计算的新型三层网络架构模型(简称CENAM),并对CENAM各部分的通信延迟和计算延迟进行建模。然后,在边缘计算中,我们提出了一种基于加权无向图的边缘设备间互惠协作的计算方案,并分别利用克鲁斯卡尔算法和拉格朗日乘子法求解通信延迟和计算延迟。此外,我们重点关注从边缘设备到云服务器的数据传输延迟的均衡传输方法,并根据云服务器的特性求解其计算延迟。最后,基于仿真和数值结果,我们展示了CENAM在降低数据处理延迟方面的更优性能。
本文的其余部分组织如下。第2节讨论相关工作。在第3节中,我们描述了CENAM的组成。第4节详细解释了我们提出的CENAM计算方案。第5节是算法求解。我们在第6节分析了所提出方案的性能。在第7节中,我们总结了本文并提出了若干未来工作方向。
2. 相关工作
近年来,移动边缘计算(MEC)的相关研究受到了广泛关注。例如,Subramanya等人[12]提出了一种资源受限的云支持小小区,该小区包含一个用于部署移动边缘计算功能的MEC服务器,并介绍了该架构,特别关注在移动数据路径与MEC应用之间实现数据包的正确转发。Sharma和Wang[13]提出了一种结合边缘与云计算平台优势的新型协同处理框架,能够向终端用户提供实时信息,并提升无线物联网网络的性能。Masip‐Bruin等人[14]引入了一种具有优势和特点的分层F2C架构,并指出了其协同管理的实际需求。为了适应移动资源的快速增长,Lee等人[15]提出了一种协作平台解决方案,大大简化了移动协同应用的开发机制,并降低了延迟和能耗。由于移动用户距离云服务器较远,导致较大的传输延迟,Intharawijitr等人[16]放宽了延迟约束系统,并选择边缘服务器以有效降低系统延迟。Hu等人[17]关注MEC中的服务分配问题,找到了平均网络延迟与负载均衡之间的权衡。仿真结果表明,在网络延迟几乎不变的情况下,MEC服务器负载的方差减少了18.9%。为了实现智能D2D通信,Bello和Zeadally[18]聚焦于智能路由协议,并概述了如何在物联网生态系统中实现智能D2D通信。
雾计算[19–21],作为边缘计算的典型代表之一,已引起越来越多的关注以解决相关问题。Sarkar和Misra[22]建立了一个雾计算架构的理论模型,并从数学上定义了其结构组件。然后,他们将其与传统云计算架构进行比较,并在物联网背景下分析了延迟和能耗的性能。Deng等人[23]关注云‐雾计算中的延迟和最优能耗问题。他们将雾计算中存在的数据传输问题划分为三个子问题,并从延迟性能的角度进行了分析 f 负载均衡。但它们均未考虑边缘设备之间的协作。根据高在医疗数据场景中使用云计算时,为了解决处理延迟问题,何和任[24]提出了面向医疗大数据的云‐雾网络架构模型。针对边缘设备计算能力较弱的问题,他们提出了一种分布式计算方案。范和许[25]建立了云‐雾环境中的任务调度问题模型,并提出了一种基于启发式的算法,从而实现了完工时间与云资源的货币成本之间的平衡。
3. CENAM的描述
在真实的物联网应用中,用户希望尽快获取所需信息并进行传输,因此信息提供者需要具备高工作效率。面对云数据中心的高传输延迟和计算压力,我们提出了CENAM,如图1所示。
网络架构模型主要分为三层:云计算层、边缘计算层和移动终端层,其中底层为移动终端层,包含所有移动终端设备,如智能手机、笔记本电脑和汽车。用户通过智能设备接入网络,不仅能够快速访问网络架构中的服务,还可以将个人信息存储在网络架构的数据中心中。
中间层是边缘计算层,由边缘设备(路由器、网关、交换机和接入点)组成。边缘设备主要分布在本地移动用户场所,如公园、购物中心和公交车上。边缘计算层是云服务器与终端用户之间的桥梁。除了对本地数据进行计算与存储外,边缘计算层无法处理的残余数据将被转发至云计算层进行处理。
顶层是云计算层,由高端服务器和数据中心组成。它具备强大的计算和存储能力,负责处理和存储边缘计算层无法处理的残余数据。
4. CENAM的计算方案
如图1所示,由于边缘设备靠近终端用户,并通过局域网(LAN)接收来自终端用户的服务请求,因此局域网的通信延迟可以忽略不计(相对于广域网而言)。移动边缘计算(MEC)中的未处理数据通过广域网(WAN)转发至云服务器进行处理,因此需要考虑从边缘设备到云服务器的通信延迟。在数据处理过程中,我们主要考虑边缘计算层和云计算层的延迟,包括从边缘设备到云服务器的通信延迟。
4.1 边缘计算层中的延迟计算方案
边缘设备主要分布在超市、公园和公交车等区域,它们之间的协作密不可分。在本文中,我们抽象出一种网络拓扑由m个边缘设备(如图2所示)组成的图表示为加权无向图(如图3所示)。
$$ V = {z_1, z_2, …, z_i, …, z_m} $$
是一个顶点集,其中 $ z_i $ 是边缘设备的集合,m是边缘设备的数量。
$$ E = {e_{z_1,z_2}, …, e_{z_i,z_j}, …, e_{z_{m-1},z_m}} $$
是一个边集,其中 $ e_{z_i,z_j} $ 是边缘节点 $ z_i $ 和 $ z_j $ 之间的通信链路。$ \tau_{z_i,z_j} $ 是 $ z_i $ 和 $ z_j $ 之间的通信延迟,其值的大小参照[24]的数值随机生成。
我们假设图3中每个边缘节点 $ z_i $ 的计算能力为
$$ V_{z_i} \quad (i=1,2,…,m) $$
且边缘计算层的计算任务为 X。为了减少从边缘计算层转发到云计算层的数据量以降低通信延迟,我们需要增强边缘节点的计算能力,并尽可能在边缘网络中处理数据。因此,我们提出了一种边缘设备之间的协作方案。
在数据处理过程中,边缘设备 $ z_i $ 接收来自终端用户的计算任务 X,并将该任务划分为若干满足 $ x_i = \delta_i X $ 的子任务,然后将这些子任务分配给包括自身在内的边缘节点进行处理;具体方案如下。
边缘计算层的延迟包括边缘节点之间的通信延迟和边缘节点的计算延迟。对于通信延迟,在由边缘节点构成的加权无向图中,我们将边缘节点之间的通信延迟视为权重,并使用克鲁斯卡尔算法生成最小生成树,从而得到最小权重 W(T),即最小通信延迟。对于边缘设备 i,其计算延迟可通过分配给它的计算量 $ x_i $ 来描述,该计算量满足两个条件:(i) 随着计算量的增加,边缘设备的计算延迟也随之增加。(ii)计算量增加得越多,边缘设备的计算延迟增加得越快。因此,使用以下函数来描述边缘设备i的计算延迟。
$$ D_{Edge,i} = \frac{1}{V_{z_i}} a_i x_i^2 $$
其中,$ V_{z_i} $ 是边缘设备i的计算能力, $ x_i $ 是边缘设备i需要处理的数据量,而 $ a_i $ 是介于0和1之间的预定实数。
因此,m边缘节点的计算延迟可以表示为
$$ D_{com,Edge} = \min \sum_{i=1}^{m} \frac{1}{V_{z_i}} a_i x_i^2 $$
$$ s.t \sum_{i=1}^{m} x_i = X \quad 0 < x_i < x_{max,i} $$
其中 $ x_{max,i} $ 是边缘设备i能够处理的最大数据量,X是边缘计算层需要处理的数据总量。因此,在边缘计算节点上处理的数据量可以形成一个m维向量
$$ X = [x_1, x_2, …, x_m] $$
因此,针对边缘计算层产生的延迟,建立了以下目标函数:
$$ D_{Edge} = \min\left( \sum_{i=1}^{m} \frac{1}{V_{z_i}} a_i x_i^2 \right) + W(T) $$
$$ s.t \sum_{i=1}^{m} x_i = X \quad 0 < x_i < x_{max,i} $$
4.2 云计算层中的延迟计算方案
云计算层中的延迟包括云服务器的计算延迟以及从边缘设备到云服务器的通信延迟。在云计算层中,我们假设有n个云服务器;云服务器上处理的数据量为Y。对于云服务器j,若其需要处理的数据量为 $ y_j $,计算能力为 $ V_j $,则其计算延迟可表示为
$$ D_{com,j} = \frac{y_j}{V_j} \quad (j=1,2,…,n) $$
因此,当n云服务器处理的数据量为Y时,云计算层的计算延迟是
$$ D_{com,cloud} = \sum_{j=1}^{n} \frac{y_j}{V_j} $$
$$ s.t \sum_{j=1}^{n} y_j = Y \quad y_j \geq 0 $$
如果不考虑数据丢失率,从边缘设备i到云服务器j的广域网传输路径的延迟为 $ d_{ij} $,流量速率为 $ \lambda_{ij} $。根据[23],,通信延迟为
$$ D_{comm,ij} = d_{ij} \lambda_{ij} \quad (i=1,2,…,m \quad j=1,2,…,n) $$
因此,CENAM中从边缘设备向云服务器传输数据的延迟可以表示为
$$ D_{comm,Edge-Cloud} = \sum_{i=1}^{m} \sum_{j=1}^{n} d_{ij} \lambda_{ij} $$
$$ s.t \sum_{i \in M} \lambda_{ij} = y_j $$
$$ \sum_{j \in n} \lambda_{ij} = x_i $$
$$ 0 \leq \lambda_{ij} \leq \lambda_{max,ij} $$
其中 $ \lambda_{max,ij} $ 是由带宽限制的最大流量速率。
4.3 问题构思
在CENAM中,系统延迟主要包括边缘设备和云服务器的计算延迟以及从边缘设备到云服务器的通信延迟,因此系统延迟定义为
$$ D_{sys} = D_{Edge} + D_{com,Cloud} + D_{comm,Edge-Cloud} $$
考虑到CENAM的延迟优化和系统负载均衡,建立了目标函数
$$ \min D_{sys} $$
$$ s.t \quad L = X + Y $$
$$ \sum_{i=1}^{m} x_i = X $$
$$ \sum_{j=1}^{n} y_j = Y $$
其中L是系统中处理的总数据量,X是边缘计算层中处理的数据量,Y是云计算层中处理的数据量,且满足 $ L = X + Y $。
5. 算法求解
5.1 边缘计算层中延迟优化的解决方案
5.1.1 边缘计算层中通信延迟的解决方案
我们使用克鲁斯卡尔算法来解决边缘节点之间的最小通信延迟问题。对于加权无向图 $ G=(V,E) $,其最小生成树为
$$ T = (U, T_E) $$
以及初始状态为
$$ U = V; \quad T_E = {} $$
这样,T中的每个边缘节点构成一个连通分量。然后,按照边的权重从小到大的顺序,依次考察集合E中的边。如果被考察的两个顶点属于T中两个不同的连通分量,则将该边加入 $ T_E $,并将这两个连通分量合并为一个;否则,将该边舍弃,以避免形成环路。如此进行下去,当T中的连通分量只剩下一个时,即为G的最小生成树。
克鲁斯卡尔算法描述如下:
(1) Initialization: $ U=V; T_E={} $.
(2) 重复以下操作,直到T中的连通分量数量为一。
在E中找到最短边(u, V)。
如果顶点 u和V位于T中的两个不同的连通分量中,则 (i) incorporate edge(u, V) into $ T_E $, (ii) merge two connected components into one.
在T中,我们标记边(u,V),并使其不参与后续最小边的选择。
(3) 最后,我们得到最小通信延迟W(T)。
5.1.2 边缘计算层中计算延迟的解决方案
计算延迟的目标函数是
$$ f(x) = \min \sum_{i=1}^{m} \frac{1}{V_{z_i}} a_i x_i^2, \quad h_i(x) = \sum_{i=1}^{m} x_i = X $$
我们基于拉格朗日乘子法求解该等式约束优化问题,具体步骤如下。
(1) 给定初始点 $ x^{(0)} $,初始乘子向量 $ V(V_1, V_2, …, V_m) $,惩罚因子 $ M>0 $,放大因子 $ a>0 $,精度 $ \varepsilon>0 $,参数 $ \gamma \in (0,1) $ 和 $ k=1 $。
(2) 构建如下目标函数:
$$ F(x) = f(x) + \frac{M}{2} \sum_{i=1}^{m} h_i(x)^2 - \sum_{i=1}^{m} V_i h_i(x) $$
$ f(x) $ 是目标函数,$ h_i(x) $ 是约束函数。
(3) 使用无约束非线性规划方法(本文采用牛顿法),以 $ x^{(k-1)} $ 作为初始点求解 $ \min F(x) $,最优解为 $ x^{(k)} $。
(4) If $ |h(x^{(k)})| < \varepsilon $, then停止迭代并输出 $ x^{(k)} $;否则转到步骤(5)。
(5) 如果 $ \frac{|h(x^{(k)})|}{|h(x^{(k-1)})|} \geq \gamma $, 那么 $ M = \alpha M $;否则M保持不变;转到步骤(6)。
(6) 定义
$$ V_i = V_i - M h_i(x^{(k)}), \quad i=1,2,…,m $$
设置 $ k=k+1 $,然后转到步骤(2)。 因此,我们得到了最优解 $ x^{(k)} $ 以及边缘计算层的最小计算延迟。边缘计算层的最优延迟是计算延迟和通信延迟之和。
5.2 云计算层的延迟优化解决方案
根据上述分析,云计算层的延迟主要包括云服务器的计算延迟以及从边缘设备到云服务器的通信延迟。基于负载均衡原理,将通信延迟问题视为一个均衡传输问题。假设在边缘计算层未被处理的数据量(即需要在云计算层处理的数据量)为 $ l_i $,每个云服务器能够处理的数据量为 $ y_j $。在边缘计算层未被处理的数据量需转发至云计算层进行处理。为了最小化传输延迟,需要一种最优的传输方案。从边缘设备i到云服务器j的广域网传输路径的延迟为 $ d_{ij} $,可得到如下延迟矩阵:
$$ d_{ij} =
\begin{bmatrix}
d_{11} & d_{12} & \cdots & d_{1n} \
d_{21} & d_{22} & \cdots & d_{2n} \
\vdots & \vdots & \ddots & \vdots \
d_{m1} & d_{m2} & \cdots & d_{mn}
\end{bmatrix} $$
$ \lambda_{ij} $ 是边缘设备i到云服务器j的流量速率,并且可以得到以下传输矩阵:
$$ \lambda_{ij} =
\begin{bmatrix}
\lambda_{11} & \lambda_{12} & \cdots & \lambda_{1n} \
\lambda_{21} & \lambda_{22} & \cdots & \lambda_{2n} \
\vdots & \vdots & \ddots & \vdots \
\lambda_{m1} & \lambda_{m2} & \cdots & \lambda_{mn}
\end{bmatrix} $$
与[23],不同,我们采用均衡传输的方法来解决通信延迟问题,并得到最优分配矩阵 $ Z_{ij} $。 $ Z_{ij} $ 是边缘设备i到云服务器j的传输数据量
$$ Z_{ij} =
\begin{bmatrix}
Z_{11} & Z_{12} & \cdots & Z_{1n} \
Z_{21} & Z_{22} & \cdots & Z_{2n} \
\vdots & \vdots & \ddots & \vdots \
Z_{m1} & Z_{m2} & \cdots & Z_{mn}
\end{bmatrix} $$
对于云服务器的计算延迟,我们不考虑数据丢失率。 $ \sum_{i \in M} \lambda_{ij} = y_j $ 守恒原理表明,云服务器需要处理的数据量为 $ y_j $。在实验中,我们假设云服务器数量 n为5,云服务器计算能力为10GHz。我们采用MATLAB实验平台,实验中的数据均为模拟生成。通过MATLAB仿真得到通信延迟和计算延迟,如图4所示。
移动边缘计算中的数据处理延迟优化
6. 仿真结果与分析
为了验证边缘计算层中数据处理延迟方案的有效性,我们进行了比较
首先,我们分析了数据处理延迟性能在单个边缘节点和云计算层之间的表现。接着,我们研究了在边缘计算层中处理的数据量比例a对数据处理延迟的影响。最后,分析了边缘节点数量对数据处理延迟的影响。
实验平台采用MATLAB,边缘设备和云服务器的计算能力及通信延迟均在[24]中获取。实验中的数据通过仿真设定,边缘节点数量m为10,云服务器数量n为5。此外,我们将云服务器的计算能力设置为10GHz。各边缘设备的计算能力如表1所示。
6.1 边缘计算层中数据处理延迟的性能分析
在边缘计算层中,我们提出了计算延迟和通信延迟的方案。为了验证其在数据处理延迟方面的有效性,我们将延迟与单个边缘节点和云计算层进行了比较。实验结果如图5所示。
实验结果表明,当数据量为 $ X < 2 $ Gb时,单个边缘节点相比云计算层和边缘计算层具有更小的延迟;这是因其不会产生通信延迟,且数据量处于单个边缘节点计算能力范围内。然而,随着数据量的增加,由于单个边缘节点计算能力的限制,所产生的延迟将迅速上升。云服务器虽然具备强大的计算能力,但终端用户距离较远且受带宽限制,会产生较大的通信延迟,因此数据处理的延迟高于边缘计算层。此时,边缘计算层中多个边缘节点之间的协作方案表现出更好的性能。当数据量为 $ X > 19 $ Gb时,边缘计算层的延迟将受到计算能力限制的影响,单个边缘节点,数据处理延迟显著增加。然而,云计算层凭借其强大的计算能力,使得数据处理延迟低于边缘计算层。因此,可以将适当的数据量分配到边缘计算层以减少延迟。
6.2 a对数据处理延迟的影响
a是在边缘计算层中处理的数据百分比。为了验证CENAM的性能,我们研究了a对数据处理延迟的影响。仿真结果如图6所示。
实验结果表明,当 $ a \leq 0.5 $ 时,即边缘计算层处理的数据量小于一半,a越大,延迟越小。当 $ a > 0.5 $ 且数据量较小时,a越大,延迟越小。然而,随着数据量的增加,延迟也会相应增加。并且a越大,相应的延迟增长越快,甚至超过传统云计算层延迟。这是因为当数据量达到某一阈值(例如,当 $ a = 0.8 $ 时,阈值为16 Gb;当 $ a = 1 $ 时,阈值为13 Gb),由于单个边缘节点的计算能力限制,数据处理延迟迅速增加并超过某一数值。这表明边缘计算层的数据处理延迟受单个边缘节点计算能力的限制,当数据量增加到一定程度时,延迟将增大。同时也表明,当数据总量较小时,可以在边缘计算层进行处理并产生较小的延迟。然而,当存在大量数据时,边缘设备与云服务器之间的协作能够有效降低数据处理延迟。
6.3 边缘节点数量对数据处理延迟的影响
为了研究边缘计算层中边缘节点数量对数据处理延迟的影响,我们求解了数据总量为 2 Gb、6 Gb、10 Gb、16 Gb 和 20 Gb 时的数据处理延迟。结果如图7所示。
实验结果表明,随着边缘节点数量的增加,整体数据处理延迟呈下降趋势。当数据量较小时(如下文6 Gb以下所示),边缘节点数量的增加对数据处理延迟的影响较小,基本保持稳定。当数据量较大时(例如从 10 Gb到20 Gb),随着边缘节点数量的增加,数据处理延迟显著降低。这是因为当数据量较小时,边缘节点的计算延迟较小,而随着边缘节点数量增加,通信延迟会增大,因此数据处理延迟主要取决于边缘节点之间的通信延迟,但变化不明显。当数据量较大时,边缘节点的计算延迟相应增加,而在带宽允许的情况下,边缘节点之间的通信延迟相对稳定,此时数据处理延迟主要取决于边缘节点的计算延迟。因此,随着边缘节点数量的增加,每个边缘节点需要处理的数据量将减少,并且延迟也会减少,从而使整体数据处理延迟显著降低。这表明,根据边缘节点的计算能力,确定合适的边缘节点数量以减少数据处理延迟非常重要。
7. 结论与未来工作
本文提出了CENAM的概念,以解决传统云计算中数据处理延迟高的问题。在边缘计算层,我们采用多个边缘节点协作的方法来提升数据处理能力,降低边缘计算层的计算延迟。此外,我们使用克鲁斯卡尔算法来优化边缘节点之间的通信延迟。在云计算中,基于均衡传输的方式降低了边缘设备到云服务器之间的通信延迟。仿真结果表明,本文提出的CENAM能够有效降低数据处理延迟,性能优于单个边缘节点和传统云计算。在未来的工作中,我们将继续研究边缘设备的位置分配和服务模式对数据处理延迟和能耗的影响,以进一步提升系统性能。
4022

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



