CN117331693A - 基于dag的边缘云的任务卸载方法、装置及设备 - Google Patents

基于dag的边缘云的任务卸载方法、装置及设备 Download PDF

Info

Publication number
CN117331693A
CN117331693A CN202311283962.8A CN202311283962A CN117331693A CN 117331693 A CN117331693 A CN 117331693A CN 202311283962 A CN202311283962 A CN 202311283962A CN 117331693 A CN117331693 A CN 117331693A
Authority
CN
China
Prior art keywords
task
edge cloud
dag
unloading
offloading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311283962.8A
Other languages
English (en)
Inventor
王闻宇
刘铸滔
王晓飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pioneer Cloud Computing Shanghai Co ltd
Original Assignee
Pioneer Cloud Computing Shanghai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pioneer Cloud Computing Shanghai Co ltd filed Critical Pioneer Cloud Computing Shanghai Co ltd
Priority to CN202311283962.8A priority Critical patent/CN117331693A/zh
Publication of CN117331693A publication Critical patent/CN117331693A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于DAG的边缘云的任务卸载方法,采用基于注意力的细粒度任务卸载算法,解决了在绿色边缘云中卸载具有细粒度DAG依赖关系的子任务的复杂问题。为了提高能源效率,表现出依赖性的子任务将被分配在本地或是细粒度资源池上执行。为了将依赖于DAG的子任务分配给资源池中适当的边缘云节点,采用了一种基于双重注意力的深度强化学习算法,即DA‑DRL,该算法可以迅速的适应任务需求,并允许模型忽略不相关的噪声,通过双重注意力机制关注关键信息,加快收敛速度。

Description

