一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

异构边缘计算中卸载DAG任务的计算资源分配方法与流程

2021-10-24 09:07:00 来源:中国专利 TAG:计算 卸载 边缘 分配 异构

异构边缘计算中卸载dag任务的计算资源分配方法
技术领域
1.本发明涉及移动计算和物联网应用处理技术领域,特别涉及一种适用于异构边缘计算环境中卸载dag任务的计算资源分配的方法。


背景技术:

2.随着智能移动设备的普及,各种复杂移动应用蓬勃发展。诸如像自动驾驶、姿态识别、增强现实等应用程序,它们内部由任务之间的依赖约束形成有向无环图(directed acyclic graph,dag)的逻辑结构。这类应用通常都既有大量资源消耗需求,又有时延敏感要求。利用计算卸载技术,部署在网络边缘的计算设备能有效地为这些移动设备分配计算资源,改善应用执行的用户体验。
3.当前,在可实施的多用户dag任务卸载策略方面,现有工作从应用的平均时延、通信带宽分配、通信吞吐量等方面为多用户卸载dag任务提出了不同优化目标的任务调度策略。例如:中国专利文献cn112380008a公开了一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法,其考虑系统的能耗和延迟把计算卸载看作一个约束多目标优化问题(cmop),然后通过改进的nsga
‑ⅱ
算法来解决cmop。已有的研究dag任务计算卸载的工作,在面对多用户竞争计算资源时,都只根据用户卸载请求的简单优先级为不同用户的dag任务分配计算资源,并未考虑服务供给方(边缘计算设备)和服务使用方(智能移动设备)在资源分配中的效用因素。
4.实际上,由于边缘计算设备分布部署在地理位置不同的网络边缘,它们即便去处理同一个任务也可能因各个设备自身的特性以及所处地理位置的差异,而产生不同的执行消耗。此外,因应用的任务自身计算负载和对资源消耗的差异性,同一个边缘计算设备在执行各个应用的不同任务时也会产生不同的执行消耗。目前已经有一些关于移动应用和边缘计算设备之间计算资源和通信资源分配问题的研究,但这些研究通常只考虑移动应用是由一些独立的计算任务构成,即任务之间没有依赖约束,这些方法和优化方案都无法直接应用到由dag任务图构成的移动应用上。


技术实现要素:

5.本发明的目的是提供一种异构边缘计算中卸载dag任务的计算资源分配方法,通过匹配合适的边缘计算设备、缩短应用的平均处理时间,提高异构边缘计算网络的运行效率,有效降低移动设备利用边缘计算设备资源卸载处理dag任务的执行消耗。
6.为了实现上述目的,本发明采用如下技术方案:一种异构边缘计算中dag任务计算卸载的计算资源分配方法,在所构建的异构边缘计算网络中,由协同器实时收集能够互相通信的各边缘计算设备的当前状态信息并发布给其它边缘计算设备;为每个边缘计算设备分配一个指定的服务区域,并令其负责接收自身服务区域内的移动设备发来的计算卸载请求和上传的应用数据以及在其自身服务区域内的移动设备与其他服务区域的边缘计算设备进行数据传输时作为中转站;并按照以下步骤进行dag任务计算卸载的计算资源分配:
7.s1.给每个移动设备要运行的应用n分别增加一个入口伪节点t
n0
和一个出口伪节点t
ni

8.s2.移动设备向其所在服务区域的边缘计算设备发送应用数据;
9.s3.当应用数据到达时,边缘计算设备根据上传的应用数据确定各个任务的b

level优先级;
10.s4.边缘计算设备为已到达自己的每个不同卸载请求构造一个任务缓存列表,并在每个缓存列表内将相应应用的任务按照b

level降序排列;
11.s5.边缘计算设备给缓存列表中的每个任务分配一个最迟完成时间
12.s6.协同器从所有边缘计算设备的任务缓存列表集合中找出就绪任务,并把就绪任务映射到一个按照最迟完成时间升序排列的队列q
au
中;
13.s7.从队列q
au
中取出队首任务t
ni
,任务t
ni
向协同器发布其自身的代码解析信息,所述代码解析信息包括关联的依赖约束、依附的输入/输出数据及计算负载量;
14.s8.边缘计算设备收到任务t
ni
发布的代码解析信息后,根据自身当前的工作负荷量以及要传输给任务t
ni
的数据到达情况估算出任务t
ni
在其上能开始执行的时间和估计完成时间
15.s9.边缘计算设备向协同器发送执行请求其中,是该边缘计算设备估计执行完任务t
ni
需要的执行时间,需要的执行时间,表示由该边缘计算设备在估计完成时间之前执行完成任务t
ni
所产生的消耗;
16.s10.判断任务t
ni
在发送执行请求的边缘计算设备上执行时是否满足条件:并根据判断结果构建执行请求集合;
17.s11.计算执行请求集合中各执行请求的权值其中,根据各执行请求的权值大小,将任务t
ni
调度分配到合适的边缘计算设备上;
18.s12.再次执行步骤s7

s11,直至队列q
au
中所有任务都分配完毕;
19.s13.当有一个新应用到达或者有一个任务在网络系统中完成时,再次执行步骤s6

s12,直到没有新应用到达且网络中且已到达的所有任务都已执行完时结束。
20.其中,在步骤s3中,任务的b

level优先级按下式(1)计算:
[0021][0022]
式(1)中,t
nj
是任务t
ni
的直接后继任务,d
nij
是任务t
ni
要传输给任务t
nj
的数据传输量,是网络中所有边缘计算设备之间的平均数据传输率,δ
ni
是任务t
ni
的计算负载量,是网络中所有边缘计算设备的平均处理能力,i是应用n的任务节点数,i包括给应用增加的入口伪节点t
n0
和出口伪节点t
ni

[0023]
其中,在步骤s5中:任务的最迟完成时间按照下式(2)计算:
[0024][0025]
式(2)中,l
n
是应用n需要执行完成的时间截止期限,d
nii
是任务t
ni
要传输给出口伪节点t
ni
的数据传输量,是移动设备与所在服务区域的边缘计算设备之间的数据传输率,t
nj
是任务t
ni
的直接后继任务,δ
nj
是任务t
nj
的计算负载量,表示网络中所有边缘计算设备的最大处理能力,代表网络中所有边缘计算设备之间的平均数据传输率。
[0026]
其中,在步骤s8中,按下式(3)计算:
[0027][0028]
式(3)中,r(m)表示将当前时刻所有已经排列在边缘计算设备的计算队列q
m
中的任务全部执行完时所需的时间,t
nj
是t
ni
的前驱任务,是任务t
nj
的完成时间,是由执行完任务t
nj
的边缘计算设备发送输出数据到作为中转站的边缘计算设备上需要的传输时间,x
nj
和x
ni
表示任务t
nj
和t
ni
的调度决策,x
nj
和x
ni
是一个长度为m的一维向量,其中分配变量m表示异构边缘计算网络中的边缘计算设备总数;由下式(4)得出:
[0029][0030]
式(4)中,m、m'、m
n
均表示网络中的边缘计算设备,其满足且m
n
≠m;表示边缘计算设备m将执行入口伪节点t
n0
的子任务t
nj
,d
n0j
表示从移动设备上输出到任务t
nj
的数据传输量,是任务t
nj
的分配变量,且由移动设备输出的数据须经过中转再传输到其它边缘计算设备上,否则表示从出口伪节点t
ni
的前驱任务t
ni
输出的数
据须经过作为中转站的边缘计算设备传输回移动设备,d
nii
表示从出口伪节点t
ni
传回移动设备的数据传输量,且执行前驱任务t
ni
的边缘计算设备为移动设备所处服务区域外的其它边缘计算设备,否则
[0031]
进一步来说,在式(3)中,r(m)由下式(5)得出:
[0032][0033]
式(5)中,t
n

i

表示已经在计算队列q
m
中等待的任务,其对应于应用n'的第i'个任务。
[0034]
其中,在步骤s8中,任务t
ni
的估计完成时间由下式(6)得出:
[0035][0036]
式(6)中,是边缘计算设备估计执行完任务t
ni
需要的执行时间,由下式(7)得出:
[0037][0038]
其中,δ
ni
是任务t
ni
的计算负载量,ρ
m
是边缘计算设备的处理能力。
[0039]
进一步地,在步骤s10中,由任务t
ni
判断其在边缘计算设备上执行时是否满足条件若某边缘计算设备满足该条件,则将该边缘计算设备的执行请求加入执行请求集合;若某边缘技算设备不满足该条件,则忽略该边缘计算设备的执行请求;若所有的边缘计算设备都不满足该条件,则将所有边缘计算设备的执行请求都加入执行请求集合。
[0040]
进一步地,在步骤s11中,先将所有执行请求的权值非降序排列,再将任务t
ni
调度分配到执行请求权值排在首位的边缘计算设备上。
[0041]
或者,在步骤s11中,若执行请求集合中只有一个执行请求,则直接将任务t
ni
调度分配到该执行请求所对应的边缘计算设备上;若执行请求集合中有多个满足条件的执行请求且其中执行请求权值最小的执行请求所对应的边缘设备将作为执行任务t
ni
的目标设备,并记录执行任务的消耗
[0042]
本发明让移动设备将dag任务卸载上传到其所处服务区域的边缘计算设备上(该边缘计算设备能为处于其服务区域内的移动设备提供无线访问服务),并在边缘计算设备上为卸载的每个应用构造一个缓冲队列,队列中dag任务按b

level降序排列。由网络中的协同器(例如可以是移动宏基站)从所有异构边缘计算设备上构造的缓冲队列中取出各个队首的就绪任务实现对dag任务的解耦合,并把这些就绪任务映射到一个按最迟完成时间升序排列的队列中,再将队列中的任务按照排序逐个取出,由边缘计算设备根据自身状况估算出任务在其上能开始执行的时间、估计完成时间和执行消耗并发出执行请求。通过分析各边缘计算设备发出的执行请求且在此基础上构建执行请求集合、计算执行请求权值,并根据执行请求的权值大小来为dag任务分配合适的计算资源,通过上述方法能够实现异
构边缘计算网络中计算资源更合理、高效地分配,进而缩短应用的平均处理时间,提高异构边缘计算网络的运行效率,降低应用执行消耗。
附图说明
[0043]
图1为服务于移动设备的边缘计算设备构成的分布式异构边缘计算网络的示意图;
[0044]
图2为任务计算卸载的网络拓扑结构示意图;
[0045]
图3为实施例所涉方法与其它现有方法在不同的应用卸载到达率下平均执行消耗的比较图;
[0046]
图4为实施例所涉方法与其它现有方法在不同的应用卸载到达率下平均应用执行跨度(平均完成时间)的比较图;
[0047]
图5为实施例所涉方法与其它现有方法在不同的应用卸载到达率下平均应用截止期限违背率的比较图。
具体实施方式
[0048]
为了便于本领域技术人员更好地理解本发明相对于现有技术的改进之处,下面结合附图和实施例对本发明作进一步的描述。
[0049]
在本实施例中,异构边缘计算设备构成的网络中存在一个协同器(如可以是移动通信宏基站)能实时收集各边缘计算设备的当前状态信息并发布给其它的边缘计算设备。系统中所有边缘计算设备都能互相通信并共同组合成一个分布式异构计算网络,如附图1所示。每个边缘计算设备都为一个指定服务区域的移动设备(也可以理解为移动用户)提供无线通信服务,即在一个服务区域内各种移动设备能够访问该边缘计算设备,每个边缘计算设备负责接收自身服务区域内的移动设备发来的计算卸载请求和上传的应用数据,并在其自身服务区域内的移动设备与其他服务区域的边缘计算设备进行数据传输时作为中转站。在附图1的基础上,本实施例使用开源的云计算仿真器cloudsim搭建了一个异构边缘计算系统仿真平台。实验环境中配置四个边缘设备,各个边缘计算设备之间的传输延迟为17.77ns/byte的802.11n协议。移动设备和提供无线信号覆盖的边缘设备之间的传输延迟为7.81ns/byte的802.11ac协议。边缘计算设备和各自覆盖区域内的移动用户之间的平均传输率b由表达式(440
×
6 103)/7计算,即520mbps。每个边缘计算设备允许同时服务的移动应用数设定成30,并且各个边缘计算设备的处理能力列在表1中。
[0050]
表1 边缘计算设备的处理能力
[0051]
[0052]
在本实施例中,使用四种开源的科学工作流结构模拟移动应用的dag结构。表2给出了实施例中移动应用的节点数设定。一个应用中任务的计算负载量使用记录在dax文件中runtime元素项的值表示。具体地,如果原始的runtime值超出[100,500]的范围,则把runtime值分别设成100和500;否则,直接使用记录在dax文件中的原始runtime值,不需要变化。另外,定义一个基准通信时间ct,该值可由记录在dax文件中size元素项的值表示。具体地,如果超出[10
‑3,10
‑2]的范围,则把ct值分别设置成10
‑3和10
‑2;否则让使用设置依赖任务之间的数据传输量的大小,并且与入口出口两个伪节点关联的数据传输量也设置成
[0053]
表2移动应用参数
[0054][0055]
另外,本实施例中以服从λ的泊松分布间隔随机地从四种类型的工作流中选出200个应用,模拟移动用户释放的卸载请求,并让各个卸载请求发出的位置随机均匀地设定在四个边缘设备所覆盖的服务区域内。此外,为每个应用n定义一个基准执行跨度m
n
。为了计算m
n
,实施例中假设把应用n的每个任务调度到不同边缘计算设备上,并用边缘计算设备的平均处理能力值设定这些设备的处理能力,同时把应用n内所有传输数据量都当成0考虑。由此,应用n的截止期限可以用表达式l
n
=r
n
df
·
m
n
计算。需要提前说明的是,在实际应用时,边缘设备的执行消耗可以根据该边缘设备的算力、能耗、硬件消耗等参数指标来综合确定,也可以根据实际情况需要为不同的参数指标设定不同的权重值,再综合计算该边缘计算设备的执行消耗。本领域技术人员应当明白,如何确定执行消耗值并非本技术相对于现有技术的改进之处,故对于执行消耗的计算方式在此不作赘述。为简化表述,在本实施例中,给每个选出的应用中的每个任务分别使用均匀分布的方式产生四个边缘设备的执行消耗,具体地,为每个任务从[1,2]之间产生四个随机小数分别作为每个边缘设备对应于该任务的执行消耗。为了评测的公平性,在给应用的任务产生完执行消耗后将其存入文件中作为实施例的数据源。对不同的计算资源分配方案进行评测时,每种方案都从该文件数据源读入这些应用。
[0056]
本实施例中,从移动设备的观点看,每一个移动设备在进行任务卸载时都有相同的网络拓扑结构,附图2给出了每一个移动设备在异构边缘计算设备构成的分布式网络中进行任务卸载时需面对的网络拓扑结构。如果移动设备需要边缘计算设备处理它的应用,必须将一些应用数据从移动设备自身卸载到边缘计算设备上。当应用的所有任务在网络中执行完后,还需要把计算的结果传回移动设备。
[0057]
在上述异构边缘计算网络中实现卸载dag任务的计算资源分配主要包括以下步骤:
[0058]
1、给每个移动设备要运行的应用n分别增加一个入口伪节点t
n0
和一个出口伪节点t
ni
;其中,t
n0
的出边表示应用程序执行时需要从移动设备上卸载的应用数据的大小,t
ni
的入边表示要传回移动设备的结果数据的大小。
[0059]
2、移动设备n向提供无线通信服务的边缘计算设备m
n
发送应用数据;
[0060]
3、边缘计算设备m
n
根据移动设备n上传的应用数据确定各个任务的b

level优先级;任务的b

level优先级按下式(1)计算:
[0061][0062]
上式(1)中,t
nj
是任务t
ni
的直接后继任务,d
nij
是任务t
ni
要传输给任务t
nj
的数据传输量,是网络中所有边缘计算设备之间的平均数据传输率,δ
ni
是任务t
ni
的计算负载量,是网络中所有边缘计算设备的平均处理能力,i是应用n的任务节点数,i包括给应用增加的入口伪节点t
n0
和出口伪节点t
ni

[0063]
4、边缘计算设备m
n
为已到达自己的每个不同卸载请求构造一个任务缓存列表ζ
n
,并在每个缓存列表内将相应应用的任务按照b

level降序排列;
[0064]
5、边缘计算设备m
n
给列表ζ
n
中的每个任务分配一个最迟完成时间任务的最迟完成时间按照下式(2)计算:
[0065][0066]
上式(2)中,l
n
是应用n需要执行完成的时间截止期限,d
nii
是任务t
ni
要传输给出口伪节点t
ni
的数据传输量,是移动设备与所在服务区域的边缘计算设备之间的数据传输率,t
nj
是任务t
ni
的直接后继任务,δ
nj
是任务t
nj
的计算负载量,表示网络中所有边缘计算设备的最大处理能力,代表网络中所有边缘计算设备之间的平均数据传输率。
[0067]
6、协同器从所有边缘计算设备维护的任务列表集合中找出就绪任务,并把就绪任务映射到一个按照最迟完成时间升序排列的队列q
au
中;
[0068]
7、从队列q
au
中取出队首任务t
ni
,并让任务t
ni
向协同器发布自己关联的依赖约束、依附的输入/输出数据以及自己的计算负载量等代码解析信息;
[0069]
8、每个边缘设备m收到任务t
ni
发布的代码解析信息后,根据自身当前的工作负荷量以及要传输给任务t
ni
的数据到达情况估算出任务t
ni
在其上能开始执行的时间和估计完成的时间按下式(3)计算:
[0070][0071]
上式(3)中,t
nj
是t
ni
的前驱任务,是任务t
nj
的完成时间,是由执行完任务t
nj
的边缘计算设备发送输出数据到作为中转站的边缘计算设备上需要的传输时间,
x
nj
和x
ni
表示任务t
nj
和t
ni
的调度决策,x
nj
和x
ni
是一个长度为m的一维向量,其中分配变量m表示异构边缘计算网络中的边缘计算设备总数;由下式(4)得出:
[0072][0073]
式(4)中,m、m'、m
n
均表示网络中的边缘计算设备,其满足且m
n
≠m;表示边缘计算设备m将执行入口伪节点t
n0
的子任务t
nj
,d
n0j
表示从移动设备上输出到任务t
nj
的数据传输量,是任务t
nj
的分配变量,且由移动设备输出的数据须经过中转再传输到其它边缘计算设备上,否则表示从出口伪节点t
ni
的前驱任务t
ni
输出的数据须经过作为中转站的边缘计算设备传输回移动设备,d
nii
表示从出口伪节点t
ni
传回移动设备的数据传输量,且执行前驱任务t
ni
的边缘计算设备为移动设备所处服务区域外的其它边缘计算设备,否则
[0074]
式(3)中的r(m)表示将当前时刻所有已经排列在边缘计算设备的计算队列q
m
中的任务全部执行完时所需的时间;r(m)由下式(5)得出:
[0075][0076]
在式(5)中,t
n

i

表示已经在计算队列q
m
中等待的任务,其对应于应用n'的第i'个任务。应当指出的是,应用n'也可能与应用n不是同一个移动应用。
[0077]
任务t
ni
的估计完成时间由下式(6)得出:
[0078][0079]
在式(6)中,是边缘计算设备估计执行完任务t
ni
需要的执行时间,而由下式(7)得出:
[0080][0081]
其中,δ
ni
是任务t
ni
的计算负载量,ρ
m
是边缘计算设备的处理能力。
[0082]
9、每个边缘计算设备根据步骤8的计算结果向协同器发送一个执行请求
[0083]
10、判断任务t
ni
在发送执行请求的边缘计算设备上执行时是否满足条件:并根据判断结果构建执行请求集合。例如可以由任务t
ni
判断其在边缘计算设备上执行时是否满足条件若某边缘计算设备满足该条件,则将该边缘计算设备的执行请求加入执行请求集合;若某边缘技术设备不满足该条件,则忽略该边缘计算设备的执行请求;若所有的边缘计算设备都不满足该条件,则将所有边缘计算设备的执行请求都加入执行请求集合。
[0084]
11、计算执行请求集合中各执行请求的权值其中,根据各执行请求的权值大小,将任务t
ni
调度分配到合适的边缘计算设备上:例如可以先将所有执行请求的权值非降序排列,再将任务t
ni
调度分配到执行请求权值排在首位的边缘计算设备上。或者,当执行请求集合中只有一个执行请求时,直接将任务t
ni
调度分配到该执行请求所对应的边缘计算设备上;而若执行请求集合中有多个满足条件的执行请求且其中执行请求权值最小的执行请求对应的边缘设备将作为执行任务t
ni
的目标设备,并记录执行任务的消耗
[0085]
12、再次执行步骤7

11,直至队列q
au
中所有任务都分配完毕;
[0086]
13、当有一个新应用到达或者有一个任务在网络系统中完成时,再次触发执行步骤6

12,直到没有新应用到达且网络系统中已到达的所有任务都已执行完时结束。
[0087]
附图3、4、5示出了上述方法(对应于图中aute)与其它目前相对较为先进的方法(ondoc、selfish、itags)在同一异构边缘计算网络中的测试结果。结果表明,上述实施例所涉计算资源分配方法在应用的平均执行消耗、平均执行跨度和平均截止期限违背率方面均表现出较佳的效果,综合来看,实施例所涉方法的总体测试结果要明显优于其它方法。由此说明本实施例所涉方法能够在异构边缘计算网络中实现计算资源更合理、高效地分配,并缩短应用的平均处理时间,提高异构边缘计算网络的运行效率,降低应用执行消耗。
[0088]
上述实施例为本发明较佳的实现方案,除此之外,本发明还可以其它方式实现,在不脱离本技术方案构思的前提下任何显而易见的替换均在本发明的保护范围之内。
[0089]
为了让本领域普通技术人员更方便地理解本发明相对于现有技术的改进之处,本发明的一些附图和描述已经被简化,并且为了清楚起见,本技术文件还省略了一些其它元素,本领域普通技术人员应该意识到这些省略的元素也可构成本发明的内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