多用户边缘计算任务卸载方法

GPT-oss:20b

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

面向智慧城市的边缘计算中多用户结构化任务的卸载决策方法

摘要

边缘计算系统是一种新兴的架构,可提供计算、存储、控制和网络能力,是实现物联网和智慧城市的重要技术。在边缘计算环境中,用户可以将计算密集型任务卸载到卸载点,从而降低能耗或通信延迟。系统中存在大量卸载点和用户,且它们的任务具有结构化特征。然而,卸载点的资源有限,且用户对能耗和通信延迟有不同的偏好。本文首先建立了包含多用户、多个卸载点和结构化任务的环境下的系统模型。然后,我们将该环境中的卸载决策问题形式化为一个成本最小化问题,该问题属于NP难问题。因此,我们设计了一种基于回溯的方法以获得其精确解;但该方法的时间复杂度不幸地随着卸载点数量呈指数级增长。为了降低复杂度,我们设计了一种基于改进的遗传算法的方法和一种基于贪心策略的方法。最后,我们在所有用户的总成本、卸载点的资源利用率和执行时间方面对三种方法进行了验证和比较。仿真结果表明,最后一种方法表现最佳。

1. 引言

根据思科 [1],预测,到2020年连接到互联网的设备数量将达到 500亿,形成一个丰富的数字环境。传感器、智能固定和移动平台 (如智能手机、平板电脑和家庭网关)、大规模云基础设施以及其他联网设备将协同合作,在智慧城市[2],的多个领域创造价值,包括智能交通、智慧医疗、环境监测、工业控制、航空航天、军事侦察等。

在物联网(Internet of Things)的典型应用中,需要对海量信息进行分析、发布和计算,并提供实时、安全可靠的服务。

边缘计算架构在支持物联网应用方面具有天然优势,因为它们是一种在物理上靠近数据源的计算模式;它们集成网络计算和存储应用的核心能力可就近提供智能服务。从而加速内容、服务和应用程序在整个网络中的上传和下载,为消费者提供不间断的高质量网页体验[3,4]。总之,边缘计算能够创建一个具有高性能、低延迟和高带宽的电信服务环境。

物联网和移动互联网的快速发展使得大量资源敏感型应用(如交互式游戏、增强现实、人脸识别、视频监控和交通监控)能够在物联网设备和用户设备上运行[5–7]。然而,由于边缘设备在物理尺寸上的固有限制,其本地资源通常有限,例如计算能力和电池能量[8,9]。

为了提升性能并降低边缘设备的本地执行成本,边缘计算为边缘设备提供了一项关键功能,即计算卸载,该技术将边缘设备上的计算密集型任务迁移到卸载点的强大服务器上,以提升性能并降低边缘设备的本地执行成本[10,11]。然而,综合考虑执行延迟和能耗等因素,计算卸载并不总是对边缘设备有利。因此,有必要仔细比较任务卸载的开销和收益。如果卸载使得边缘设备的收益大于其开销,则尝试进行卸载;否则,不进行卸载,即在本地执行任务。

边缘设备(例如智能手机和平板电脑)已成为人们日常生活中不可或缺的一部分,因为随着移动信息技术的飞速发展,它们能够随时随地提供便捷的通信服务[11–13]。此外,随着用户需求变得日益复杂和多样化,单一任务几乎无法满足用户的需求。因此,应将多个子任务按照一定结构组合成复合任务,以满足用户需求[14–16]。例如,为了满足商务出行需求,可生成一个由三个子任务组成的结构化任务,并具有特定结构:天气预报(t1)、航班预订(t2)和酒店预订(t3)。由于t2和t3相互独立,仅依赖于t1[11]提供的结果,因此可以并行执行。在做出计算卸载决策时,必须考虑这种结构关系,因为如果子任务之间可以并行执行,则可同时进行;而如果子任务存在顺序依赖,则必须按序依次执行。

本文中,首先,我们通过形式化方法定义了一种特定场景下的多用户、多个卸载点和结构化任务的卸载决策问题。由于以往关于卸载决策场景的研究工作并未同时考虑这三个特征,因此这是本文与其他研究工作的最主要区别。我们通过分析结构化任务,提出了系统模型中各组件的定义以及六种卸载情况的数学描述;这六种卸载情况在其他研究工作中尚未出现,因此研究本文提出的场景具有重要意义。接着,我们将卸载决策问题形式化为在特定约束条件下的成本最小化问题。第三,我们基于三种策略设计了多个解决方案,包括回溯、改进的遗传算法和贪心算法。最后,我们进行了仿真实验,以获取所有用户的最优决策,并从三个标准方面比较它们的性能。本文的主要贡献总结如下。

本文提出了一种特定的计算卸载模型,该模型包含多用户和多个卸载点,其中每个用户的任务具有结构化特征,且每个卸载点的计算资源有限。在当前的研究工作中,针对具有这些特征场景的卸载决策问题的研究较少。

我们将计算卸载决策问题根据所关注场景的特性形式化为约束条件下的成本最小化问题。我们设计了一种基于回溯的卸载决策方法以寻求精确解。为了降低时间复杂度,我们进一步设计了两种方法,分别基于改进的遗传算法和贪心策略来寻找近似解。

•我们验证并比较了本文提出的方法。进行了三个实验,以所有用户的总成本、所有卸载点的资源利用率和决策完成时间作为评判标准。我们评估了当用户数量、卸载点数量和计算资源数量变化时,这些方法的性能。结果表明,所提出的方法是可行的,且基于贪心的策略在三种方法中表现最佳。

本文的其余部分组织如下。第2节分析了关于卸载决策的相关工作。我们在第3节中介绍了该特定场景的系统模型。然后,我们在第4节中提出了三种解决卸载决策问题的方法。我们在第5节中展示了它们的实验结果并分析了其性能。最后,我们在第6节中给出了结论和未来工作。

2. 相关工作

2.1. 主要挑战

边缘计算是近年来出现的一种新概念,它为边缘设备提供了广泛的灵活计算卸载服务,具有执行延迟短和能耗低的特点[1]。关于计算卸载的研究主要围绕以下三个问题展开[2,3]:(1)如何分配边缘云资源,即边缘服务器如何分配其资源以最小化边缘设备的执行成本,以及当边缘设备的任务被卸载到服务器时,边缘服务器如何实现负载均衡[17,18]。卸载点的选择不仅显著影响执行延迟(如[17]中所考虑),还会影响卸载点的功耗。因此,[18]的主要目标是分析集群规模(即执行计算的节点数量)对卸载应用程序的执行延迟以及卸载点功耗的影响;(2)如何进行移动性管理,即当用户在边缘网络中漫游并将任务卸载到边缘服务器时,如何保证用户服务的连续性和稳定性[19–23]。相关研究试图找到一种最优决策策略,判断是否应启动虚拟机迁移,以最小化整个系统的成本(相比从不迁移和始终迁移的方案,平均成本分别最多降低了32%和50%[19])。此外,一些论文旨在寻找虚拟机迁移成本与迁移收益之间的适当权衡[20],,以最小化执行延迟[21],、最小化虚拟机迁移时间[22],或最大化总吞吐量[23]。(3)如何做出最优的计算卸载决策。具体而言,我们需确定用户设备的任务是否应卸载到边缘服务器,以降低用户设备的本地执行成本;如果需要卸载,则应确定任务的哪些部分被卸载以及卸载到何处[11–13,21–29]。

2.2. 卸载决策

MEC有望显著降低延迟和移动设备能耗,应对实现第五代移动通信技术愿景的关键挑战。MEC的预期优势促使学术界和工业界在该技术开发方面投入了大量努力[30]。计算卸载决策的研究一直是边缘计算领域中一个具有吸引力且富有挑战性的方向。一些研究人员研究了单用户场景下单个或多个卸载点的计算卸载决策问题[11–13,24]。邓等人[24]将用户应用程序划分为相互依赖的原子部分,他们将卸载问题形式化为一个0‐1规划问题,其中0表示卸载,1表示不卸载;尽管该问题存在指数复杂度下的可行解,但寻找最优解极为复杂。邓等人[11]研究了在服务流中调用多个子服务以满足其复杂需求,并决定是否卸载服务流中的某些子服务。廖等人提出了一种改进的启发式二进制粒子群优化算法[27]来解决这一问题,实验结果表明,他们的方法可使用户设备的能耗降低25%。刘等人[12]通过寻找最优卸载决策根据应用缓冲队列状态、边缘设备和服务器的可用计算资源以及网络连接的信道特性,采用了一种一维搜索算法。因此,他们在结果中最小化了执行延迟。Mao 等人 [13] 研究了边缘设备的动态电压频率扩展和能量收集技术。为了最小化边缘设备的执行延迟,提出了一种低复杂度的基于Lyapunov优化的动态计算卸载算法。然而,其缺点是未考虑边缘设备的能耗,因为电池耗尽会阻碍网络连接。

一些研究人员研究了多用户和单卸载点场景下的卸载决策问题 [9,31–43]。Shi等人[9]将文献[11]的工作从单用户扩展到多用户,并提出了一种基于遗传算法的用户感知卸载决策(MAGA)方法,以最小化用户延迟和能耗的总体成本。Chen等人[31]研究了多信道无线干扰环境下的边缘计算多用户计算卸载问题。他们发现该问题是 NP难的,难以通过集中式算法找到最优解。因此,他们采用博弈论方法进行分布式高效计算卸载决策。邓等人[32]研究了边缘云计算系统中功耗与传输延迟之间的权衡。他们构建了一个工作负载分配问题,在服务延迟受限的情况下,通过将原问题近似为对应子系统的三个子问题,求解边缘与云之间的最小工作负载分配。在[33],中,为了在延迟约束下最小化所有用户的全局能耗,Sardellitti等人将卸载决策问题形式化为无线通信资源与计算资源分配的联合优化问题。

从上述综述可以看出,在大多数场景中,设计卸载模型时存在单用户和单个卸载点或多用户和单个卸载点的情况。大多数现有研究为简化问题,假设用户任务是单一的,并认为用户的传输功率和计算能力是固定的。所关注的场景设置相对简单,不符合实际场景。此外,在单用户场景中,大多数关于计算卸载决策的研究假设服务器具有无限资源。因此,本文首次提出了一种多用户多卸载点的场景。在此场景中,每个用户的任务由多个相互关联的子任务组成,且只有当用户结构化任务的所有子任务完成时,该用户的结构化任务才算完成。此外,我们在该场景中设置了计算资源和通信资源的边界,以更好地反映实际边缘计算条件。

3. 系统模型

3.1. 场景组成描述

示意图0

如图1所示,所关注的场景包含多个活跃区域,每个活跃区域由多个用户设备(UDs)和多个卸载点(OPs)组成。该场景可以是学校、商业楼宇或大型商场。多个卸载点根据用户活动在整个场景中分布(这不在本研究范围内)[44]。我们假设各卸载点之间的连接通过高速通信介质实现,其传输速率远高于用户设备与卸载点之间的传输速率,因此卸载点之间待处理数据的传输延迟相较于用户设备与卸载点之间的传输延迟可忽略不计。