基于DAG的边缘云的任务卸载方法、装置及设备
技术领域
本发明属于数据处理的技术领域,尤其涉及一种基于DAG的边缘云的任务卸载方法、装置及设备。
背景技术
随着大数据、人工智能等技术的飞速发展,互联网产生了海量数据和复杂的算法模型,对计算能力的需求迅速增长。然而,传统的云计算面临着延迟和能耗问题,且数据中心通常距离用户较远,导致数据传输延迟增加,同时大量的电力和空调消耗导致巨大的能源浪费。在物联网等领域,仅仅依靠云计算已经无法满足要求。
边缘云网络是一种新型架构,将计算和网络深度融合,以满足不断增长的计算需求。相较于传统云计算,边缘云网络能够在云、网络、边缘之间分配和调度计算、存储和网络资源,以适应不同应用场景和业务需求。它采用分布式架构,实现并行计算,提高计算效率、性能和资源利用率。
随着边缘云的发展,能源消耗成为核心问题之一。数据中心的能源消耗对环境造成负担,边缘云的任务卸载问题与能耗密切相关。任务卸载问题中的粗粒度分析和资源分散管理导致能源浪费,不利于任务卸载决策和绿色边缘云的实现。
现有工作通过使用各种算法卸载任务来解决能耗问题,但仍有许多问题被忽略,例如:
在任务侧:粗粒度的任务处理。边缘云中有各种各样任务。毫无区别地考虑所有任务粒度是不合适的。绿色边缘云中的一些工作流任务就是可以分解和重用的。这种只考虑任务的粗粒度将导致资源和能量的次优利用,甚至浪费。
在资源侧:分散的资源管理。随着边缘云中资源的增加,从庞大的资源池中识别和调度合适的资源变得非常困难,这也导致了竞争冲突和任务卸载的不确定性。因此,高效的资源整合成为不可或缺的要求。
在任务-资源适配侧:决策泛化性弱,适应性差。解决任务卸载问题的传统方法严重依赖于专家知识和精确的数学模型,它们对意外扰动或未知情况的适应性较弱。同时,很难将注意力集中在具有高维输入数据的有用信息上,这导致了严重的计算负担和较低的预测效率。
发明内容
本发明的目的是提供一种基于DAG的边缘云的任务卸载方法,保障服务质量的前提下,降低边缘云的能耗。
为解决上述问题,本发明的技术方案为:
一种基于DAG的边缘云的任务卸载方法,包括:
构建任务卸载场景中的本地系统及资源池系统,采用DAG表示需要完成的任务及任务之间的依赖关系;
分别对任务卸载到资源池系统的边缘云节点的能耗、任务本地运行能耗、系统能耗及系统时延进行建模,分析确定最佳的任务卸载策略;所述任务卸载策略包括将任务卸载到资源池系统的边缘云节点上运行、任务在本地运行;
在分析确定最佳的任务卸载策略时,将任务卸载过程建模为马尔科夫决策过程,得到决策模型;将生成的随机DAG数据集中的每张有向无环图的任务的嵌入作为决策模型的输入,决策模型的输出为对每个任务做出的决策以及相应的状态价值函数。
根据本发明一实施例,采用序列到序列的神经网络模型将任务卸载到边缘云节点,以提高资源利用率,包括以下步骤:
将DAG数据集中的任务序列转换为任务嵌入序列,输入编码器中;
编码器通过第一层注意力网络计算得到任务嵌入序列对应的隐藏状态序列,并将编码器最后一个输出的隐藏状态作为上下文向量传入解码器;
解码器通过第二层注意力网络,基于上下文向量、上一任务的预测结果及解码器上一隐藏状态,生成当前的隐藏状态;
通过激活函数将解码器的输出转变为目标策略的概率。
根据本发明一实施例,采用近端策略优化算法对决策模型进行优化,通过估计优势函数来体现任务采取对应策略后得到的期望回报与真实回报的差值,从而确定优化效果。
根据本发明一实施例,通过广义优势估计函数GAE来估计优势函数。
根据本发明一实施例,将任务卸载到资源池系统的边缘云节点上运行包括:
通过上传链路无线信道将任务发送到边缘云节点;
已接收到任务的边缘云节点根据当前的运行情况和可用资源执行任务;
将任务的执行结果输出返回本地系统。
根据本发明一实施例,所述资源池系统配置多个异构的边缘云节点,每个边缘云节点配备多个虚拟机,每个虚拟机负责处理不同类型的任务并独占一计算资源。
一种基于DAG的边缘云的任务卸载装置,包括:
系统建模模块,用于构建任务卸载场景中的本地系统及资源池系统,采用DAG表示需要完成的任务及任务之间的依赖关系;
任务卸载决策模块,用于分别对任务卸载到资源池系统的边缘云节点的能耗、任务本地运行能耗、系统能耗及系统时延进行建模,分析确定最佳的任务卸载策略;所述任务卸载策略包括将任务卸载到资源池系统的边缘云节点上运行、任务在本地运行;
所述任务卸载决策模块在分析确定最佳的任务卸载策略时,将任务卸载过程建模为马尔科夫决策过程,得到决策模型;将生成的随机DAG数据集中的每张有向无环图的任务的嵌入作为决策模型的输入,决策模型的输出为对每个任务做出的决策以及相应的状态价值函数。
根据本发明一实施例,所述任务卸载决策模块采用基于双重注意力的序列到序列的神经网络模型将任务卸载到边缘云节点,以提高资源利用率。
一种基于DAG的边缘云的任务卸载设备,包括:存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行本发明一实施例中的基于DAG的边缘云的任务卸载方法中的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本发明一实施例中的基于DAG的边缘云的任务卸载方法中的步骤。
本发明由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
1)本发明一实施例中的基于DAG的边缘云的任务卸载方法,采用基于注意力的细粒度任务卸载算法,解决了在绿色边缘云中卸载具有细粒度DAG依赖关系的子任务的复杂问题。为了提高能源效率,表现出依赖性的子任务将被分配在本地或是细粒度资源池上执行。
2)本发明一实施例中的基于DAG的边缘云的任务卸载方法,为了将依赖于DAG的子任务分配给资源池中适当的边缘云节点,采用了一种基于双重注意力的深度强化学习算法,即DA-DRL,该算法可以迅速的适应任务需求,并允许模型忽略不相关的噪声,通过双重注意力机制关注关键信息,加快收敛速度。
附图说明
图1为本发明一实施例中的基于DAG的边缘云的任务卸载方法流图;
图2为本发明一实施例中的不同任务的不同拓扑结构的DAG图;
图3为本发明一实施例中的边缘云中的任务卸载结构图;
图4为本发明一实施例中的基于双重注意力机制的Seq2Seq网络结构图;
图5为本发明一实施例中的基于DAG的边缘云的任务卸载设备示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的一种基于DAG的边缘云的任务卸载方法、装置及设备作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。
常规的边缘云计算卸载方案主要是仅考虑了粗粒度的资源任务,没有包含细粒度资源和具有依赖关系的子任务的多样化和复杂场景。粗粒度的任务分析存在一些缺陷,尤其在时延和能耗优化方面。例如,某些计算密集型任务可以被建模为有向无环图(directedacyclic graph,DAG),分解成并行的子任务。通过并行任务卸载,可以更有效地减少时延和能耗,实现更好的优化效果。另外,尽管启发式算法在许多情况下能够接近任务卸载问题的最优解,但它们也容易陷入局部最优解。在特殊情况下,这些算法得出的卸载策略可能会导致延迟和能耗的增加,暴露了启发式算法的局限性。本实施例主要进行了以下的技术突破:
1.基于注意力的细粒度任务卸载算法:本实施例公开了一种创新的基于关注力的细粒度任务卸载算法,以应对绿色边缘云中处理复杂的、涉及细粒度DAG依赖关系的子任务。该算法的独特之处在于,能够将表现出依赖性的子任务巧妙地分配至本地或细粒度资源池中执行,以提升能源效率。
2.双重注意力的深度强化学习算法(DA-DRL):为了有效地将依赖DAG的子任务分派给适当的边缘云节点,本实施例公开了一种全新的方法,即基于双重注意力的深度强化学习算法(DA-DRL)。DA-DRL不仅能够快速适应任务需求,还通过双重注意力机制聚焦于关键信息,剔除不必要的噪声,以提升训练收敛速度。
基于上述技术,本实施例提供了一种基于DAG的边缘云的任务卸载方法,请参看图1,该方法包括:
构建任务卸载场景中的本地系统及资源池系统,采用DAG表示需要完成的任务及任务之间的依赖关系;
分别对任务卸载到资源池系统的边缘云节点的能耗、任务本地运行能耗、系统能耗及系统时延进行建模,分析确定最佳的任务卸载策略;所述任务卸载策略包括将任务卸载到资源池系统的边缘云节点上运行、任务在本地运行;
在分析确定最佳的任务卸载策略时,将任务卸载过程建模为马尔科夫决策过程,得到决策模型;将生成的随机DAG数据集中的每张有向无环图的任务的嵌入作为决策模型的输入,决策模型的输出为对每个任务做出的决策以及相应的状态价值函数。
具体的,该基于DAG的边缘云的任务卸载方法,主要分成系统建模、定义算法模型、执行训练过程3个部分。如下所示:
步骤1.系统建模。该算法需要在一个仿真的环境中进行学习,本实施例建立了一个环境模块模拟了任务卸载场景中的UE本地系统以及资源池系统模型。为了方便起见,下表1总结了任务卸载问题中所涉及的主要专业术语符号。
表1主要术语符号的定义
步骤1.1子任务时延建模
每个UE本地系统包含一个或多个需要完成的算力任务,可以被表示为一个有向无环图: ε={e(i,j)|(i,j)∈{1,2,…,T}×{1,2,…,T}分别表示需要完成的子任务,子任务之间的依赖关系的有向边集。特别地,子任务定义为任务的入口和出口。每条边e(i,j)∈ε表示在启动子任务tj之前必须完成子任务ti。如图2所示,在图像识别任务中,子任务t6需要在子任务t3完成后开始执行。此外,本实施例还定义了任务类型的集合来表示任务的类型。
一个算力子任务ti的任务嵌入信息称为Fi,本质上与在每个步骤中观察到的延迟和能量消耗有关。嵌入信息可以表示为其中Ci,分别表示为执行任务所需的基本计算能力,传输的数据量和接收的数据量。Mi是一个y维的单位向量,在该子任务所属的任务类型y上取1,保持其它元素为0,表明该任务属于类型y。
算力网络中的资源池可以表示为的通过虚拟机(VirtualMachine,VM)形成虚拟化计算资源池的异构边缘云节点的集合。为了支持各种服务,假设每个边缘云节点都配备了Y个虚拟机,每个虚拟机负责处理不同类型的任务并表现出独特的计算能力。向量表示与边缘云节点x对于各类任务类型的任务处理能力,其中fx,y表示当处理第y种类型的任务时,资源池第x个边缘云节点的累计计算能力。子任务可以在本地执行,也可以卸载到具有相关性能服务的资源池内执行。
此外,用于处理资源池上子任务ti的算力网络中的系统状态可以表示为包含用于将ti发送到边缘云节点x的无线上传链路信道传输速率,下载链路信道传输速率以及处理任务ti的资源池中的第x个边缘云节点的计算能力向量,即fi,x,y表示y类型的子任务ti指定的计算能力需求,并且fi,x,y≤fx,y
对于子任务ti,如果将其卸载到边缘云节点x的过程可以分为三个主要的步骤:
①通过上传链路无线信道将子任务ti发送到边缘云节点x。
②已接受到子任务ti的边缘云节点x根据当前的运行情况和可用资源执行它。
③将子任务的输出返回给UE。
卸载子任务ti到资源池中边缘云节点x的总时间包含发送数据到边缘云节点x的时间在资源池的边缘云节点x的执行时间以及接收数据的时间
步骤1.2任务能耗建模
能量损耗,经由上行链路和下行链路信道将数据卸载到资源池会导致能量开销,将子任务ti卸载到资源池中第x个边缘云节点的能量损耗可以表示为:
其中,分别表示上行链路和下行链路信道的传输功率,假设资源池具有不同的计算能力,并通过虚拟化采用并行计算,允许在每个边缘云节点进行独立计算,那么在边缘云节点x上卸载的子任务ti的能耗可以表示为:
其中边缘云节点x的有效切换电容由表示。因此,将子任务ti卸载到资源池边缘云节点x的总能耗,可以表示为:
步骤1.3本地运行能耗建模
子任务ti除了可以选择卸载到资源池中的边缘云节点中运行,还可以选择在本地UE上运行。本地执行的一个优点就是可以在离数据源更近的地方执行子任务的委派,从而减少了与远程资源池连续通信的必要性,从而在一定程度上降低了总体延迟,并且相比远程卸载消耗的能源会少很多。缺点在于UE本地的计算能力相较于边缘云节点可能较差,在执行一些计算密集型任务时执行时间可能会更长。本地执行的时延计算比较简单:
其中是UE对各种任务类型的计算能力。
此外,本地运行的子任务ti也同样会产生能源损耗:
其中kUE是UE的有效切换电容。
步骤1.4系统能耗建模
在DAG的调度中,任务卸载策略A1:T={ai|i=1,2,....,T}是一个关键因素。子任务ti都有一个与其相关的卸载决策值如图3中描述的那样。每个子任务可以选择UE本地运行或者是选择卸载到一个资源池中:
值得注意的是,每个子任务应该是不可分割的并且只能由一个边缘云节点中的一个VM处理,即其中II是特征函数。
因此,给定卸载策略A1:T,整个DAG的能量损耗可以表示为:
其中sgn()是符号函数。
为了确保任务的顺利执行,调度计划需要遵循拓扑结构的排序方案,其中所有子任务都应该在其各自的父任务执行之后进行调度。根据卸载策略,所有子任务都经过调度分配到对应的位置上,以确保高效的执行。子任务的完成时间涉及到多个组件,包括上行链路无线信道,资源池中的边缘云节点x,下行链路无线通信和UE上的本地执行,可以分别表示为以及由于子任务需要占用通信信道和边缘云节点资源,还需要对应的可用资源时间,这些分别用以及表示。这些资源的可用性取决于占用该资源之前的任务的完成时间。如果在调度使用该资源的任务ti之前的任务没有使用资源的情况下,该资源的完成时间指定为0。
步骤1.5系统时延建模
在子任务ti被卸载到资源池的情况下,在启动数据传输之前,ti必须等待期所有父任务执行完成后才能执行,因为子任务的执行可能需要用到父任务的返回结果。除此之外,还需要上行链路信道的可用性,定义了ti在上行链路信道上的完成时间在资源池上的完成时间以及在下行链路信道
其中,
P()是一个映射所有父任务的函数,子任务ti只有在其父任务执行完成并且上行链路信道可用之后才能开始数据传输,ti的执行取决于其父任务的进度,这可以确保执行顺序的正确性。这种方法还可以防止任何数据传输过早启动导致传输错误或其它严重的后果。
在子任务ti被安排在UE的本地执行的情况下,其开始时间取决于其各自的父任务完成时间以及UE的可用时间。子任务ti本地的完成时间公式如下:
其中,
因此,使用卸载策略A1:T的DAG的总延迟,可以用TA1:T表示:
任务卸载的主要目标是为DAG确定一个有效的卸载策略,以优化总延迟,总能耗。形式上,基于这些表达式,求解目标可以公式化为:
其中α12是由绿色边缘云系统设置的加权参数,显示了对优化目标的重视程度。考虑到不断变化的DAG拓扑结构和边缘云的系统状态,确定最佳的卸载策略可能非常具有挑战性,因为问题P是一个NP-Hard问题。
步骤2定义算法模型
步骤2.1定义模型输入输出
因为边缘云中的任务卸载问题是一个NP-Hard问题,所以本实施例提出了使用深度强化学习(deep reinforcement learning,DRL)的算法,该算法首先将卸载过程建模为马尔科夫决策过程(markov decision process,MDP)。将任务定义为一组子任务{t1,…,tT},其中每个子任务都遵循资源池内的分布每个学习子任务的MDP由状态空间动作空间以及奖励函数组成。这些元素定义如下:
①状态空间子任务ti的资源能耗和任务延迟由许多因素决定,如ti所需的计算资源,ti的数据大小,ti的任务类型,无线传输条件,DAG的类型以及任务调度时边缘云的资源状态。此外,资源状态收到ti之前调度的任务的卸载决策的影响。因此,结合编码后的DAG和部分卸载策略可以定义MDP的状态:
包括了任务嵌入(task embedding),每个任务嵌入主要包含三个向量:
1)当前任务的索引(解析后的顺序下标),任务的上传数据时间下载数据时间远程处理时间UE本地运行时间
2)其父任务的索引的向量。
3)其子任务的索引向量,嵌入的父子任务索引数量可以限制为固定的数量,通过删减或者填充使其数量为固定值。对于前i个子任务,其部分卸载策略可以表示为A1:i
基于DAG的拓扑结构,需要计算出任务的优先级。优先级是量化任务在DAG中的相对位置的度量,优先级越高的任务应该被优先执行。子任务ti的优先级定义如下:
其中符号表示的是子任务ti从卸载开始到执行完成的所需的时间,此外,child(ti)表示的是ti的直接子任务集合,而表示的所有退出子任务。
②动作空间表示DAG的卸载策略,行动空间定义为:
对于每个任务,0表示在UE本地执行,其它值对应资源池的边缘云节点。
③奖励函数为了最小化P中的问题,将奖励函数规定为形如P中的增长,具体为,当子任务ti采取行动时,增量的形式定义为:
其中,
因此,奖励函数鼓励任务做出提高系统性能的卸载决策。
④策略函数π:给定上述的MDP定义,子任务的ti的卸载策略函数可以表示为对于一个包含个子任务的DAG一个卸载策略的概率可以表示为通过将概率链式法则应用到每个可以得到如下的总体概率:
在建立为MDP之后,将生成的随机DAG数据集中的每张图的任务的嵌入作为模型的输入,模型的输出是对每一个任务做出的决策以及对应的状态价值函数,决策是一个范围为[0,X]的整数,表示卸载到本地或者是某个资源池中,状态价值函数用于计算优势函数。
步骤2.2定义网络模型结构
图4说明了用于边缘云任务卸载的基于双重注意力机制的序列到序列(seq2seq)神经网络的架构。任务嵌入首先被输入到网络中,然后编码器将输入任务嵌入作为向量,并生成任务序列的编码表示,将编码器的最后一个输出的隐藏状态作为上下文向量传入到解码器中作为初始隐藏状态,并通过注意力机制计算解码器的隐藏状态。
这里用了两层的注意力机制,第一层用于编码器的隐藏状态和任务嵌入向量的分数计算,第二层用于解码器的隐藏状态和编码器的所有隐藏状态的分数计算,解码器的隐藏状态计算包含了第二层注意力机制的输出以及上一个任务嵌入对应的输出的卸载策略ai。本实施例提出的神经网络架构能够在动态边缘云环境中实现高效的任务卸载决策,提高资源利用率和系统性能。
首先,需要通过之前的旧策略采样得到任务卸载的一个轨迹并计算得到每个任务的任务子序列被转换为任务嵌入信息 并被输入到编码器中。编码器通过第一层注意力机制产生对应的隐藏状态序列{h1,h2,h3,…,hT},编码器和解码器均由循环神经网络实现。解码器通过第二层注意力机制以及上一个的隐藏状态来计算新的隐藏状态:
其中,分别是第一层和第二层注意力权重,可以计算为:
这里的di-1表示解码器的上一个隐藏状态输出,分别是第一层和第二层的注意力机制计算对应的分数。
编码器通过上一个隐藏状态hi-1和向量来计新的隐藏状态hi
解码器基于上下文向量上一个任务的预测ai-1和解码器的上一个隐藏状态di-1,生成当前的隐藏状态di
其中ψ()是非线性函数,通常实现为前馈神经网络,然后是softmax激活函数将神经网络的输出转变为目标词汇表上的概率输出。通过使用基于双重注意力的seq2seq网络结构,该算法可以从输入序列中捕获更丰富的上下文信息,有效地提高服务计算任务的性能。总之,算法的时间复杂度相当于基于注意力机制的seq2seq神经网络推理的时间复杂度,即O(T2)。
通常,移动应用程序的任务数量T一般都是小于100的,因此这个时间复杂度完全是可以接受的。
步骤2.3计算损失函数
为了在任务卸载中实现最佳性能,本实施例选择近端策略优化(PPO)算法作为核心强化学习算法,它能够基于样本策略π(a|s;θS)为单个学习任务ti生成轨迹,并可以更新多轮目标策略π(a|s;θT),其中θS和θT便是PPO中用到的旧策略参数和需要更新的目标参数。
为了保证学习过程的稳定性,防止更新幅度过大,采用如下裁剪形式的子任务总回报:
其中指的是基于π(a|s;θS)旧的样本策略函数生成的采样轨迹τ
可以将分布概率比约束在[1-∈,1+∈]范围内。表示的估计的优势函数,用来近似子任务ti采取对应动作后轨迹对应的期望回报与真实回报的差值,本实施例的算法采用广义优势估计函数GAE来估计优势函数:
其中,γ∈[0,1]是折扣因子,用来计算累计误差,λ是用来控制偏差和方差的。观察公式可以得出,相较于与普通的策略梯度算法中的优势估计δ(TD error)相比,GAE是将后续所有的状态的δ通过指数加权求和的方式得到的,其中TD误差δ=rt+γvt-vt+1,GAE相比普通的TD误差可以更加准确地估计优势函数,并且可以获得更好的性能。
状态价值函数的损失函数定义为:
其中,
每个子任务学习的目标函数为:
系数c1表示值函数损失的权重。基于子任务的目标函数以及DRL的策略梯度算法,本实施例提出的训练目标函数为:
其中,
ω是梯度上升的学习率,是计算的梯度,经过Adam的z步骤后替换PPO中的旧样本策略。为了应对复杂神经网络组合带来的计算成本和实现挑战,本实施例采用了Adam一阶近似值计算梯度。
步骤3执行训练过程
表3.2训练伪代码
Table 3.2 Training pseudocode
实现任务卸载的DA-DRL算法的训练伪代码如上表3.2所示,首先用初始化的采样策略参数以批量大小B对一批学习任务进行采样,然后对这一批的每个学习任务进行训练,每次训练用于更新每个子任务对应的策略参数θi,然后使用Adam优化器进行梯度上升,对目标的策略参数进行更新,替换旧策略。
通过大量的仿真和对照实验来评估DA-DRL对细粒度任务的卸载适用性,结果表明,DA-DRL优于各种基线,训练步数相比不具备双重注意力机制的深度强化学习,其训练步骤显著减少了53.40%以上,在模型性能方面,将系统的总体回报提升了33.43%以上。
综上,本实施例公开了一种基于DAG的边缘云的任务卸载方法,解决了在绿色边缘云中卸载具有细粒度DAG依赖关系的子任务的复杂问题,提高了能源效率,可以迅速的适应任务;并允许模型忽略不相关的噪声,通过双重注意力机制关注关键信息,加快收敛。
基于相同的构思,本实施例提供了一种基于DAG的边缘云的任务卸载装置,该装置包括:
系统建模模块,用于构建任务卸载场景中的本地系统及资源池系统,采用DAG表示需要完成的任务及任务之间的依赖关系;
任务卸载决策模块,用于分别对任务卸载到资源池系统的边缘云节点的能耗、任务本地运行能耗、系统能耗及系统时延进行建模,分析确定最佳的任务卸载策略;所述任务卸载策略包括将任务卸载到资源池系统的边缘云节点上运行、任务在本地运行;
该任务卸载决策模块在分析确定最佳的任务卸载策略时,将任务卸载过程建模为马尔科夫决策过程,得到决策模型;将生成的随机DAG数据集中的每张有向无环图的任务的嵌入作为决策模型的输入,决策模型的输出为对每个任务做出的决策以及相应的状态价值函数。
进一步地,该任务卸载决策模块采用基于双重注意力的序列到序列的神经网络模型将任务卸载到边缘云节点,以提高资源利用率。
上述系统建模模块及任务卸载决策模块的具体内容请参看上述基于DAG的边缘云的任务卸载方法,在此不再赘述。
此外,本实施例还提供了一种基于DAG的边缘云的任务卸载设备。请参看图5,该基于DAG的边缘云的任务卸载的设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,x86,arm架构处理器或FPGA)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于DAG的边缘云的任务卸载的设备500中的一系列指令操作。
进一步,处理器510可以设置为与存储介质530通信,在基于DAG的边缘云的任务卸载的设备500上执行存储介质530中的一系列指令操作。
基于DAG的边缘云的任务卸载的设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线的网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve、Vista等等。
本领域技术人员可以理解,图5示出的基于DAG的边缘云的任务卸载的设备的结构并不构成对基于DAG的边缘云的任务卸载的设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明的另一实施例还提供了一种计算机可读存储介质。
该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质。该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行实施例一中的基于DAG的边缘云的任务卸载的设备方法的步骤。
基于DAG的边缘云的任务卸载的方法若以程序指令的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件的形式体现出来,该计算机软件存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-onlymemory,ROM)、随机存取存储器(Random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述得方便和简洁,上述描述的系统及设备的具体执行的识别内容,可以参考前述方法实施例中的对应过程。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式。即使对本发明作出各种变化,倘若这些变化属于本发明权利要求及其等同技术的范围之内,则仍落入在本发明的保护范围之中。

Claims (10)

1.一种基于DAG的边缘云的任务卸载方法,其特征在于,包括:
构建任务卸载场景中的本地系统及资源池系统,采用DAG表示需要完成的任务及任务之间的依赖关系;
分别对任务卸载到资源池系统的边缘云节点的能耗、任务本地运行能耗、系统能耗及系统时延进行建模,分析确定最佳的任务卸载策略;所述任务卸载策略包括将任务卸载到资源池系统的边缘云节点上运行、任务在本地运行;
在分析确定最佳的任务卸载策略时,将任务卸载过程建模为马尔科夫决策过程,得到决策模型;将生成的随机DAG数据集中的每张有向无环图的任务的嵌入作为决策模型的输入,决策模型的输出为对每个任务做出的决策以及相应的状态价值函数。
2.如权利要求1所述的基于DAG的边缘云的任务卸载方法,其特征在于,采用序列到序列的神经网络模型将任务卸载到边缘云节点,以提高资源利用率,包括以下步骤:
将DAG数据集中的任务序列转换为任务嵌入序列,输入编码器中;
编码器通过第一层注意力网络计算得到任务嵌入序列对应的隐藏状态序列,并将编码器最后一个输出的隐藏状态作为上下文向量传入解码器;
解码器通过第二层注意力网络,基于上下文向量、上一任务的预测结果及解码器上一隐藏状态,生成当前的隐藏状态;
通过激活函数将解码器的输出转变为目标策略的概率。
3.如权利要求1所述的基于DAG的边缘云的任务卸载方法,其特征在于,采用近端策略优化算法对决策模型进行优化,通过估计优势函数来体现任务采取对应策略后得到的期望回报与真实回报的差值,从而确定优化效果。
4.如权利要求3所述的基于DAG的边缘云的任务卸载方法,其特征在于,通过广义优势估计函数GAE来估计优势函数。
5.如权利要求1所述的基于DAG的边缘云的任务卸载方法,其特征在于,将任务卸载到资源池系统的边缘云节点上运行包括:
通过上传链路无线信道将任务发送到边缘云节点;
已接收到任务的边缘云节点根据当前的运行情况和可用资源执行任务;
将任务的执行结果输出返回本地系统。
6.如权利要求1所述的基于DAG的边缘云的任务卸载方法,其特征在于,所述资源池系统配置多个异构的边缘云节点,每个边缘云节点配备多个虚拟机,每个虚拟机负责处理不同类型的任务并独占一计算资源。
7.一种基于DAG的边缘云的任务卸载装置,其特征在于,包括:
系统建模模块,用于构建任务卸载场景中的本地系统及资源池系统,采用DAG表示需要完成的任务及任务之间的依赖关系;
任务卸载决策模块,用于分别对任务卸载到资源池系统的边缘云节点的能耗、任务本地运行能耗、系统能耗及系统时延进行建模,分析确定最佳的任务卸载策略;所述任务卸载策略包括将任务卸载到资源池系统的边缘云节点上运行、任务在本地运行;
所述任务卸载决策模块在分析确定最佳的任务卸载策略时,将任务卸载过程建模为马尔科夫决策过程,得到决策模型;将生成的随机DAG数据集中的每张有向无环图的任务的嵌入作为决策模型的输入,决策模型的输出为对每个任务做出的决策以及相应的状态价值函数。
8.如权利要求7所述的基于DAG的边缘云的任务卸载装置,其特征在于,所述任务卸载决策模块采用基于双重注意力的序列到序列的神经网络模型将任务卸载到边缘云节点,以提高资源利用率。
9.一种基于DAG的边缘云的任务卸载设备,其特征在于,包括:存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任意一项所述的基于DAG的边缘云的任务卸载方法中的步骤。
10.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任意一项所述的基于DAG的边缘云的任务卸载方法中的步骤。
CN202311283962.8A 2023-10-07 2023-10-07 基于dag的边缘云的任务卸载方法、装置及设备 Pending CN117331693A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311283962.8A CN117331693A (zh) 2023-10-07 2023-10-07 基于dag的边缘云的任务卸载方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311283962.8A CN117331693A (zh) 2023-10-07 2023-10-07 基于dag的边缘云的任务卸载方法、装置及设备

Publications (1)

Publication Number Publication Date
CN117331693A true CN117331693A (zh) 2024-01-02

Family

ID=89278599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311283962.8A Pending CN117331693A (zh) 2023-10-07 2023-10-07 基于dag的边缘云的任务卸载方法、装置及设备

Country Status (1)

Country Link
CN (1) CN117331693A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648174A (zh) * 2024-01-29 2024-03-05 华北电力大学 基于人工智能的云计算异构任务调度和容器管理方法
CN118113367A (zh) * 2024-01-18 2024-05-31 天津大学 一种基于超图分区的算力网络任务卸载的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118113367A (zh) * 2024-01-18 2024-05-31 天津大学 一种基于超图分区的算力网络任务卸载的方法
CN117648174A (zh) * 2024-01-29 2024-03-05 华北电力大学 基于人工智能的云计算异构任务调度和容器管理方法
CN117648174B (zh) * 2024-01-29 2024-04-05 华北电力大学 基于人工智能的云计算异构任务调度和容器管理方法

Similar Documents

Publication Publication Date Title
CN111756812B (zh) 一种能耗感知的边云协同动态卸载调度方法
US11989647B2 (en) Self-learning scheduler for application orchestration on shared compute cluster
CN117331693A (zh) 基于dag的边缘云的任务卸载方法、装置及设备
WO2022171066A1 (zh) 基于物联网设备的任务分配方法、网络训练方法及装置
CN113867843B (zh) 一种基于深度强化学习的移动边缘计算任务卸载方法
CN114490057B (zh) 一种基于深度强化学习的mec已卸载任务资源分配方法
CN115190033B (zh) 一种基于强化学习的云边融合网络任务卸载方法
CN116069512B (zh) 一种基于强化学习的Serverless高效资源分配方法及系统
CN116009990B (zh) 基于宽注意力机制的云边协同元强化学习计算卸载方法
CN112732444A (zh) 一种面向分布式机器学习的数据划分方法
CN114860337B (zh) 一种基于元强化学习算法的计算卸载方法
CN111049903A (zh) 一种基于应用感知预测的边缘网络负载分配算法
CN113641445B (zh) 基于深度确定性策略的云资源自适应配置方法及系统
CN116755882A (zh) 一种边缘计算中具有依赖关系任务的计算卸载方法及系统
CN115033359A (zh) 一种基于时延控制的物联代理多任务调度方法和系统
CN115016938A (zh) 一种基于强化学习的计算图自动划分方法
KR20240105337A (ko) 클러스터 컴퓨팅 시스템에서의 리소스 할당 방법 및 장치
CN113741999B (zh) 一种基于移动边缘计算的面向依赖型任务卸载方法及装置
CN113608855B (zh) 一种边缘计算中服务功能链放置的强化学习方法
CN118193209A (zh) 一种基于阶段性策略梯度的预测式云平台资源调度方法
CN112862083B (zh) 一种边缘环境下的深度神经网络推断方法及装置
CN113190342A (zh) 用于云-边协同网络的多应用细粒度卸载的方法与系统架构
CN117202264A (zh) Mec环境中面向5g网络切片的计算卸载方法
CN117436485A (zh) 基于权衡时延和精度的多退出点的端-边-云协同系统及方法
CN116451585A (zh) 基于目标检测模型的自适应实时学习任务调度方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination