ThriftyEdge:面向智能物联网应用的资源高效边缘计算
摘要
本文提出了一种新的资源高效边缘计算范式,以支持新兴的智能物联网应用,如用于精准农业、电子健康和智能家居的飞行自组织网络。我们设计了一种资源高效的边缘计算方案,使智能物联网设备用户能够通过在本地设备、附近的辅助设备以及邻近的边缘云之间进行适当的任务卸载,有效支持其计算密集型任务。与现有的移动计算卸载研究不同,我们从资源效率这一新视角出发,设计了一种高效的计算卸载机制,该机制包含延迟感知任务图划分算法和最优虚拟机选择方法,旨在最小化智能物联网设备的边缘资源占用,同时满足其服务质量要求。性能评估验证了所提出的风险高效边缘计算方案的有效性和优越性能。
引言
随着人工智能技术的迅速发展和广泛渗透,越来越多的新型智能物联网(IoT)应用不断涌现,例如基于深度学习的智能视频监控、用于精准农业的飞行自组织网络、电子健康和智能家居[1]。这类智能物联网应用通常具有资源密集型特征,运行计算密集型机器学习算法(例如深度学习[2]),并要求实时处理[3]。然而,由于物理尺寸限制,物联网设备通常受限于有限的计算资源,难以满足智能物联网应用的服务质量(QoS)需求[4]。
任务卸载作为一种增强设备资源的有前景技术,已在学术界和工业界得到广泛考虑。近年来,许多研究人员专注于移动云计算解决方案,其中移动设备可以将计算密集型数据处理任务卸载到资源丰富的云上进行远程执行。然而,由于物联网设备与云之间的网络距离较长,该范式无法支持延迟敏感型物联网应用[5]。作为一种替代方案,移动边缘计算(更广义地说,雾计算)是一种新兴的范式,利用大量协作终端用户和/或近用户设备来执行大量的计算任务,每个设备都能从中受益[5]。由于移动边缘计算在网络边缘实现,因此能够为物联网设备用户提供低延迟以及敏捷计算增强服务[5, 6]。如图1所示,移动边缘计算可以为智能物联网应用实现一种混合任务卸载范式,其中物联网设备能够利用自身的本地资源、通过设备到设备(D2D)通信技术利用附近设备的资源,以及连接的蜂窝基站附近的边缘云资源。
已有许多现有研究探讨了计算卸载问题,特别是针对移动云计算(例如[7–11,参见其中的参考文献])。然而,这些研究大多仅关注目标设备与其关联云服务器之间的计算卸载。如何高效地将计算密集型和延迟敏感的智能物联网应用任务在目标设备、辅助设备和边缘云之间进行卸载,目前仍缺乏充分理解。此外,由于物联网设备数量庞大且边缘云容量有限,跨不同设备的并发计算卸载显得极为重要且必要。因此,每个单独的物联网设备的计算卸载应在满足服务质量要求的前提下实现资源高效。更资源高效的计算卸载也意味着更少的资源消耗,从而降低物联网设备用户的边缘云服务费用。然而,现有研究很少探讨计算卸载的资源效率问题。
基于这一动机,本文提出了ThriftyEdge,一种面向智能物联网应用的资源高效边缘计算新范式。具体而言,我们采用以设备为中心的方法,设计了一种资源高效的计算卸载算法,使得每个智能物联网设备用户在满足其服务质量要求的前提下,力求最小化云资源占用(使用)。我们提出的资源高效计算卸载算法具有以下显著特点:一方面,我们采用混合方法,充分利用本地设备、附近的辅助设备以及邻近边缘云的分层资源;另一方面,我们提出了一种高效的基于拓扑排序的任务图分区算法以及最优虚拟机选择方法,以最小化智能物联网设备的边缘资源占用,同时满足其服务质量要求。
相关工作
许多先前关于移动云计算的研究工作都集中在计算卸载问题上(例如,[7–11,参见其中的参考文献])。Wen et al. 在 [7] 中提出了一种高效的卸载策略,通过联合配置移动设备的时钟频率和调度数据传输来最小化能耗。Yang et al. 在 [8] 中研究了多个用户共享无线网络带宽的场景,并采用集中式启发式遗传算法解决了最小化延迟性能的问题。Chen et al. 在 [9] 中提出了一种博弈论方法,用于设计去中心化多用户计算卸载机制,以减少总的任务执行开销。Pu et al. 在 [10] 中设计了一种基于D2D协作的移动边缘计算框架,旨在优化系统级能效。
请注意,本文中的计算卸载方案与上述研究不同,因为现有工作旨在优化设备的能效或延迟性能,而我们的目标是针对资源利用效率(在满足完成时间约束的前提下)优化设备的卸载决策。这对于许多物联网应用具有重要意义,因为物联网设备数量通常较大,通过最小化每个设备的资源占用,可以支持更多的并发物联网设备用户。
边缘计算场景
我们考虑一种场景:一个智能物联网设备(例如智能摄像头或机器人)连接到一个拥有邻近边缘云的无线基站。边缘云提供多种虚拟机类型,每种类型具有不同的计算能力。需要注意的是,通过引入广域网(WAN)传输延迟,我们的模型也可以扩展到包含远程公共云的情况。
物联网设备有一个时间关键型且计算密集型的任务(例如,用于智能物联网应用的机器学习任务)需要完成。根据该应用的服务质量要求,该任务具有最大允许完成时间。当存在辅助设备(例如,一个任务设备附近存在处于空闲状态的设备时,也可以选择与其建立D2D连接(例如使用蜂窝D2D [12]或Wi‐Fi直连 [13]),以实现支持D2D的计算卸载。1这是因为边缘设备类型通常具有异构性,某些设备(例如监控摄像头和机器人)既具备充足的电池电量又拥有足够的计算容量,因此能够处理来自附近资源受限设备的卸载任务。需要注意的是,当没有可用的辅助设备时,任务设备仅考虑本地计算和卸载至边缘云进行计算这两种选择。
接下来,我们引入任务图模型来描述计算任务的处理过程。与大多数现有研究(例如,[7, 8, 14])类似,我们使用有向无环图来描述设备的数据处理计算任务。具体而言,在任务图中,节点表示数据处理任务组件,有向边表示数据依赖。对于任务图中的一个节点,可以将其节点权重定义为对应数据处理任务组件所需的计算资源(即CPU周期)。对于调用另一个节点输出数据的后续节点,还可以将这两个节点之间的边权重定义为在两个对应任务组件之间传输的数据量。
对于任务图中的给定任务组件,任务设备可以在其本地设备上执行,也可以卸载到附近的辅助设备或边缘云。因此,我们得到任务组件 i 在设备 m 上的执行时间 Ti m,该时间取决于执行设备的计算能力。对于边缘云计算方法,边缘云中会为任务设备用户关联一个虚拟机以执行其任务。根据设备为其整个任务所选择的虚拟机类型,可相应地计算出通过云计算方法在虚拟机上执行给定任务组件 i 的时间为 Ti c。
现在假设两个具有数据依赖性的任务组件 i 和 j 在不同的执行位置运行(例如,一个在用户设备上,另一个在边缘云上)。那么,这两个任务组件之间需要通过无线连接 [12] 传输一定总量的数据。我们将任务组件 i 的执行位置记为 yi,任务组件 i 和 j 之间因计算卸载而产生的总数据传输时间表示为 Tije(yi,yj)。
资源高效的计算卸载
在本节中,我们讨论ThriftyEdge的核心思想。我们首先考虑资源高效的计算卸载问题,以确定最优任务组件执行位置和虚拟机选择,从而最小化资源占用,同时满足服务质量需求。
1为了便于阐述,本文仅考虑一个辅助设备。然而,通过扩展计算卸载的选择空间,我们的方法可以很容易地推广到多个辅助设备的情况。
延迟感知任务图划分
我们首先考虑在固定边缘云资源规模下的延迟感知任务图划分问题。也就是说,在用户针对云计算所选择的虚拟机类型固定的情况下,我们的目标是确定每个任务组件在其任务图中的最优执行位置(即目标设备 n、辅助设备 m 或边缘云 c),以最小化执行整个任务的总延迟。
首先,我们利用任务图的结构特性。由于该图是有向无环的,因此可以对该图进行拓扑排序(如图2所示),即对节点进行排序,使得对于从节点 i 到节点 j 的每一条有向边,i 在排序中都位于 j 之前。
我们引入经典的卡恩算法对任务图进行拓扑排序,该算法具有较低的多项式计算复杂度。在完成拓扑排序后,我们得到节点的一个有序排列。我们还将从节点 i 有有向边指向的节点集合记为 D(i)。根据拓扑排序的定义可知,若 j ∈ D(i),则在节点排序中 i 位于 j 之前。注意,由于不存在从终止节点(即输出组件)出发的有向边,而对于其他任意节点,总存在从其出发的有向边(否则对应的任务组件是无用的,因为它未向其他中间组件或输出组件提供任何输入),因此在拓扑排序后的节点序列中,最后一个节点必定是输出组件。
基于拓扑排序得到的节点排序,我们随后通过逆向归纳法来解决延迟感知任务图划分问题。也就是说,我们首先确定拓扑排序后最后一个节点的最优执行位置,然后以此为基础,逆向逐个确定其他节点的最优执行位置。此外,我们用 Z(i)表示从任务组件i开始执行到整个任务结束的最小延迟。
对于排序中的最后一个节点 k(即输出组件),我们有 Z(k) 等于在本地任务设备 n 上的执行时间 tk n ,因为通常最终结果将返回到任务设备 n。然后我们逆向递归地考虑排序中剩余的节点。显然,从执行任务组件 i 开始直到整个任务结束的延迟取决于需要从节点 i 获取输入数据的具有最大延迟的瓶颈节点 j ∈ D(i)。因此,我们有 Z(i) = miny∈{n,m,c}maxj∈D(i){Tyi+ Te ij(y, y j) + Z(j)}。直观上,这意味着从执行任务组件 i 开始直到整个任务结束的最小延迟等于最小化当前任务组件的执行延迟(包括任何数据传输延迟)以及后续剩余任务组件的最小执行延迟的总和。因此,每个节点的最优执行位置是实现最小延迟的最佳选择。通过逆向归纳法,我们可以对所有剩余节点递归地计算出最小延迟和最优执行位置。
最优虚拟机选择
我们的目标是设计一种资源高效的计算卸载策略,以确定设备的最优边缘云资源配置,在满足其服务质量约束的同时,最小化边缘云资源占用。该研究的关键动机有两方面:一方面,从系统角度来看,最小化云资源占用有助于提高资源利用效率,并可在移动边缘系统中支持更多并发的物联网设备;另一方面,从用户角度来看,通常云资源占用是确定边缘计算服务费用的重要指标。因此,较低的云资源占用也意味着用户所需支付的服务费用更低。形式上,我们将资源高效卸载问题(即ThriftyEdge的核心问题)定义为:在任务完成时间不超过截止时间的约束下,选择能够最小化边缘云资源占用的合适虚拟机类型。
如图3所示,在上述延迟感知任务图分区算法的基础上,该问题可以按如下方式轻松解决。首先,我们根据相应的计算资源容量对边缘云提供的所有虚拟机类型进行排序。然后,按照该排序依次选择一个虚拟机选项,并利用延迟感知任务图分区算法计算拓扑排序后首个节点的最小延迟。一旦执行时间小于截止时间,便停止搜索,并找到具有最小资源占用的最优虚拟机选择。为简化起见,在本文中所提算法包含延迟感知任务图划分算法和最优虚拟机选择方法,旨在满足服务质量要求的同时,最小化智能物联网设备的边缘资源占用。
我们进一步评估了所提出的ThriftyEdge方案(即资源高效的卸载算法)在资源占用方面的性能。作为对比,我们还实现了Odessa计算卸载方案[15]以及全卸载方案——任务图中的所有任务组件都将被卸载。Odessa计算卸载方案采用贪心策略,利用数据与流水线并行性进行计算卸载。
结果如图4所示,使用物体位姿估计应用进行测试,其中以全卸载方案作为基线,对另外两种方案的资源占用性能进行归一化处理。可以看出,与Odessa方案相比,所提出的ThriftyEdge方案在资源占用方面表现出更优的性能,资源占用降低了19%。
未来研究方向
在本节中,我们将讨论针对智能物联网应用的资源高效边缘计算进一步探索的几个重要方向。
首先,扩展当前研究的一个非常有趣且具有挑战性的方向是考虑多用户资源高效边缘计算。与单用户情况不同,在多用户情况下,我们需要仔细解决在同一辅助设备和边缘云上计算资源共享的关键竞争问题。此外,探索多个用户在运行相似应用时任务组件的可重用性,以进一步提高资源效率,也是非常有意义的。
其次,设计一种细粒度计算卸载机制也非常有前景,使得不同的物联网设备能够根据物理环境以及服务质量需求精细调整其计算需求。实现细粒度计算卸载无疑有助于提高资源效率。
最后但同样重要的是,在本文中我们考虑了一个由计算任务图表示的通用计算模型。由于物联网数据分析对于许多智能物联网应用至关重要,因此可以特别关注边缘数据流处理领域,该领域结合边缘计算和机器学习技术,以实现高效的实时物联网数据处理与分析。
结论
本文探讨了智能物联网应用中的资源高效边缘计算问题。我们设计了一种资源高效的计算卸载算法,使物联网设备能够利用本地设备、附近辅助设备以及邻近边缘云的资源。具体而言,所提算法包含延迟感知任务图划分算法和最优虚拟机选择方法,旨在满足服务质量要求的同时,最小化智能物联网设备的边缘资源占用。性能评估结果验证了所提计算卸载算法在资源效率方面的优越性能。
1329

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