我们场景中的元素描述如下。一组UD为M={UD1, UD2, · · ·, UDM},每个UD具有一个结构化任务,且该结构化任务的某些子任务可能是计算敏感型的,可能需要迁移到OP上执行。N={OP1, OP2, · · ·, OPN}是一个OP集合,每个OP的计算资源是有限的。一个 UD可以将其某个子任务卸载到其连接的活动区域内的OP上进行执行。当UD所连接的OP的计算资源不可用时,可通过该OP和高速通信介质,将该UD的子任务卸载到其他计算资源可用的OP上(如果此时卸载仍然有益)。我们场景中各个元素的定义和表达如下所示。

定义3.1 (结构化任务) . 一个结构化任务由一组子任务以及子任务之间的关系组成。它被建模为一个二元组 task=(T, R),其中 T={ t1, · · ·, tn} 是一组子任务,而 R={r(ti, tj)|ti, tj ∈T} 定义了它们的相互依赖关系,例如独立、并行和串行。

定义3.2 (子任务) . 根据[24],,它被建模为一个三元组 ti=(di,do, w),其中 di和 do分别为输入数据和输出数据的大小,w 是该子任务执行所需的CPU周期数。

定义3.3 (用户设备) . 用户设备指的是任何需要卸载其结构化任务的个体或物体。它被建模为一个六元组 UDm=(cm, pexe m , psend m , preceive m , opm, Lm),其中 m ∈{1, · · ·, M},cm表示用户设备的 CPU速度(单位为每秒百万条指令),pexe m表示用户设备在本地运行任务时的功耗,psend m/preceive m表示用户设备在发送和接收数据时的功耗。最后,opm为卸载点,即用户设备所连接的操作点,Lm为用户设备与操作点之间的距离。

定义3.4(操作点) . 操作点是用户设备可以连接的一个位置,它是一个具有强大计算能力的服务器。其被建模为一个五元组OPn=(cn, q 1 n, q 2 n, rup n , rdown n ),n ∈{1,…, N},其中cn表示操作点OPn的CPU速度(单位为每秒百万条指令),q 1 n, q 2 n表示该操作点提供的计算资源和通信资源的数量,r up n /rdown n分别表示该操作点提供的上传速率和下载速率。

3.2. 用户成本描述

我们以一个典型的计算敏感型任务,即人脸识别,为例来描述用户设备如何计算其结构化任务的执行成本。人脸识别所有子任务的依赖关系如图2所示。

示意图1

示意图2

定义3.5 (延迟成本) . 该量值表示一个结构化任务从开始到结束所需消耗的时间。结构化任务的一些子任务可能在用户设备或操作点上执行。它包含执行的时间开销和通信的时间开销。

定义3.6(能耗成本) . 该量值表示用户设备因执行结构化任务所消耗的能量,包含本地执行的能耗和通信的能耗。

如 图3 中每个子图所示,我们将子任务执行位置分为6种情况。子任务的执行成本根据用户设备在子任务执行点的决策进行描述。

在计算延迟成本时,对于具有并行关系的两个子任务,只有当这两个并行子任务都完成后,后续子任务才能开始,因此应取两个子任务延迟成本中的较大值作为该过程的延迟。以下是用户设备m的延迟成本表达式。g k m表示用户设备m的第k个子任务引起的延迟成本。

$$
Gm= g^1_m + g^2_m + \max(g^3_m,g^4_m)+ g^5_m \tag{1}
$$

在计算能耗成本时,用户设备上每个子任务产生的能耗之和即为该用户设备的能耗成本。以下是UDm的能耗成本表达式。ek m表示 UDm第k个子任务所消耗的能量。

$$
Em = e^1_m + e^2_m + e^3_m + e^4_m + e^5_m \tag{2}
$$

在以下表达式中,tk− 1 m 和 tk m 分别表示用户设备UDm的第 (k‐1)个子任务和第k个子任务。dk i 和 dk o 是 tk m 的输入数据和输出数据的大小,dk − 1 o 是 tk− 1 m输出数据的大小。w 是 tk m 执行所需的CPU周期数。我们假设用户设备UDm连接操作点OPn;因此,cm、 p send m、p recei ve m、cn、r u p n 和 rdo wn n 可从定义3.3和3.4中获得。

  1. If current subtask tk m is the first subtask,
    (a) 如果tk m在用户设备上执行;
    $$
    g^k_m=\frac{w}{c_m}
    $$
    $$
    e^k_m=\frac{w}{c_m} * p^{exe}_m
    $$
    (b) 如果tk m在操作点执行。
    $$
    g^k_m=\frac{w}{c_n}+\frac{d^i_k}{r^{up}_n}
    $$
    $$
    e^k_m=\frac{d^i_k}{r^{up}_n} * p^{send}_m
    $$

  2. 如果当前子任务 tk m在用户设备上执行,则前一个子任务 tk−1 m也在用户设备上执行。
    $$
    g^k_m=\frac{w}{c_m}
    $$
    $$
    e^k_m=\frac{w}{c_m} * p^{exe}_m
    $$

  3. 如果当前子任务 tk m在用户设备上执行,则前一个子任务 tk−1 m在操作点执行。
    $$
    g^k_m=\frac{w}{c_m}+\frac{d^{o} {k−1}}{r^{down}_n}
    $$
    $$
    e^k_m=\frac{d^{o}
    {k−1}}{r^{down}_n} * p^{receive}_m
    $$

  4. 如果当前子任务 tk m在操作点执行,则前一个子任务 tk−1 m在用户设备上执行。
    $$
    g^k_m=\frac{w}{c_n}+\frac{d^{o} {k−1}}{r^{up}_n}
    $$
    $$
    e^k_m=\frac{d^{o}
    {k−1}}{r^{up}_n} * p^{send}_m
    $$

  5. 如果当前子任务 tk m在操作点执行,则前一个子任务 tk−1 m也在操作点执行。
    $$
    g^k_m=\frac{w}{c_n}
    $$
    $$
    e^k_m= 0
    $$

  6. 如果当前子任务tk m是尾部任务且在操作点执行,则最终结果返回到用户设备。
    $$
    g^k_m = g^k_m +\frac{d^o_k}{r^{down}_n}
    $$
    $$
    e^k_m = e^k_m +\frac{d^o_k}{r^{down}_n}*p^{receive}_m
    $$

3.3. 问题的形式化描述

从第3.2节可知,一个用户设备m的总成本是
$$
C(D_m)= \alpha_m * G_m+(1 - \alpha_m) * E_m \tag{3}
$$
因此,根据用户设备的成本偏好给出的所有用户设备的总成本是
$$
F(D)=\sum_{m=1}^{M}\alpha_m * G_m+(1 - \alpha_m) * E_m \tag{4}
$$
我们的目标是找到所有用户设备的决策D= ⟨D1 , D2,…, DM ⟩,以在满足所有操作点资源约束条件的情况下最小化F(D)。我们知道每个用户设备的决策为D m =⟨d 1 m , d 2 m … , d K m ⟩ , d k m∈N ⋃{0},如果d k m ∈N,则表示第k个将UDm的子任务选择卸载到操作点。如果dk m ∈{0},则表示UDm的第k个子任务在本地执行。 αm ∈[0, 1]是用户设备对感知时延的敏感度。当 αm接近0时,表示用户设备对能耗更敏感;当 αm接近1时,表示用户设备对感知时延更敏感。以上内容如下:
$$
\min \sum_{m=1}^{M}\alpha_m * G_m+(1 - \alpha_m) * E_m \tag{5}
$$
subject to:
$$
\sum_{m=1}^{M}\sum_{k=1}^{K} \text{sgn}(d^k_m= n) \leq q^1_n \quad \text{for } n \in N
$$
sign() 是一个符号函数。当括号内的逻辑值为真时,函数值为 1;否则为 0。该约束表示,在所有用户设备的决策中,卸载到某一操作点的子任务总数不得超过该操作点的计算资源数量,即在多用户设备多边缘节点场景下,不能超过各操作点的计算资源限制。

4. 解决方案

从 [9,11,31],我们可以知道 (5)即使M=1也是一个NP难问题,显然求解多个用户设备的卸载决策更具挑战性。因此,我们在寻找该问题的解决方案时,考虑了优化结果、决策效率和资源利用率方面的性能。为此,我们设计了以下三种基于回溯、改进的遗传算法和贪心策略的卸载决策方法。

4.1. 基于回溯的卸载决策方法

4.1.1. 回溯

由于我们旨在解决的问题是NP难问题,且希望获得最小成本,即该问题的精确解,因此我们可以得到第4.2节和4.3节中提出的另外两种算法的近似比率。因此,尽管基于回溯的算法的复杂度随着卸载点数量呈指数级增长,我们仍提出该算法以获得精确解。

回溯是一种根据最优条件向前搜索以实现目标的搜索方法。它是一种用于求解优化问题的新型进化算法,而进化算法是流行的随机搜索算法,广泛用于解决非线性、不可微以及复杂数值优化问题[45]。然而,当它在探索某一步骤时发现当前选择不够理想或无法达到目标,则会返回到前一步重新进行选择。这种返回并重新选择的思想称为回溯,满足回溯条件的点称为回溯点。许多复杂的大规模问题都可以通过回溯法解决。使用回溯法解决问题的一般步骤如下。

(a) 定义给定问题的解空间,该解空间至少包含该问题的一个最优解。

(b) 确定易于搜索的解空间结构;使用回溯方法可以轻松搜索整个解空间。

(c) 通过深度优先搜索或广度优先搜索遍历解空间,并在搜索过程中使用剪枝函数以避免无效搜索。

4.1.2. 结构化任务卸载决策

为求解第3.3节中给出的最小化问题,我们首先设计一种基于回溯的卸载决策方法以获得精确解。基于回溯的结构化任务卸载决策方法的步骤如下所述。

(a) 定义我们问题的解空间。我们希望获得所有用户设备的决策。每个用户设备的决策是 ⟨d1 m, d2 m…, dK m⟩, dk m ∈N ∪{0}。可以看出,该问题的解是一个M*K维的决策向量D= ⟨d1, d2,…, dMK ⟩。理论上,每一维度的决策值为{0, 1, 2,…, N}(包含N个操作点和用户设备)。因此,该问题的解空间是离散空间(N+ 1)MK。

(b) 确定易于搜索的解空间结构。回溯法所解决的问题的搜索空间通常是n元树(n皇后问题)、子集树(0‐1背包问题)和排列树 (旅行商问题)。在此问题中,由于约束条件是计算资源不超过某一限制,每一步的决策值原则上可以取{0, 1, 2,…, N}中的任意值,因此解空间可构造为一个(N+1)元树。

(c)设计剪枝函数并搜索可行解。在搜索过程中,我们根据该问题的约束条件设计剪枝函数,剪除不包含可行解的子树,从而避免无效搜索,提高搜索效率。

(d) 比较所有可行解,并从所有可行解中找出最优解。通过步骤 (c) 中的搜索,将所有可行解代入目标函数 F(D) 以选择最优解。

4.1.3. 形式化描述

符号定义k:第k个子任务Sk:第k个子任务可取的值集合dk:第k个子任务的决策值 伪代码如 算法1所示。

算法1: BTOD

输入 :UD集合:M={1, 2,...,M}
OP集合:N={1, 2,...,N}
输出:所有用户设备的决策向量:< d1, d 2 ,...,d MK >
1 k ← 1
2计算Sk 
3当 Sk ≠ ∅时执行
4 dk ← min{S k };S k ← Sk /{d k }
5如果 k< M ∗K 那么
6 k ← k + 1;computeSk
7 else
8 D=< d1, d 2 ,..., d KM >是一个可行解
9 end
10如果 k> 1则
11 k ← k −1;goto 3
12 end
13结束
14返回 argD 最小化 F(D)
4.1.4. 复杂度分析与性能边界

在最坏情况下,回溯的时间复杂度与枚举相同。基于回溯的决策方法对每个用户设备的每个子任务做出最多N+1次尝试性决策。因此,最坏情况下的时间复杂度为T(M,N,K) = O((KM)^(N + 1))。

回溯算法的本质是枚举所有情况,找出所有可行解,然后在可行解中寻找最优解。因此,基于回溯算法的卸载决策所得到的搜索解必然是在给定约束条件下成本(包括能耗成本和延迟成本)意义上的最优解。然而请注意,此处的最优性仅指成本方面。从算法的时间复杂度角度来看,该算法并不实用,因为其时间复杂度随着卸载点数量的增加呈指数级增长。

4.2 基于遗传算法的卸载决策方法 算法

4.2.1. 遗传算法

遗传算法是一种启发式搜索算法,常用于多用户和结构化任务的卸载决策。然而,除了上述两个约束外,我们的问题建模中还存在另一个约束条件,即多个卸载点。因此,我们提出在多个卸载点的条件下,通过改进遗传算法的交叉、变异操作以及对个体的筛选来获得近似解。

遗传算法是一种通过模拟自然进化过程来搜索最优解的方法。模拟人类的自然进化过程,产生了称为进化算法(EAs)的随机优化技术,这些技术在应用于复杂的实际问题时往往优于传统的优化方法。其中,遗传算法(GAs)可能是当今最广为人知的一类进化算法[41]。

遗传算法包含以下步骤。

(a) 编码。对问题的解进行编码,通常采用二进制和整数编码。

(b) 初始化种群。初始化种群中的每个个体都是一个可能的解,而种群的大小决定了搜索空间的大小。

(c)计算个体适应度。为了进行基因操作,通过适应度函数计算种群中每个个体的适应度。

(d) 遗传操作。选择算子从上一代中选取相同数量的优良个体;交叉算子由父代生成适应度更高的个体;变异算子使个体向更高适应度方向变化。

(e) 判断是否满足停止迭代的条件。当达到预设的最大迭代次数 I,或连续种群中最优个体的适应度不再增加时,将返回当前结果。

4.2.2. 结构化任务卸载决策

为了降低时间复杂度,我们还使用遗传算法来解决该问题。为了适应本文所提出问题的特性,下面对遗传算法[46]进行改进。以下是求解一个用户设备的卸载决策方法。

(a) 编码。对于结构化任务的计算卸载决策,由于决策值可以是 0到N,我们使用整数编码。遗传算法中的种群个体表示一个卸载决策,可以编码为一个K维向量,其中K表示结构化任务中子任务的数量。在这种编码方案中,每个基因代表结构化任务中的一个子任务,基因的值表示该子任务的执行位置。图4 给出了一个示例,其中 t1等于0表示第一个子任务在用户设备上执行,而t2等于3表示第二个子任务在操作点3执行。

示意图3

(b) 适应度函数。改进的遗传算法使用第3节3.3中的函数(3)作为适应度函数,以计算每个个体的适应度值。目标值由两个部分:结构化任务的总执行时间和能耗。

(c) 遗传操作。(i) 初始化。在初始化阶段,确定种群大小S、最大迭代次数I、交叉概率pc以及变异概率pm。(ii) 选择。在此阶段,选择适应度高的个体,并通过交叉和变异操作生成下一代种群。在本问题中,我们选择的是适应度高(即适应度值小或目标函数值小)的个体。我们采用基于轮盘赌的选择方法。个体被选中参与重组的概率与其适应度值Ds= ⟨d1, d2,…, dK ⟩是用户设备对每个个体的决策。dk表示某一用户设备的第k个子任务是否应被卸载。Fk相关。基于轮盘赌的方法按公式(6)计算,其中Fj是个体j的适应度值。该选择策略使得适应度高的个体更有可能参与重组,这正是我们所期望的结果。
$$
pr_k= 1 - \frac{F_k}{\sum_{j=1}^{S} F_j} \tag{6}
$$
(iii) 交叉。交叉算子结合选择阶段的个体,并期望产生高质量的后代个体。通常使用标准的单点交叉算子,但在应用于特定问题时往往效果较差。因此,我们根据问题的特点将其改进为基于知识的交叉算子。从选择阶段选中的父代 D1 和 D2 中仅生成一个个体,该个体的每个基因均取自其父代对应基因中更具适应性的那个。通过计算执行时间与能耗的加权组合来比较每个基因的局部适应度:
$$
f_k= \alpha_m *g^k_m +(1 - \alpha_m) * e^k_m \tag{7}
$$
g k m和 ek m分别是第 k个子任务的延迟成本和能耗成本。具有更好局部适应度的基因将被选为后代的基因。如 图5所示,粗体基因表示它们具有更高的局部适应度。因此,后代的基因包含来自 D2, t4的 t1 以及来自 D1, t3,和 t5的 D2。(iv)变异。类似地,根据问题特性,变异算子的改进方式与交叉算子类似。根据个体中每个基因的适应度计算其被变异的概率,如 图6所示。来自执行延迟和能耗较高的子任务的个体更有可能发生变异。
$$
pr_k= 1 - \frac{f_k}{\sum_{i=1}^{K}f_i}, \tag{8}
$$

