34、边缘计算网络中延迟约束组播吞吐量最大化方法解析

边缘计算网络中延迟约束组播吞吐量最大化方法解析

在边缘计算(MEC)网络里,如何在满足延迟约束的前提下最大化组播吞吐量是一个关键问题。接下来将深入探讨相关的解决方法。

1. 延迟约束最小成本组Steiner树(GST)构建

考虑网络 $G$ 中云节点的计算约束,对于给定的云节点 $v \in V_c$,可以使用 $|H|$ - 近似算法在 $G$ 中识别以 $v$ 为根的延迟约束最小成本组Steiner树 $T_{i,h}(v)$。具体而言,该优化过程不考虑任务 $k_{i,h}$ 的延迟要求。通过Duin等人提出的方法,可将GST实例转换为Steiner树,然后直接应用带延迟约束的最小成本Steiner树迭代算法到转换后的GST上,最终得到的 $T_{i,h}(v)$ 能满足任务 $k_{i,h}$ 的延迟要求。

我们将 $T_{i,h}(v)$ 称为任务 $k_{i,h}$ 的候选树。不考虑网络 $G$ 中云节点云计算能力的限制,对于每个任务 $k_{i,h} \in K_H(t)$,其候选GST集合 $T_{i,h}^{can}$ 可表示为:
[T_{i,h}^{can} = \bigcup_{v \in V_c} T_{i,h}(v)]

这个过程的流程图如下:

graph TD;
    A[开始] --> B[选择云节点v];
    B --> C[使用|H|-近似算法];
    C --> D[转换GST为Steiner树];
    D --> E[应用迭代算法];
    E --> F[得到T_{i,h}(v)];
    F --> G[计算T_{i,h}^{can}];
    G --> H[结束];
2. GST根快速搜索方案

为每个任务 $k_{i,h} \in K_H(t)$ 确定合适的计算云节点 $v_{i,h}$ 作为GST $T_{i,h}$ 的根是一个重大挑战。Xu等人发现,为每个任务分配合适的计算云节点是最耗时的部分,最坏情况下算法需要遍历网络 $G$ 中的所有云节点,这可能会影响算法的响应性。

该搜索方案的有效性主要在于根据任务 $K_H(t)$ 到达网络 $G$ 时云节点的剩余计算能力,确定一个允许 $K_H(t)$ 子集的候选解。并且在评估 $K_H(t)$ 中的所有任务时,这些剩余计算能力不会更新。具体过程是先确定候选解,然后迭代优化,直到解决所有计算能力违规问题。

本质上,选择最优的GST $T_{i,h}(v)$ 就是从候选GST集合 $T_{i,h}^{can}$ 中找出准入成本最低的任务 $k_{i,h}$,同时要确保作为 $T_{i,h}(v)$ 根的云节点 $v \in V_c$ 的计算能力约束得到满足,这相当于在网络 $G$ 中选择合适的云节点 $v$ 作为任务 $k_{i,h}$ 的计算资源。

由于不同云节点的剩余计算能力和每秒CPU周期可能不同,处理任务 $k_{i,h}$ 的资源消耗成本也会不同。因此,这个问题可以重新表述为广义分配问题(GAP)。在这个问题中,将每个云节点 $v \in V_c$ 视为一个代理,代理 $v$ 的容量等于其剩余计算能力 $C_{res}^v$。将任务 $k_{i,h}$ 分配给代理 $v$ 时,任务 $k_{i,h}$ 的大小用所需的CPU周期 $f_{i,h}$ 表示,将任务 $k_{i,h}$ 放入代理 $v$ 的收益是任务 $k_{i,h}$ 在树 $T_{i,h}(v)$ 上的准入成本的倒数,即 $1/C(T_{i,h}(v))$。采用Cohen的 $(2 - \zeta)$ - 近似算法来解决GAP问题,其中 $0 < \zeta \leq 1$。

3. 基于背包问题的吞吐量最大化

问题 $P$ 可以有效简化为带设置的有界背包问题(BKPS)。我们将预算 $\beta \in R^+$ 或云节点计算能力 $C_v \in Z^+$ 作为背包问题(KP)的容量约束。物品包括任务集合 $K_H(t)$ 中的任务及其在 $R_H$ 中的相应结果副本。物品的权重表示在GST的边和顶点上路由数据的成本,每个物品的收益有助于提高网络吞吐量。

变量 $x_{i,h}$ 被视为任务 $k_{i,h}$ 的设置操作,$z_{i,h}(\sum_{\langle u,v \rangle \in T_{i,h}} c(\langle u, v \rangle) + \sum_{v \in T_{i,h}} c(v)) + c_{cmp}^{i,h}(v_{i,h})$ 构成设置成本。类似地,$y_{i,h,h’}$ 和 $o_{i,h} \sum_{\langle u,v \rangle \in T_{i,h}} c(\langle u, v \rangle)$ 分别作为结果 $r_{i,h,h’}$ 的设置操作和成本。同时,我们发现任务和其相应结果之间存在优先级约束,即只有当关联任务被准入时,结果副本才能进行组播。因此,引入了一种新的背包问题变体,即带设置的优先级约束有界背包问题(PCBKPS),并提出了一种相对性能保证为 $1/2$ 的高效算法。

定义任务优先级集合 $K_k$ 和结果优先级集合 $K_r$:
- 任务 $k_{i,h}$ 及其相应结果满足 $z_{i,h}/c_{k}^{i,h} > (o_{i,h}|R_{i,h}| / \sum_{h’ \in H_{des}^{i,h}} c_{r}^{i,h,h’})$ 时,包含在 $K_k$ 中。
- 任务 $k_{i,h}$ 及其相应结果满足 $z_{i,h}/c_{k}^{i,h} \leq (o_{i,h}|R_{i,h}| / \sum_{h’ \in H_{des}^{i,h}} c_{r}^{i,h,h’})$ 时,包含在 $K_r$ 中。

任务集合 $K_H(t)$ 被 $K_k$ 和 $K_r$ 划分。不考虑优先级约束,仅关注问题 $P$ 的BKPS部分(记为问题 $P_{BKS}$),对 $P_{BKS}$ 进行连续松弛,连续线性约束为:
[x_{i,h}, y_{i,h,h’} \in [0, 1]]

基本思想是将 $P_{BKS}$ 目标函数中的决策变量 $x_{i,h}$ 和 $\sum_{h’ \in H_{des}^{i,h}} y_{i,h,h’}$ 合并为一个决策变量:
- 若任务 $k_{i,h} \in K_r$,则 $x_{i,h} \leftarrow \sum_{h’ \in H_{des}^{i,h}} y_{i,h,h’}/|R_{i, h}|$,并将 $z_{i,h}$ 和 $c_{k}^{i,h}$ 的值均匀分配到每个结果 $r_{i,h,h’}$ 上,将 $r_{i,h,h’}$ 的路由效率转换为 (\frac{z_{i,h}/|R_{i,h}| + o_{i,h}}{c_{k}^{i,h}/|R_{i,h}| + c_{r}^{i,h,h’}})。
- 若任务 $k_{i,h} \in K_k$:
- 当 $\sum_{h’ \in H_{des}^{i,h}} y_{i,h,h’} \geq 1$ 时,$x_{i,h} \leftarrow 1$,将 $z_{i,h}$ 和 $c_{k}^{i,h}$ 的值分配给结果 $r_{i,h,h^ }$($r_{i,h,h^ }$ 是结果集 $R_{i,h}$ 中路由效率最小的),此时 $r_{i,h,h^ }$ 的路由效率变为 (\frac{z_{i,h} + o_{i,h}}{c_{k}^{i,h} + c_{r}^{i,h,h^ }})。
- 当 $\sum_{h’ \in H_{des}^{i,h}} y_{i,h,h’} < 1$ 时,$x_{i,h} \leftarrow y_{i,h,h’}$,每个结果 $r_{i,h,h’}$ 的路由效率保持不变。

最终,$x_{i,h}$ 的约束转换为:
[x_{i,h} =
\begin{cases}
1, & k_{i,h} \in K_k, \sum_{h’ \in H_{des}^{i,h}} y_{i,h,h’} \geq 1 \
\sum_{h’ \in H_{des}^{i,h}} y_{i,h,h’}, & k_{i,h} \in K_k, \sum_{h’ \in H_{des}^{i,h}} y_{i,h,h’} < 1 \
\frac{\sum_{h’ \in H_{des}^{i,h}} y_{i,h,h’}}{|R_{i,h}|}, & k_{i,h} \in K_r
\end{cases}]

问题 $P$ 的目标函数为:
[\text{maximize} \sum_{k_{i,h} \in K_r} \sum_{h’ \in H_{des}^{i,h}} (\frac{z_{i,h}}{|R_{i,h}|} + o_{i,h}) y_{i,h,h’} + \sum_{k_{i,h} \in K_k} (z_{i,h} + o_{i,h}) y_{i,h,h^*} + \sum_{k_{i,h} \in K_k} \sum_{h’ \in H_{des}^{i,h}} o_{i,h} y_{i,h,h’}]

问题 $P$ 的约束 $(1f)$ 相应重写为:
[\sum_{k_{i,h} \in K_k} \sum_{h’ \in H_{des}^{i,h}, h’ \neq h^ } c_{r}^{i,h,h’} y_{i,h,h’} + \sum_{k_{i,h} \in K_k} \frac{z_{i,h} + o_{i,h}}{c_{k}^{i,h} + c_{r}^{i,h,h^ }} y_{i,h,h^*} + \sum_{k_{i,h} \in K_r} \sum_{h’ \in H_{des}^{i,h}} \frac{z_{i,h} + o_{i,h}|R_{i,h}|}{c_{k}^{i,h} + c_{r}^{i,h,h’}|R_{i,h}|} y_{i,h,h’} \leq \beta]

通过合并约束 $(4)$ 和 $(6)$,将问题 $P_{BKS}$ 转换为经典有界背包问题(BKP)的实例,消除变量 $x_{i,h}$,只留下与 $y_{i,h,h’}$ 相关的变量。

将问题 $P_{BKS}$ 的变量和参数映射到BKP的变量和参数如下表所示:
| 问题 $P_{BKS}$ 任务情况 | BKP 物品类型 | 收益 $p_{BKP}^j$ | 成本 $c_{BKP}^j$ | 上限 $b_{BKP}^j$ |
| — | — | — | — | — |
| $k_{i,h} \in K_r$ | $Y_j$($j = {1, …, |K_r|}$) | $\frac{z_{i,h}}{|R_{i,h}|} + o_{i,h}$ | $\frac{z_{i,h} + o_{i,h}|R_{i,h}|}{c_{k}^{i,h} + c_{r}^{i,h,h’}|R_{i,h}|} \cdot \sum_{h’ \in H_{des}^{i,h}} y_{i,h,h’}$ | $|R_{i,h}|$ |
| $k_{i,h} \in K_k$(情况1) | $Y_j$($j = {|K_r| + 1, …, |K_r| + |K_k|}$) | $z_{i,h} + o_{i,h}$ | $\frac{z_{i,h} + o_{i,h}}{c_{k}^{i,h} + c_{r}^{i,h,h’}}$ | 1 |
| $k_{i,h} \in K_k$(情况2) | $Y_j$($j = {|K_r| + |K_k| + 1, …, |K_r| + 2|K_k|}$) | $o_{i,h}$ | $c_{r}^{i,h,h’}$ | $|R_{i,h}| - 1$ |

BKP可表示为:
[
\begin{align }
\text{BKP: maximize} &\sum_{j = 1}^{|K_r| + 2|K_k|} p_{BKP}^j Y_j \
\text{s.t.} &\sum_{j = 1}^{|K_r| + 2|K_k|} c_{BKP}^j Y_j \leq \beta \
&0 \leq Y_j \leq b_{BKP}^j, Y_j \in Z^+, j = 1, …, |K_r| + 2|K_k|
\end{align
}
]

按照 $\frac{p_{BKP}^j}{c_{BKP}^j}$ 的顺序排列BKP中的每个物品类型 $Y_j$,将物品类型 $Y_j$ 加入背包,直到第一个条目的累积成本超过背包容量。第一个导致容量超过的物品类型称为分割物品类型,记为 $Y_l$,其表达式为:
[Y_l = \arg \min_{l} \left{ \sum_{j = 1}^{l} c_{BKP}^j b_{BKP}^j > \beta \right}, 1 < l \leq |K_r| + 2|K_k|]

使用线性中位数算法可以在 $O(|K_r| + 2|K_k|)$ 时间内确定分割物品类型 $Y_l$,而无需对BKP中的物品进行排序。最优解向量 $Y = (Y_1, …, Y_{|K_r| + 2|K_k|})$ 由下式确定:
[
\begin{cases}
Y_j = b_{BKP}^j, & j = 1, …, l - 1 \
Y_l = \frac{1}{c_{BKP}^l} \left( \beta - \sum_{j = 1}^{l - 1} c_{BKP}^j b_{BKP}^j \right) \
Y_j = 0, & j = l, …, |K_r| + 2|K_k|
\end{cases}
]

从BKP的最优解向量可以构造出不考虑优先级约束的问题 $P$ 的整数解,最后要检查构造的解,确保满足优先级约束。

定理1表明,所提出的算法具有 $1/2$ 的相对性能保证。证明过程如下:
设 $q_{max}$ 是整数线性规划(ILP)的可行解,即准入数据量 $z_{i,h} + \sum_{h’ \in H_{des}^{i,h}} o_{i,h}$ 最大的任务并对结果进行组播,$q_{max} = \max_{i,h} { z_{i,h} x_{i,h} + \sum_{h’ \in H_{des}^{i,h}} o_{i,h} y_{i,h,h’} }$。设 $p_{LP}$ 是问题 $P$ 线性松弛的最优解,$p_{LP}$ 是最优解的上界。设 $p_G$ 是所提算法得到的目标函数值,$p_G = \max { p_{LP}, q_{max} }$。考虑问题 $P$ 的最优解 $p^ $,有 $p^ < p_{LP} + q_{max}$。设 $\rho = \frac{p_G}{p^ }$ 为近似比,则 $\rho = \frac{p_G}{p^ } = \frac{\max{p_{LP}, q_{max}}}{p^*} > \frac{\max{p_{LP}, q_{max}}}{p_{LP} + q_{max}}$。显然,$p_{LP} + q_{max} \leq 2 \cdot \max { p_{LP}, q_{max} }$,所以 $\rho > \frac{\max{p_{LP}, q_{max}}}{2 \cdot \max{p_{LP}, q_{max}}} = \frac{1}{2}$。

边缘计算网络中延迟约束组播吞吐量最大化方法解析

4. 结果与讨论
4.1 仿真设置

为了验证所提出方法的有效性,进行了一系列仿真实验。具体设置如下:
- 轨道与列车 :轨道长度设定为 80 km,初始时有四列火车分别位于 1、20、40 和 60 km 处,每列火车的速度设定为 90 m/s。
- 网络拓扑 :使用 GT - ITM 工具生成网络拓扑,网络 $G$ 中基站(BSs)的数量设置为 40。
- 云节点参数 :每个云节点的计算能力在 100 到 500 之间变化,云节点的 CPU 周期为 1.5 GHz。
- 成本参数 :每个任务/结果在链路上的路由成本随机设置在 0.01 到 0.1 之间,路由器路由任务/结果的成本在 0.05 到 0.1 之间变化,云节点计算任务的处理成本随机从 0.5 到 2 中抽取。
- 延迟参数 :链路或路由器上的延迟范围为 1 到 10 ms。
- 组播组与任务 :每个组播组的大小从 1 到 5 中选择。每个任务 $k_{i,h}$ 及其结果集 $R_{i,h}$ 按以下方式生成:任务随机从火车集合 $H$ 中选择其目标集 $H_{des}^{i,h}$。数据量 $z_{i,h}$ 和 $o_{i,h}$ 均匀分布在 [0.01MB, 30MB] 范围内,所需的 CPU 周期 $f_{i,h}$ 在 500 到 2000 MHz 之间变化,延迟要求 $d_{i,h}$ 随机从 100 到 1000 ms 中选择。
- 网络规模 :网络规模 $|V|$ 设置为 100。
- 计算性能评估 :使用配备 3.2 GHz AMD Ryzen - 7 8 核处理器和 32 GB RAM 的系统评估计算性能。每个图中显示的值是通过 50 次试验的结果平均得出的。

为了进行对比,开发了一种创新方法,称为基于GAP和背包的组Steiner树(GKGST),并将其与三种基线算法进行比较,分别是 TradeoffSPT、MinDelaySteiner 和 MinCostSteiner。为了在同一网络中比较这些算法的性能,引入了一个调整参数 $\lambda$,并相应地对网络中边和节点的权重进行归一化。归一化边 $e \in E$ 的权重 $w_{\lambda}(e)$ 由 $w_{\lambda}(e) = \lambda \cdot c(e) + (1 - \lambda) \cdot d(e)$ 确定,归一化节点 $v \in V$ 的权重 $w_{\lambda}(v)$ 由 $w_{\lambda}(v) = \lambda \cdot c(v) + (1 - \lambda) \cdot d(v)$ 计算。所有基线算法都一致选择具有足够容量和最小成本的云节点,成本通过上述公式使用调整后的参数计算。基线算法生成的路由树包括每个任务及其相应结果的给定组播组内的源基站和所有目标基站,这些树以计算归一化权重最低的云节点为根。为了组织任务和结果集 $K_H(t)$ 和 $R_H$,基线算法根据每个任务和结果的数据量按升序排序,然后选择数据量最小的任务 - 结果对,直到遍历完两个集合。具体分类如下:
| 算法名称 | 算法类型 | 特点 |
| — | — | — |
| TradeoffSPT | 单播算法 | $\lambda$ 值设置为 0.5,在成本和延迟之间进行权衡,基于贪心策略,使用 Dijkstra 算法寻找最短路径树(SPTs) |
| MinDelaySteiner | 组播算法 | 选择具有足够容量和最小成本的云节点,路由树包含源和目标基站,以计算归一化权重最低的云节点为根 |
| MinCostSteiner | 组播算法 | 与 MinDelaySteiner 类似,强调成本优化 |
| GKGST | 组播算法 | 本文提出的创新方法,结合 GAP 和背包问题解决延迟约束组播吞吐量最大化问题 |

下面是算法选择和执行的流程图:

graph TD;
    A[开始] --> B[设置仿真参数];
    B --> C[选择算法(GKGST/TradeoffSPT/MinDelaySteiner/MinCostSteiner)];
    C --> D{算法类型};
    D -- 单播 --> E[TradeoffSPT执行(Dijkstra算法)];
    D -- 组播 --> F[MinDelaySteiner/MinCostSteiner/GKGST执行];
    E --> G[输出结果];
    F --> G;
    G --> H[结束];

通过这些仿真实验和对比分析,可以直观地观察到不同算法在延迟约束下组播吞吐量方面的性能差异,从而验证所提出的 GKGST 方法的有效性和优势。

综上所述,在边缘计算网络中,通过延迟约束最小成本组 Steiner 树构建、GST 根快速搜索方案以及基于背包问题的吞吐量最大化方法的结合,能够在满足延迟要求的前提下有效提高组播吞吐量。仿真结果进一步验证了所提出方法的可行性和优越性,为解决实际边缘计算网络中的组播问题提供了一种有效的解决方案。未来可以考虑在更复杂的网络场景下进一步优化该方法,以适应不断发展的边缘计算需求。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值