(d) 判断是否满足停止迭代条件。当达到预设的最大迭代次数I,或连续种群中最优个体的适应度不再增加时,将返回当前结果。

在此决策问题中,由于存在有限资源的约束,在交叉操作或变异操作后可能会产生不满足约束条件的新个体,必须对其进行处理。因此,将对不满足约束条件的基因更改为具有可用或本地资源的卸载点中适应度最高的基因。基于改进遗传算法的卸载决策方法(GAOD)随机从用户集合中选择一个用户并执行上述过程,直到卸载点中的所有资源均不可用,或每个用户都有过卸载机会为止。

示意图4

示意图5

4.3 基于贪心策略的卸载决策方法

4.3.1. 贪心策略

基于回溯的算法和基于遗传算法的算法逐个用户执行任务卸载;然而,我们认为为所有用户保证公平的卸载决策机会也可能很重要。因此,我们提出了一种基于贪心的算法,其中所有用户的子任务被分层处理,并且每一层中的任务根据贪心策略进行卸载决策,以保证对用户的公平性。

贪心策略是一种改进的分层处理策略。采用贪心策略设计算法是逐步进行的:根据某种优化度量(该度量可能与目标函数相同也可能不同),每一步都必须获得局部最优解,且每一步仅考虑一个数据点;此外,贪心策略的选择应满足局部优化条件。这种能够在某一优化度量下获得最优解的分层处理方法称为greedystrategy [47]。尽管它并不能对所有问题都得到全局最优解,但对于许多问题(例如单源最短路径和最小生成树问题)却能够产生最优解。在某些情况下,即使无法获得全局最优解,最终结果也能够接近最优解。其具体步骤如下。

(a) 建立数学模型来描述该问题。

(b) 将待解决的问题划分为若干个子问题。

(c) 求解每个子问题并获得该子问题的局部最优解。

(d) 结合子问题的局部最优解转化为原问题的解。

4.3.2. 结构化任务卸载决策

The backtracking-based method搜索对一个用户设备的所有子任务决策进行处理,然后搜索下一个用户设备,直到完成所有用户设备的决策。基于改进遗传算法的方法通过调用改进的遗传算法获得一个用户设备的决策,然后求解下一个用户设备,直到完成所有用户设备的决策。表面上,它们从用户设备集合中随机选择一个用户设备,所有用户设备的卸载机会是公平的。然而,需要注意的是,本文场景中的计算资源是有限的。不可能满足所有卸载需求

示意图6

所有用户设备的需求(除非只有少数用户设备)。在卸载场景中存在大量用户设备的情况下,当计算资源耗尽时,必然存在大多数用户设备的子任务只能在本地执行,这对后续处理的用户设备是不公平的。为了使所有用户设备的结构化任务卸载更加均匀,我们设计了一种基于贪心策略的方法如下:

(a)建立数学模型来描述我们的问题。根据3.3节中的系统模型,我们可以得到多个用户设备、多个运算节点以及结构化任务计算卸载决策问题的数学模型,如公式(5)所示。

(b) 将待解决的问题划分为若干个子问题。为了使所有用户设备的结构化任务卸载更加均匀,该方法根据任务结构将用户设备的结构化任务划分为多个层次。需要注意的是,由于用户设备的任务是结构化的,根据第3节建立的用户设备成本模型,只有当用户设备的第k个子任务完成卸载决策后,第k个子任务的后续子任务才能进行卸载决策。因此,我们将每一层子任务的卸载决策问题作为一个子问题。如图7所示,回溯法和改进的基于遗传算法的方法在图7(a)中给出,而基于贪心策略的方法在图7(b)中给出。

(c) 求解每个子问题以获得其最优解。现在的问题是如何为所有用户设备当前的kth子任务做出卸载决策,以最大化所有当前用户设备的收益。在此基础上,我们认为结构化任务卸载的收益与卸载环境的属性以及结构化任务本身的属性相关。因此,本文从卸载环境和结构化任务的角度提出了两种贪心策略。贪心策略‐(I) 本地执行成本与卸载执行成本之间的差值。对于所有用户设备的第kth子任务,某个用户设备的子任务差值越大,其卸载优先级越高。显然,在当前条件下,该用户设备子任务卸载的收益大于其他任何用户设备子任务卸载的收益。贪心策略‐(II) 子任务计算量与必须传输的数据量之比。对于所有用户设备的所有kth子任务,某个用户设备的子任务该比率越大,其卸载优先级越高。贪心策略‐I 从卸载环境的角度考虑收益,而贪心策略‐II 仅从结构化任务本身考虑收益。请注意,后者中使用的比率恰好反映了相应子任务的计算敏感度。

(d) 将子问题的局部最优解组合成原问题的解。通过第三步,我们得到每一层的M维决策向量,每个向量是M个用户设备所有子任务的决策。然后,所有子任务的决策构成原问题的解。

算法3:GSOD

输入 :UD集合:{1, 2,...,M}
OP集合:{1, 2,...,N}
输出: D=< d11, d12,..., d1M, d21, d22,..., d2M..., d1K dK2,. . . ,dKM>
1 k ← 1
2对于 k← 1到 K 执行
3排序(用户设备,策略I或II)
4对于 m ← 1到 M 输出数据大小
5 dmk ← 0
6 cmk ← αm *g^k_m+(1 − αm) * e^k_m
7 对于 n← 1 to N 输出数据大小
8 如果 q1 n== 0 那么
9 继续
10 end
11 t_dk m ← n
12 t_ck m ← αm *g^k_m+(1 − αm) * e^k_m
13 ift ck_m< ck m then
14 dk m ← t_dk m
15 ck m ← t_ck_m
16 end
17 end
18 如果 dk m ≠ 0 那么
19 q1n ← q1 n −1
20 end
21 end
22 D[k][m]←dk m
23结束

4.3.3. 形式化描述

符号定义。
dk m:k个子任务的决策,属于用户设备UDm
D[k][m]:决策向量中索引为 k*m 的决策值。伪代码如算法3所示。

4.3.4. 复杂度分析与性能边界

时间复杂度analysis based在greed该策略相对简单。在此方法中,整个算法从第一层子任务到第K层子任务,遍历M个用户设备和N个卸载点,从子任务的开始到结束。在对所有用户设备的第k个子任务进行决策之前,会根据指定的贪心策略(KlogM)对所有用户设备进行排序。因此,该算法的复杂度为O(MNK²logM)。

我们设计的基于贪婪的解决方案策略是将所有用户的相同子任务划分为一层。首先,根据卸载增益对所有用户的第一子任务进行排序,并为所有子任务维护一个最小堆(最高收益子任务具有最高优先级)。然后,当某个用户的子任务完成后,算法将计算该用户后续子任务的卸载增益,并将其推入堆中。因此,该方法是对所有用户最公平的最优解。

5. 实验与结果

在本节中,我们进行了四个实验。这些实验从所有用户设备的总成本、所有运营商的资源利用率以及特定方法的决策完成时间三个方面评估卸载决策方法的性能。所有用户设备的总成本是所有用户设备延迟成本和能耗成本的归一化总和。所有运营商的资源利用率指的是所有运营商中用户设备占用的资源比例。特定方法的决策完成时间是指消耗的时间

表1 UDs和OPs的参数值。
| 参数 | 值 |
| — | — |
| UDs的计算能力 | U 0.8,1.8 |
| OPs的计算能力 | U 1.6,2.6 |
| 无线传输速率 | U 0.5,0.9 |
| UDs的执行功率 | U 10,20 |
| UDs的发送功率 | U 1,2 |
| 用户设备的接收功率 | U 2,4 |

表2 实验1的参数。
| 参数 | 设置1 | 设置2 | 设置3 |
| — | — | — | — |
| 种群规模 | 10–50 | 20 | 20 |
| 迭代次数 | 600 | 100–600 | 600 |
| 交叉概率 | 0.95 | 0.95 | 0.1–0.95 |

表3 实验2至实验4的参数。
| 实验次数 | UDs | q1n | OPs |
| — | — | — | — |
| 实验2 | 5–100 | 20 | 10 |
| 实验3 | 40 | 5–20 | 10 |
| 实验4 | 40 | 20 | 1–5 |

用于寻找最终卸载决策过程中的方法。为了简单表示,我们使用c1、c2和c3分别表示所有用户设备的总成本、所有操作点的资源利用率和决策完成时间。

实验旨在回答以下研究问题。

(a) UD数量、操作点数量和计算资源数量如何影响四种卸载决策方法的性能?

(b) 对于本文中的卸载场景,UD数量与计算资源数量之间的合适比例是多少?

(c) 四种决策方法在寻找其最优决策过程中的性能如何?

5.1. 设置

本文中的所有实验均在一台配备2.5吉赫兹英特尔酷睿i5处理器和8GB内存的机器上运行,所有算法均使用Python 3.6实现。为方便起见,所有用户设备的结构化任务均采用相同的结构序列(如人脸识别应用)。需要注意的是,本文提出的所有方法均适用于不同的结构序列。对于每个子任务,我们基于均匀分布生成输入/输出数据和工作负载。此外,我们根据实际情况模拟用户设备和操作点的属性参数。通过遵循[48],,我们计算操作点与用户设备之间的通信速率。每次实验中,每种方法均执行200次,以得出具有说服力的结果。

表1–3列出了实验参数。表1中的U表示均匀分布。

5.2. 实验结果比较

实验分为四个部分。
实验1。获取适当的GAOD参数。
实验2。获取UD数量与评估标准之间的关系。
实验3。获取总成本评估准则之间的关系。
实验4。获取操作点数量与评估标准之间的关系。

示意图7

示意图8

5.2.1. 获取适当的GAOD参数

遗传算法的性能与种群大小、迭代次数和交叉概率相关。因此,应设置适当的GAOD参数以与其他参数进行比较。我们需要进行以下实验。在本部分中,UD数量为40,每个OP中的资源数量为20,OPs数量为10。以下是实验结果。

图8 表明,随着种群规模的增大,GAOD的性能得到提升,因为较大的种群意味着更大的搜索范围,可以找到更多的可行解。 图9显示,随着迭代次数的增加,GAOD逐渐趋于稳定。由于GA是一种进化算法,更多的迭代可以产生更优的后代。 图10 展示了不同交叉概率下GAOD的性能变化,表明其在不同交叉概率下相对稳定,因为交叉概率仅影响收敛速度。从实验结果可以看出,当种群规模为30、迭代次数为325时较为合适。由于交叉概率对GAOD的影响并不十分明显,我们将其设为0.8以避免收敛过慢。有关GA的更多细节可参见 [41]。

示意图9

示意图10

示意图11

5.2.2. 获取UD数量与评价标准之间的关系

为了确定四种卸载决策方法与用户设备数量之间的关系,我们进行了以下实验。

从图11可以看出,BTOD是降低UD总成本的最佳方法,GSOD‐I与BTOD相近,其次是GSOD‐II和GAOD。BTOD获得了决策的精确解,在降低总成本方面表现最佳。GSOD‐I和GSOD‐II基于贪心策略,不能保证获得最优解,但可以获得近似最优解。此外,GSOD‐I在降低总成本方面优于GSOD‐II,这表明用户设备的总成本不仅与处理结构化任务所需的工作负载和数据量有关,还与卸载环境相关。GAOD的性能最差,因为在设计GAOD时需要处理计算资源约束不满足的情况,这会耗费一定时间。最后,这四种方法的性能均优于AL(始终本地执行)。当用户设备数量增加到某一阈值(约70个UD,如图11所示)时,使用四种方法的用户设备总成本的增量大致等于AL的增量。这是因为随着用户设备数量的增加,部分后续子任务无法获得计算资源。从图12可以看出,随着用户设备数量的增加,资源利用率也随之提高。BTOD的资源利用率最高,其次是GSOD‐I、GSOD‐II和GAOD,其中GAOD最低。BTOD为每个子任务找到了最合适的卸载点进行执行,因此其资源利用率最高。从图13可以看出,BTOD的决策完成时间随用户设备数量的增长最快,这是由于回溯的复杂度随用户设备数量呈指数级增长所致。而GSOD‐I和GSOD‐II的决策完成时间随用户设备数量呈低阶多项式增长,GAOD则处于中间水平。这是因为GAOD需要额外时间来处理不满足计算资源约束的情况。

示意图12

5.2.3. 获取资源总数与评价标准之间的关系

为了确定四种决策方法与资源总数之间的关系,我们进行了以下实验。

从图14可以看出,随着每个卸载点中资源数量的增加,用户设备的总成本下降。然而,当资源数量增加到某一阈值时,成本不再下降,因为计算资源可能已足以满足当前用户设备的需求,继续增加资源数量无法进一步降低成本。通过本实验可以确定,资源数量与用户设备数量的适当比率约为0.3。图15显示,当卸载点的资源数量较少时,资源利用率非常高。此时,如果我们持续增加资源数量,利用率仍保持较高水平

示意图13

示意图14

示意图15

利用率。然而,当达到某个值后,利用率开始下降。这是因为资源可能已足以满足当前用户设备的需求,继续增加资源数量会导致资源浪费。从图16可以看出,当资源数量增加时,决策完成时间也随之增加,因为四种方法必须判断计算资源是否可用以做出各自的决策。当资源不足时的决策。当某个数量增加时,决策完成时间不受影响,因为当各操作点的资源数量超过用户设备的需求时,该方法的执行时间不再受每个操作点资源数量的影响。

5.2.4. 获取操作点数量与评价标准之间的关系

为了确定决策方法与卸载点数量之间的关系,我们进行了以下实验。

从图17可以看出,随着操作点数量的增加(即资源数量增加),用户设备的总成本降低。然而,当操作点数量增加到一定程度时,用户设备的总成本不再显著下降。因为当前资源总数已能满足用户设备的卸载需求,继续增加操作点数量对指标影响较小。从图18可知,当操作点数量较少时,资源利用率非常高;持续增加操作点数量仍能保持较高的利用率;当操作点数量增加到某一数值后,计算资源的利用率将下降。该结果与图15所示情况类似,因为现有资源可能已足以满足当前用户设备的需求,继续增加操作点数量可能导致资源浪费。从图19可以看出,随着

示意图16

示意图17

示意图18

随着操作点数量的增加,BTOD呈指数级增长,因为每当做出决策时,BTOD会对每个额外的卸载点进行一次尝试。GSOD‐I和GSOD‐II呈现出低阶多项式级别的增长,这与UD数量增加的情况类似。GAOD的增长表现为高于GSOD的多项式级别,这是因为当操作点数量增加时,GAOD具有随机的决策值。

5.3. 实验总结

从上述实验中可以得出以下结论:尽管BTOD在优化UD总成本方面是最优的方法,但其关于操作点数量的指数级时间复杂度是不可接受的。对于GSOD‐I而言,虽然其在优化UD总成本方面不如BTOD,但它对BTOD具有近似解。GSOD‐I的一个优势是其时间复杂度远低于BTOD。关于GSOD‐II,其在优化UD总成本方面略逊于GSOD‐I,在时间复杂度方面略优于GSOD‐I,但差异并不明显。GAOD在UD总成本优化方面不如前述三种方法,且在时间复杂度方面也劣于GSOD。无论采用哪种方法,资源利用率均随用户数量增加而上升。然而,通过比较可以发现,BTOD可将所有用户设备的总成本平均降低约60%,GSOD‐I可将所有用户设备的总成本降低约55%。BTOD的决策完成时间远长于GSOD‐I。因此,GSOD‐I更适用于解决我们所关注的卸载决策问题。

6. 结论

本文研究了多用户设备、多卸载点和结构化任务场景下的任务卸载决策问题。具体而言,我们建立了一个符合该场景的系统模型,将问题形式化为总成本最小化问题,然后基于三种策略设计了四种方法。最后,我们进行了四个实验并对所提出的方法进行了比较。实验结果表明,基于贪心策略的方法是本文所采用三个标准下表现最佳的方法;该方法可将用户设备的总成本降低约55%。本文假设该场景中的用户设备是静态的,以简化问题。在未来的工作中,我们计划考虑动态场景。可以使用机器学习方法[49,50]来提升性能。

您可能感兴趣的与本文相关的镜像

GPT-oss:20b

GPT-oss:20b

图文对话
Gpt-oss

GPT OSS 是OpenAI 推出的重量级开放模型,面向强推理、智能体任务以及多样化开发场景

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值