CN114327526B - 一种移动边缘计算环境中的任务卸载方法及其应用 - Google Patents
一种移动边缘计算环境中的任务卸载方法及其应用 Download PDFInfo
- Publication number
- CN114327526B CN114327526B CN202210006091.4A CN202210006091A CN114327526B CN 114327526 B CN114327526 B CN 114327526B CN 202210006091 A CN202210006091 A CN 202210006091A CN 114327526 B CN114327526 B CN 114327526B
- Authority
- CN
- China
- Prior art keywords
- energy consumption
- task
- edge
- block
- node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000005265 energy consumption Methods 0.000 claims abstract description 287
- 230000008569 process Effects 0.000 claims abstract description 52
- 238000012546 transfer Methods 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000005457 optimization Methods 0.000 claims abstract description 11
- 101100183191 Arabidopsis thaliana ETG1 gene Proteins 0.000 claims abstract description 5
- 101100120176 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FKS1 gene Proteins 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims description 90
- 238000004364 calculation method Methods 0.000 claims description 62
- 238000004422 calculation algorithm Methods 0.000 claims description 33
- 238000010586 diagram Methods 0.000 claims description 27
- 239000002243 precursor Substances 0.000 claims description 9
- 238000009960 carding Methods 0.000 claims 1
- 238000002474 experimental method Methods 0.000 description 14
- 238000012795 verification Methods 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000001149 cognitive effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013400 design of experiment Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于边缘计算领域,具体涉及一种移动边缘计算环境中的任务卸载方法及其应用。该方法包括如下步骤:S1:将完整的工作任务划分为不同的环节,进而构建表征工作任务的工作流依赖图WDG;S2:确定WDG中各个任务结点的属性集;S3:创建表征工作任务的能耗传递全图ETG;S4:将不可卸载的任务结点对应的入度边和出度边删除,生成简化能耗传递图ETG1;S5:根据ETG1生成对应的线性能耗传递图ETG2;S6:以满足时间约束且最小化终端的设备能耗为优化目标,得到具有最小化设备能耗的路径,并进行任务卸载。本发明解决了现有MEC环境无法完成对复杂的非线性任务进行计算任务卸载,且容易造成任务处理过程的能耗升高,实时性降低的问题。
Description
技术领域
本发明属于边缘计算领域,具体涉及一种移动边缘计算环境中的任务卸载方法及其应用。
背景技术
随着网络等线上购物方式的流行,物流运输的市场规模也在不断扩大,物流企业需要在规定时间内完成订单的配送工作。在整体配送流程中,将货物从站点交付用户手中的过程称为“最后一公里”环节。最后一公里配送环节由于需要耗费大量的人力成本,因此占据了运输总时间和配送总成本的30%和50%。
目前,很多企业正在开发利用无人机进行货物配送的技术;无人机因其具有灵活部署、成本低廉、高速飞行的特点,在最后一公里配送场景中具有得天独厚的优势。在无人机配送场景下,无人机需要运行大量人工智能应用,例如动态路径规划,飞行中智能避障和通过认知计算方式进行收货人身份验证等,以保证配送的准确高效和配送过程的安全可靠。然而受限于无人机终端的计算能力和电池容量,其无法高效的执行此类计算密集型的人工智能应用。同时,诸如目标检测,姿势识别,人脸识别等人工智能应用需要对大量数据进行实时处理。
为了解决无人机算力有限的弊端,部分技术人员拟通过云计算代替无人机处理复杂的计算任务。但是即使在成熟的云计算环境下,由于无人机总在进行高速的位置变换,无人机终端设备受限于距离过远和网络带宽有限的弊端,容易出现不可预知的网络拥塞和抖动,也无法满足无人机配送过程中各类人工智能应用的实时性要求。
近年来,移动边缘计算(MEC,Mobile Edge Computing)环境因其具有低延时、分布式、高效率等特性被广泛应用于各类场景中,延迟时间进一步缩短的同时增加了覆盖范围。移动边缘计算将边缘服务器建立在贴近终端设备的地方,通过LAN和WLAN方式进行数据的传输,使得大数据量和计算量的任务卸载到高性能的边缘服务器上执行具有可行性。移动边缘计算通过将计算资源下沉至更靠近终端设备,使得服务更贴近用户,可以避免网络拥塞,降低时间延迟,这可以解决无人机配送过程中各类计算任务的需求。将无人机需要处理的复杂的计算任务卸载到附近边缘服务器,可以快速处理人工智能应用并优化无人机终端设备的能耗。
在无人机配送过程中,对于计算量较大的任务,在终端设备上处理需要付出巨大的开销并且可能无法满足人工智能应用的实时性要求。因此这些任务需要在边缘服务器中完成。但是,也并不是所有的计算任务都应当卸载到边缘服务器中处理。例如,对于数据量较大而计算量较小的任务(如特征提取),卸载到边缘服务器上执行反而会增加不必要的传输时间和传输能耗,同样无法满足要求。综上,采用移动边缘计算处理无人机配送过程中各类复杂计算任务的一个前提是要制定合理的卸载策略,将配送过程中的各类计算任务合理分配到边缘服务器和本地进行处理。但是现有技术中还没有很好的计算任务卸载方法可以实现该任务分配过程。
现有的对MEC环境中计算卸载的研究主要集中于独立计算任务的卸载问题,这些研究大多仅考虑了简单任务依赖关系,对于任务间数据依赖关系或数据传输因素考虑较少,因此无法应用到无人机配送过程这一高度复杂的非线性计算处理任务中。例如现有的启发式算法或穷举方法的效率较低,而且还无法保证得到算法效率与结果均最优的卸载方案。同时,现有的方法都没有考虑算法执行所需要付出的时间开销,在实时性要求较高的人工智能应用中无法适用。此外,移动边缘计算环境中各类计算资源与网络环境均非常复杂,不合理的计算任务卸载决策会导致终端能耗与任务响应时间过高等问题。
发明内容
为了解决现有MEC环境无法完成对复杂的非线性任务进行计算任务卸载,且容易造成任务处理过程的能耗升高,实时性降低的问题;本发明提供一种移动边缘计算环境中的任务卸载方法及其应用。
本发明采用以下技术方案实现:
一种移动边缘计算环境中的任务卸载方法,该方法用于在移动边缘计算环境中,以优化终端的设备能耗为目标,确定终端的工作任务中应当卸载到边缘服务器上执行的特定计算任务环节。
该计算任务卸载方法包括如下步骤:
S1:对终端的工作任务按照工作流程进行梳理,将完整的工作任务划分为不同的环节,并根据不同环节间的依赖关系,以各个环节为任务结点Ti构建表征工作任务的工作流依赖图WDG。
S2:确定工作流依赖图中各个任务结点的属性集;属性集的特征数据包括传输能耗xi、空闲能耗yi、负载能耗zi、综合能耗Costi和卸载标志flagi。
S3:基于工作流依赖图创建表征工作任务各环节间能耗传递关系的能耗传递全图ETG。其中,能耗传递全图的创建过程如下:
S31:根据工作流依赖图确定其中包含的块B,块指工作流依赖图中可以并行执行的一组子分支,各个子分支在完成一个任务后开始执行,并且合并触发另一个任务。
S32:随机选择工作流依赖图中的一条线性路径作为工作流依赖图的主枝MB,将工作流依赖图中除主枝之外的其余任务结点构成的依赖关系路径作为分支SB。
S33:根据确定的块、主枝和分支,将工作流依赖图中包含的各个任务结点间的权重边的类型分为四种,分别为入块边、出块边、过块边和普通边。
S34:以任意两个任务结点间的路径能耗作为任务结点间的边权重,确定工作流依赖图中包含的所有四类权重边的权重值;进而根据各任务结点属性集得到包含所有路径的能耗传递全图。
S4:查询能耗传递全图中所有卸载标志为“不可卸载”的任务结点;然后将所有“不可卸载”的任务结点对应的入度边和出度边的边权重从能耗传递全图中删除,生成简化能耗传递图ETG1。
S5:根据简化能耗传递图生成对应的线性能耗传递图ETG2。线性能耗传递图的生成方法如下:
S51:判断简化能耗传递图中的传递路径是否为呈单向线性,是则以当前的简化能耗传递图作为线性能耗传递图。
S52:当简化能耗传递图中的传递路径并不呈单向线性时,再确定简化能耗传递图中块的数量。根据不同的块将简化能耗传递图中的分枝进一步划分成不同层级的子分支。
S53:采用如步骤S3的方法对划分出的各个层级的子分枝的边权重进行更新。
S54:然将各层级子分支的边权重不断反向迭代,叠加到前一个层级的子分支中对应的出块边上,直到整个简化能耗传递图只包含主枝路径,进而得到等价的线性能耗传递图。
S6:以满足时间约束且最小化终端的设备能耗为优化目标,得到具有最小化设备能耗的路径,并进行任务卸载;路径搜索过程如下:
S61:采用迪杰斯特拉(dijkstra)算法对线性能耗传递图进行搜索,得到最小化设备能耗的最短路径。
S62:判断上步骤的最短路径是否满足时间约束:
(1)是则结束搜索,将上步骤的最短路径作为所需的最优路径。
(2)否则返回上步骤S61,搜索到次短路径,直到获得满足时间约束的路径,将其作为所需的最优路径;
S63:将上步骤确定的最优路径中包含的所有任务结点表征的环节卸载到边缘服务器上进行执行。
作为本发明进一步的改进,步骤S2中,传输能耗xi指任务结点Ti卸载到边缘服务器上执行时,终端在数据传输过程产生的能耗;传输能耗xi的计算公式如下:
上式中,Comm(Ti,Tj)表示任务结点Ti和Tj之间的数据传输量,Ti是Tj的直接前驱任务结点;Bandwidth表示数据传输的速率;Ptrans是终端执行数据传输的单位时间传输能耗。
空闲能耗yi指任务结点Ti卸载到边缘服务器上执行时,终端在空闲状态下产生的能耗;空闲能耗yi的计算公式如下:
上式中,lengthi表示任务结点Ti的工作量;fedge表示边缘服务器的任务处理速度;Pidle表示终端的单位时间空闲能耗。
负载能耗zi指任务结点Ti在终端上执行时,终端的执行计算任务时产生的能耗;负载能耗zi的计算公式如下:
上式中,fend是终端的任务处理速度;Pend是终端执行任务时单位时间负载能耗。
作为本发明进一步的改进,步骤S2中,卸载标志flagi用于表征任务结点Ti是否可以卸载到边缘服务器上执行,当某个任结点“可卸载”到边缘服务器上执行时,则将该任务结点的卸载标志flagi置为0,否则将该任务结点的卸载标志置为1。
其中,不同卸载状态下的综合能耗Ei的计算方法如下:
作为本发明进一步的改进,步骤S2中,综合能耗Ei表示某个任务结点Ti执行时终端产生的总能耗;不同任务结点在不同执行状态下对应的综合能耗值不同:
(1)当任务结点Ti卸载到边缘服务器上执行,且存在数据传输时,综合能耗Ei由传输能耗xi和空闲能耗yi组成。
(2)当任务结点Ti在终端上执行,且存在数据传输时,综合能耗Ei由传输能耗xi和负载能耗zi组成。
(3)当任务结点执行过程中不存在数据传输时,则综合能耗Ei定义为Ti的空闲能耗yi或负载能耗zi。
作为本发明进一步的改进,步骤S33中,入块边指起始点为块前的任务结点,结束点为块内的任务结点的边。出块边指起始点为块内的任务结点,结束点为块后的任务结点的边。过块边指起始点为块前的任务结点,结束点为块后的任务结点。普通边指连接的两个任务结点均为完全有序的任务结点的边。
作为本发明进一步的改进,步骤S34中,对于工作流依赖图WDG中包含的所有普通边和入块边,定义各边的起始点为Ti,结束点为Tj;则各边的边权重w(Ti,Tj)采用如下的公式计算:
其中,yj表示任务结点Tj的空闲能耗;xj表示任务结点Tj的传输能耗;xi+1表示以任务结点Ti为前驱结点的任务结点Ti+1的传输能耗,任务节点Ti+1在终端执行,不卸载到边缘服务器;Tk表示任务结点的中间结点;表示任务结点Ti和Tj间所有中间结点的负载能耗。
作为本发明进一步的改进,步骤S34中,对于工作流依赖图WDG中包含的所有出块边和过块边,定义各边的起始点为Ti,结束点为Tj;则各边的边权重w<Ti,Tj>采用如下的公式计算:
其中,表示块的子分支上的任务结点的最优计算卸载能耗。
作为本发明进一步的改进,步骤S6中,设定的优化目标的表达式如下:
其中,表示任务执行所需的时间预测,TimeLimit表示设置的工作流最后期限约束;设定的最终优化目标是在任务执行所需的时间预测/>满足时间约束Deadline的前提下,找到所有任务执行所消耗的能量之和的最小值MinEC。
作为本发明进一步的改进,当搜索出的所有路径均无法满足时间约束时,则将所有任务结点对应的计算任务均在终端本地完成,不卸载到边缘服务器上。
本发明还包括一种移动边缘计算环境中的任务卸载方法的应用,该计算任务卸载方法应用于无人机配送中,用于在保证满足各类计算任务的截止时间的前提下,将配送过程的全部计算任务分别分配到无人机本地以及边缘服务器中执行;进而达到在完成配送任务的同时使得无人机运行能耗最小化的目的。
本发明提供的技术方案,具有如下有益效果:
本发明提供的方法首先构建了普通任务对应的工作流依赖图,然后根据执行各个任务过程的能耗情况建立对应的能耗传递图,最后对能耗传递图进行线性等价处理,进而采用迪杰斯特拉算法求解出,满足时间约束的最优能耗卸载策略。采用本发明提供的计算任务卸载方法得出的卸载策略对终端中的各项计算任务从终端卸载到边缘服务器上执行,既可以保证计算任务处理结果的实时性,保证连续任务执行过程的连贯性;还可以大幅降低终端设备在计算任务处理过程的能耗。
本发明找到处理各类型计算任务卸载策略的通用方法,提供的方法不仅适用于寻找普通的线性计算任务的最优能耗卸载策略,还可以应用于寻找具有多个分支、或是多层分支的复杂任务的最优能耗卸载策略。具有很高的实用价值,可以处理移动边缘计算场景下的各种不同的计算任务的卸载决策问题。
本发明提供的移动边缘计算环境中的任务卸载方法尤其适合用于处理无人机配送过程中各个计算任务的卸载分配问题。采用本发明得出的最优能耗卸载策略进行任务分配之后,无人机可以仅在本地执行少量的简单计算任务和部分不可卸载的计算任务,而将大量的高计算量的计算任务卸载到边缘服务器中运行。因此,这大大降低了无人机的运行能耗,使得单架次无人机可以承担更多的配送任务,降低配送的时间成本和经济成本。同时该方法还保证了无人机物流配送过程中各项计算任务的处理速率,提高了不同运算过程的数据传递实时性;保证了配送任务执行过程的有效性和连贯性。为了无人机在“最后一公里”配送过程的广泛应用奠定了基础。
附图说明
图1是本发明实施例1中提供的一种移动边缘计算环境中的任务卸载方法的步骤流程图。
图2是本发明实施例1中采用无人机执行物流配送任务的场景示意图。
图3是本发明实施例1中无人机配送过程的工作流程及其任务卸载策略图。
图4是针对图3中的工作流程构建的一个工作流依赖图。
图5是一个线性的工作流依赖图对应的能耗传递图的构建实例。
图6是具有一个块和分支的工作流依赖图对应的能耗传递图的构建实例。
图7是具有一个块的工作流依赖图对应的能耗传递图。
图8是图7中能耗传递图对应的入块边和出块边边权重示例。
图9是从非入块结点开始的入块边构建线性分支能耗传递图的示例。
图10是从入块结点开始的入块边构建线性分支能耗传递图的示例。
图11显示了具有多个独立的块的工作流依赖图的典型示例。
图12显示了在分支中还包括子分支的一种工作流依赖图的典型示例。
图13显示了具有多级分支的工作流依赖图的典型示例。
图14为性能验证实验中在不同截止时间约束条件下,能耗比率与任务卸载比率间的变化曲线。
图15为试验组和对照组中各组策略在不同任务数量条件下的终端设备能耗的对比图。
图16为试验组和对照组中各组策略在不同任务数量条件下的算法运行时间的对比图。
图17本实施例的方法在执行不同规模的线性工作流任务和非线性工作流任务条件下的算法运行时间对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步地详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
本实施例提供一种移动边缘计算环境中的任务卸载方法,该方法用于在移动边缘计算环境中,以优化终端的设备能耗为目标,确定终端的工作任务中应当卸载到边缘服务器上执行的特定计算任务环节。
如图1所示,该计算任务卸载方法包括如下步骤:
S1:对终端的工作任务按照工作流程进行梳理,将完整的工作任务划分为不同的环节,并根据不同环节间的依赖关系,以各个环节为任务结点Ti构建表征工作任务的工作流依赖图WDG。
S2:确定工作流依赖图中各个任务结点的属性集;属性集的特征数据包括传输能耗xi、空闲能耗yi、负载能耗zi、综合能耗Ei和卸载标志flagi。
其中,传输能耗xi指任务结点Ti卸载到边缘服务器上执行时,终端在数据传输过程产生的能耗。传输能耗xi的计算公式如下:
上式中,Comm(Ti,Tj)表示任务结点Ti和Tj之间的数据传输量;Ti是Tj的直接前驱任务结点;Bandwidth表示数据传输的速率;Ptrans表示终端执行数据传输的单位时间传输能耗。
空闲能耗yi指任务结点Ti卸载到边缘服务器上执行时,终端在空闲状态下产生的能耗。空闲能耗yi的计算公式如下:
上式中,lengthi表示任务结点Ti的工作量;fedge表示边缘服务器的任务处理速度;Pidle表示终端的单位时间空闲能耗。
负载能耗zi指任务结点Ti在终端上执行时,终端的执行计算任务时产生的能耗。负载能耗zi的计算公式如下:
上式中,fend是终端的任务处理速度;Pend是终端执行任务时单位时间负载能耗。
卸载标志flagi用于表征任务结点Ti是否可以卸载到边缘服务器上执行,当某个任结点“可卸载”到边缘服务器上执行时,则将该任务结点的卸载标志flagi置为0,否则将该任务结点的卸载标志置为1。
综合能耗Ei表示某个任务结点Ti执行时终端产生的总能耗。不同任务结点在不同执行状态下对应的综合能耗值不同:
(1)当任务结点Ti卸载到边缘服务器上执行,且存在数据传输时,综合能耗Ei由传输能耗xi和空闲能耗yi组成。
(2)当任务结点Ti在终端上执行,且存在数据传输时,综合能耗Ei由传输能耗xi和负载能耗zi组成。
(3)当任务结点执行过程中不存在数据传输时,则综合能耗Ei定义为Ti的空闲能耗yi或负载能耗zi。
具体地,采用如下公式表示不同的卸载状态下的综合能耗Ei:
S3:基于工作流依赖图创建表征工作任务各环节间能耗传递关系的能耗传递全图ETG。其中,能耗传递全图的创建过程如下:
S31:根据工作流依赖图确定其中包含的块B,块指工作流依赖图中可以并行执行的一组子分支,各个子分支在完成一个任务后开始执行,并且合并触发另一个任务。
S32:随机选择工作流依赖图中的一条线性路径作为工作流依赖图的主枝MB,将工作流依赖图中除主枝之外的其余任务结点构成的依赖关系路径作为分支SB。
S33:根据确定的块、主枝和分支,将工作流依赖图中包含的各个任务结点间的权重边的类型分为四种,分别为入块边、出块边、过块边和普通边。
其中,入块边指起始点为块前的任务结点,结束点为块内的任务结点的边。出块边指起始点为块内的任务结点,结束点为块后的任务结点的边。过块边指起始点为块前的任务结点,结束点为块后的任务结点。普通边指连接的两个任务结点均为完全有序的任务结点的边。
S34:以任意两个任务结点间的路径能耗作为任务结点间的边权重,确定工作流依赖图中包含的所有四类权重边的权重值;进而根据各任务结点属性集得到包含所有路径的能耗传递全图。
本实施例中,对于工作流依赖图WDG中包含的所有普通边和入块边,定义各边的起始点为Ti,结束点为Tj;则各边的边权重w(Ti,Tj)采用如下的公式计算:
其中,yj表示任务结点Tj的空闲能耗;xj表示任务结点Tj的传输能耗;xi+1表示以任务结点Ti为前驱结点的任务结点Ti+1的传输能耗,任务节点Ti+1在终端执行,不卸载到边缘服务器;Tk表示任务结点的中间结点;表示任务结点Ti和Tj间所有中间结点的负载能耗。
对于工作流依赖图WDG中包含的所有出块边和过块边,定义各边的起始点为Ti,结束点为Tj;则各边的边权重w<Ti,Tj>采用如下的公式计算:
其中,表示块的子分支上的任务结点的最优计算卸载能耗。
S4:查询能耗传递全图中所有卸载标志为“不可卸载”的任务结点;然后将所有“不可卸载”的任务结点对应的入度边和出度边的边权重从能耗传递全图中删除,生成简化能耗传递图ETG1。
S5:根据简化能耗传递图生成对应的线性能耗传递图ETG2。线性能耗传递图的生成方法如下:
S51:判断简化能耗传递图中的传递路径是否为呈单向线性,是则以当前的简化能耗传递图作为线性能耗传递图。
S52:当简化能耗传递图中的传递路径并不呈单向线性时,再确定简化能耗传递图中块的数量。根据不同的块将简化能耗传递图中的分枝进一步划分成不同层级的子分支。
S53:采用如步骤S3的方法对划分出的各个层级的子分枝的边权重进行更新。
S54:然将各层级子分支的边权重不断反向迭代,叠加到前一个层级的子分支中对应的出块边上,直到整个简化能耗传递图只包含主枝路径,进而得到等价的线性能耗传递图。
S6:以满足时间约束且最小化终端的设备能耗为优化目标,得到具有最小化设备能耗的路径,并进行任务卸载。设定的优化目标的表达式如下:
其中,表示任务执行所需的时间预测,TimeLimit表示设置的工作流最后期限约束;设定的最终优化目标是在任务执行所需的时间预测/>满足时间约束Deadline的前提下,找到所有任务执行所消耗的能量之和的最小值MinEC。
本实施例中最优路径搜索过程如下:
S61:采用dijkstra算法对线性能耗传递图进行搜索,得到最小化设备能耗的最短路径。
S62:判断上步骤的最短路径是否满足时间约束:
(1)是则结束搜索,将上步骤的最短路径作为所需的最优路径。
(2)否则返回上步骤S61,搜索到次短路径,直到获得满足时间约束的路径,将其作为所需的最优路径。
S63:将上步骤确定的最优路径中包含的所有任务结点表征的环节卸载到边缘服务器上进行执行。
此外,当搜索出的所有路径均无法满足时间约束时,则将所有任务结点对应的计算任务均在终端本地完成,不卸载到边缘服务器上。
为了使得本实施例提供的计算任务卸载方法的特点更加明显,以下结合该方法在无人机配送领域的应用对其进行进一步的说明。本实施例的方法在无人机配送领域主要用于在保证满足各类计算任务的截止时间的前提下,将配送过程的全部计算任务分别分配到无人机本地以及边缘服务器中执行;进而达到在完成配送任务的同时使得无人机运行能耗最小化的目的。
需要额外说明的是,无人机配送场景中的计算任务卸载决策仅属于本实施例提供的计算任务卸载方法的一种应用场景。本实施例提供的方法可以应用于采用移动边缘计算的其它场景下,解决相关的技术问题,并达到相似的技术效果。
以下为在无人机物流运输场景下本实施例方法的详述:
在基于MEC的无人机最后一公里配送场景中,存在各种对延迟敏感的人工智能应用程序,例如动态路径规划、飞行中避障和通过认知计算识别收货人等。由于计算的复杂性,人工智能应用的执行并不能仅由无人机自身完成。无人机最后一公里配送的场景大致如图2所示。在该场景下,无人机所需执行的各项计算任务对应的工作流程大致如图3所示。在配送区域内通常存在多个边缘服务器为区域范围内的无人机提供服务,保证了MEC环境的高效率和可靠性。无人机完成收货的工作流程包含多个任务,每个任务为后续任务提供必要的数据流,一项任务可能具有多个前驱和后继任务,这些任务形成多个分支,表现为非线性工作流结构。
具体来说,无人机完成收货场景的识别和配送要依次经历视频帧的去重,目标检测和切分,预处理等步骤,而一帧图片中可能包含多个可识别人体,需要对此类图片进行局部图像处理,并独立识别每个人体。此类局部图像的处理过程彼此独立,构成了含有多个分支的非线性工作流结构。如果在一条任务分支上完成了对收货人的正确匹配,就可以结束整个识别任务,进行降落完成配送。
在无人机配送过程中,涉及到对视频流数据进行分帧、对图像帧进行目标检测和切分、以及对切割出来的局部图像进行姿势识别和人脸识别验证等计算任务。这些任务无法全部在无人机终端完成,因而需要对这些进行特定处理的任务根据其自身数据量和计算量的不同,选择是否卸载到边缘服务器执行,并通过5G、WIFI6等技术完成数据流的传输。
一、问题的建模与概述
首先我们针对无人机配送过程的工作流程进行梳理,得到关键任务环节对应的任务流程,具体如图3所示,接下来,将配送过程中包含的每个环节对应的计算任务作为一个任务结点,构建大致如图4的一个工作流依赖图(WDG,workflow dependency graph)。这里的WDG实际上一个有向无环图;图中的各个任务结点对应配送过程需要执行的各个计算任务,而任务结点间的箭头表征不同计算任务之间的依赖关系。
例如在一个WDG中,假如存在Ti→Tj,这表示Ti是Tj的前置任务,即任务Tj依赖于任务Ti。例如在本实施例中,图4中的定义T1表示目标侦测过程获取人物图像的任务,而T2表征对人物图像进行切割和预处理。此时T1必须依赖T1完成,任务T2输出的人物图像,是任务T2执行图像切分和预处理的输出数据。在图2所示的WDG图中,就存在T1→T2,T2→T3,T2→T4,T3→T4,T4→T5。
此外,在WDG中,→被定义为具有传递性,即 表示两者间不存在依赖关系,对于/>表示Ti和Tj在WDG图中的两个不同分支上。例如,在图4中,我们可以看到/>
其次,需要建立工作流任务对应的能耗模型。针对给定的工作流任务对应的各个任务结点的能耗模型。建立的能耗模型能够清晰表示任务执行过程各个环节产生的能耗情况,这可以为后期对计算任务卸载策略中的终端设备能耗的优化过程奠定了基础。在分析计算任务卸载过程的无人机终端可能存在各类型能耗状态后,本实施例确定将能耗类型细分为传传输能耗xi、空闲能耗yi和负载能耗zi,三种能耗的定义在前面已经详细描述,这里不再赘述。
WDG中对应各个任务结点在无论卸载到边缘服务器执行还是在无人机终端本地执行,都可能产生传输能耗xi、空闲能耗yi和负载能耗zi中的一种或多种。本实施例中定义计算任务处理过程的全部能耗为综合能耗Ei。在计算任务的不同处理状态下,综合能耗Ei中包含的能耗类型不同。具体地,综合能耗Ei的计算方法如前文所述,
即,不同卸载条件下的综合能耗Ei如下式所示:
此外,在一个完整的无人机配送的任务流程中,并不是所有的计算任务都适合卸载到边缘服务器执行,也不是所有的计算任务都可以被卸载到边缘服务器中执行。通常,一个完整的工作流程中存在两种类型的任务,普通任务和不可卸载任务。普通任务可以根据数据量和计算量的大小选择是否卸载到边缘服务器执行,是执行例如人工智能应用的任务。而不可卸载任务是指某些必要的数据仅在终端可用或者应用程序执行需要用户手动确认的任务,因此无法卸载到边缘服务器执行。例如无人机的电量和故障自检以及运输货物的装配和确定过程等任务就属于不可卸载的任务。
为了对可卸载和不可卸载的任务进行区分,本实施例中提供的一个卸载标志flagi,卸载标志flagi不同的值表明该任务结点是否可以卸载到边缘服务器执行。
至此,每个任务结点实际上具有五个属性,即对应该任务结点的传输能耗xi、空闲能耗yi和负载能耗zi、综合能耗Ei和卸载标志flagi,这五个属性值构成了每个任务结点Ti的属性集。
基于WDG可以将寻找具有最优能耗的计算任务卸载策略的问题转换为求解最短路径的问题。通常来说,WDG中有两个虚拟结点,起始结点和结束结点,它们用于表示最短路径问题的起点和重点。普通任务结点每两个结点之间存在一条边e<Ti,Tj>,将边权重表示为w<Ti,Tj>,如果定义w<Ti,Tj>为将Ti和Tj卸载执行,中间任务本地执行时终端设备的能耗。那么w<Ti,Tj>由Ti后继结点的传输能耗、Tj的传输能耗、Tj的空闲能耗和Ti与Tj之间的任务结点的负载能耗组成。此时w<Ti,Tj>的最小值就是需要求解的最优能耗。
本实施例通过前述处理已经完成了将工作流程转换为工作流依赖图WDG的过程,接下来为了获取一个工作流流依赖图中对应最优能耗的路径,需要构建该WDG对应的完整的能耗传递图(ETG,Energy consumption Transitive Graph)。
二、线性WDG条件下的处理方法
线性WDG指不包含分支的WDG结构,该结构中WDG除了第一个任务和最后一个任务之外,其它任务均只有一个前驱任务和一个后继任务。例如,假定一个线性工作流任务的能耗传递图(WDG)如图5所示,它包含一组任务集合Ts={T1,T2,T3,...,Tn};其中包含一组必须在终端设备上执行的任务集合localSet={Tk|Tk∈WDG∧flagi=1}。
图5的WDG中,Ts是一个只具有出度边的任务开始结点,而Te是一个只具有入度边的任务结束结点,假定不可卸载的任务集合为localSet={T3}。求解该WDG对应的最优卸载方案的过程较为简单,具体的算法步骤如下:
第一步,为WDG添加两个虚拟任务结点,分别作为所有没有入度边的结点的前驱结点和所有没有出度边的结点的后继结点,设置其xi=yi=zi=0。
第二步,在WDG图中添加新的有向边,从每个任务结点开始指向与它存在依赖关系的任务结点,为所有的可能路径构建一对一的映射关系。
第三步,删去localSet中所有结点的入度边和出度边,并对其余不同类型的边添加能耗权重。
第四步,使用Dijkstra算法在ETG中找到一条最短路径。
其中,Dijkstra(迪杰斯特拉)算法是一种经典的贪心算法,可以在不含负权重边的图中找到最短路径。本实施例将从Ts到Tk的最短路径表示为Pmin<Ts,Tk>。Pmin<Ts,Tk>中经过的任务结点即是我们计算出的最优卸载方案,这些任务将会卸载到边缘服务器中执行,其余任务在无人机终端设备上执行。
以下,为了便于说明将本实施例中提供的获取最优能耗路径的方法定义为Graph4Edge策略。
三、非线性复杂WDG条件下的处理方法
前述内容给出了一个基于线性WDG求解最优卸载策略的过程,处理过程主要是通过Dijkstra算法求解WDG对应的能耗传递图ETG。然而在实际应用过程,包括无人机配送等,各种实际处理的工作流计算任务大多都是非线性的。
事实上,Dijkstra算法并不直接适用于处理非线性的ETG。因此本实施例通过对非线性的ETG中各子分支上的边权重进行等效迭代,从而将非线性的ETG转化为线性的ETG,然后再应用Dijkstra算法。
图6给出一种典型的非线性的工作流依赖图,以下结合图6说明如何将非线性ETG转换为线性的ETG。
首先找到图6的WDG中包含的块(B,Block),在图6中有一个简单的块B={T3,T4,T5,T6}。接着确定WDG中的任意一条线性路径,称之为主枝(MB,MainBranch)。其余的结点构成的路径称为分支(SB,Sub-Branch)。图6中,主枝为MB={T1,T2,T3,T4,T7,T8},分支为SB={T5,T6}。然后将块B中分支SB的能耗权重映射到MB的权重边上。图6中,权重边的类型分为入块边、出块边、过块边和普通边四种。入块边的定义为: 出块边的定义为:/>过块边的定义为:普通边的定义为:/>
根据定义,图6中的入块边有e<T1,T3>,e<T2,T4>等。出块边有e<T3,T8>,e<T4,T8>等。过块边有e<T1,T8>,e<T2,T8>等。普通边有e<T1,T2>,e<T3,T4>,e<T7,T8>等。此时,我们将图6中分支的能耗权重表示为Cost5+Cost6。
对于普通边和入块边;边e<Ti,Tj>表示Ti和Ti被卸载到边缘服务器,Ti和Tj之间的任务在终端设备上执行。因此需要计算卸载产生的传输能耗和空闲能耗,以及终端设备上执行任务所需的负载能耗。
此时采用下式计算边权重:
其中,yj表示任务结点Tj的空闲能耗;xj表示任务结点Tj的传输能耗;xi+1表示以任务结点Ti为前驱结点的任务结点Ti+1的传输能耗,任务节点Ti+1在终端执行,不卸载到边缘服务器;Tk表示任务结点的中间结点;表示任务结点Ti和Tj间所有中间结点的负载能耗。
对于出块边和过块边,因为一个合并任务结点需要不同的分支任务完成的先决条件,上式不再适用于计算其权重。因此,为了维持路径和卸载策略之间的映射关系,需要对过块边和出块边的边权重进行重新定义,具体的,这两类边的边权重的计算公式如下:
其中,表示块的子分支上的任务结点的最优计算卸载能耗。
上式可以保证含有出块边和过块边的最短路径的长度仍然等于任务集的最优计算卸载能耗,即
此外,要计算出块边和过块边的权重,必须找到块中子分支上任务结点的最优能耗计算卸载策略。对于任意子分支,分支中的第一个任务结点是否需要进行传输能耗计算取决于块前驱结点的卸载情况,进而影响到分支上的计算卸载决策。如果e<Ti,Tj>是一条过块边,表示主分支上任务Ti和Tj会被卸载到边缘服务器上执行,根据Ti是否为块的前一个结点,在计算由分支任务构成的WDG的最短路径时,需要考虑分支第一个结点的传输能耗。如果Ti是块的前一个结点,代表Ti会卸载到边缘服务器执行,则分支第一个结点卸载时,不需要计算传输能耗。与之相反,若Ti不是块的前一个结点,分支第一个结点卸载时需要计算传输能耗。为了解决这一问题,当Ti不是块的前一个结点时,设置一个特殊的不可卸载的任务结点T′s,这个结点位于分支的开始节点Ts之后,第一个任务结点T1之前,设置x′s=y′s=z′s=0,使得当WDG中的第一个结点卸载时需要计算其传输能耗。若分支是一个线性的WDG,则可以采用前述Graph4Edge策略求出其最优卸载方案和最短路径长度即最优能耗。若分支构成非线性的WDG,则递归调用前述Graph4Edge策略以找到子分支的最优卸载方案和最优能耗。由此可以计算出块边和过块边的权重。
对于一条出块边e<Ti,Ti>,无法确定块之前的卸载结点是不是块的前一个结点。因此,给定两种不同的卸载情况,分支的权重会有所不同,从而导致出块边的权重改变。例如,为了计算图6的出块边e<T5,T8>的权重,需要找到子分支{T3,T4}的最优能耗计算卸载策略Smin。然而,Smin可能会根据T1和T2的卸载状态有所不同。因此,必须为具有一个块的WDG创建多个ETG,以便于在不同情况下计算出块边的权重。具体地说,最优计算卸载策略就是所有ETG中最短的路径。
具体地计算步骤如下:
第一步,构造初始的ETG。首先在WDG中选择一个任意分支作为主要分支,并添加能耗权重边以构建ETG。然后根据localSet={Th},删去任务结点Th的入度边和出度边。
第二步,为ETG中的边赋权重值。在ETG中,对于普通边和入块边,根据下式设置其权重。
对于过块边,我们调用Graph4Edge策略以找到其子分支的最优能耗计算卸载策略,计算出其最短路径长度,即最优能耗方案。然后根据下式设置其权重。
对于出块边,在初始化阶段将其设置为无穷大。初始ETG如图7所示。
第三步,对于每个块,首先根据入块边的起始节点是否为块的前一个结点,分别构建两种不同的分支ETG模型。具体描述如下:
A、如果入块边的起始结点不是块的前一个结点,且第一次出现此块的入块边,则创建一个新的ETG,对块内子分支采用前述的Graph4Edge策略进行处理求出最优计算卸载策略和最短路径。具体来说,当首次发现一条入块边的起始节点不是块的前一个结点时,例如图8中的e<Tu,Ta>,则对此类情况需要进行另行记录,为了不影响另一种入块情况的计算,需要创建一个新的ETG,并且标记对于当前块已经出现过从非块的前一个结点入块的情况。首先,我们将当前ETG的所有信息复制到新的ETG中。其次,将新的ETG中所有从当前块的前一个结点入块的入块边删除,这保证了对于子分支不会出现第一个结点传输能耗的计算错误。此时,线性分支的WDG创建的ETG如图9。最后,更新全部ETG中所有出块边的权重。
B、如果首次发现入块边的起始节点是块的前一个结点,则在当前ETG中进行调整,然后调用Graph4Edge策略计算子分支的最优计算卸载策略和最短路径。具体来说,当第一次发现从当前块的前一个结点入块的边时,例如图7中的e<Tv,Tb>,入块边的情况已经完全遍历完成,因此可以直接在当前ETG上进行处理。将所有不是从块的前一个结点开始的入块边删除,保证对于所有子分支都可以直接采用Graph4Edge策略进行计算。此时,线性分支的WDG创建的ETG如图10。最后,更新全部ETG中所有出块边的权重。
第四步,采用Dijkstra算法在所有的ETG中求解出满足时间约束的最优计算卸载策略。
以上说明给出了具有一个块的非线性WDG的最优能耗卸载策略求解方法。但是在实际应用中,WDG的结构可能更加复杂,WDG中可能存在多个块。但是要计算非线性WDG中的最优能耗计算卸载策略,无论WDG的结构多么复杂,都可以通过采用前述方法将计算过程简化为线性WDG的情况。
具有复杂结构WDG可以看作是许多块的组合。因此,从起始任务结点Ts到结束任务结点Te,选择任意一条分支作为主分支,可以构造初始的ETG,并为不同的块构建多个ETG。
在针对ETG计算出块边和过块边的权重的过程中,有两种新的情况需要找到子分支的最优能耗计算卸载策略。
(1)一个块的出块边可能是另一个块的入块边。例如图11中,e<Tc,Tv>是块B1的出块边,也是块B2的入块边。在算法中,根据块B1的入块边的起始节点不同,子分支的计算卸载策略可能有所不同。从而导致块B2的入块边权重和入块边起始节点选择都会发生改变。为了计算块B2的出块边权重,如e<Tw,Tk>,需要知道块B2的子分支SB2的最优能耗计算卸载策略,但是块B2的子分支SB2的最优能耗计算卸载策略又取决于块B1的子分支SB1的计算卸载策略。
(2)子分支本身也是一个非线性WDG,也存在多个分支。在这种情况下,需要递归调用Graph4Edge策略以计算其最优能耗计算卸载策略。例如,图12中的e<Ta,Tc>是块B1的入块边,块B2是块B1的分支上的一个块,需要根据两个块的不同情况创建多个新的ETG。为了计算图12中同时作为块B1的出块边e<Tv,Tk>的权重,需要计算子分支Br1的最优能耗,而Br1的卸载策略又与Br2的最优能耗相关。因此,需要递归调用Graph4Edge策略对非线性WDG结构的Br1∪Br2进行计算。
因此,给定一个非线性WDG,其结构可以看作是许多块的组合。图13给出了非线性WDG的示例。通过递归调用Graph4Edge策略,最终可以找到整个WDG的最优能耗计算卸载策略。例如在图13中,对于给定一条入块边e<Ti,Tj>的新的ETG,使用Graph4Edge策略对子分支进行计算,之后再根据上前面提及的计算策略。使用Dijkstra算法得到最优能耗卸载决策。
四、性能验证实验
1、实验整体设计
为了验证本实施例提出的移动边缘计算环境中的任务卸载方法(Graph4Edge策略)的性能;本实施例还制定如下的性能实验:以采用本实施的Graph4Edge策略的组别为实验组,并设置传统的经典的粒子群算法(PSO)、遗传算法(GA)、贪心算法(Greedy)和全部不卸载(All-in-end)策略的组别作为对照组。其中,粒子群算法PSO和遗传算法GA,属于启发式搜索算法,是最广泛使用的计算卸载策略。贪婪策略(指基于Greedy)则通过比较本地执行和卸载所需的能量消耗,为每个任务做出卸载决策。如果任务卸载的能量消耗小于在本地执行,那么任务将被卸载到边缘服务器执行。否则,任务将在本地执行。最后的All-in-End策略指将所有任务都在终端设备中执行。在性能验证实验中,所有的计算卸载策略都采用了边缘服务器上的最小任务调度算法Min-Min。
在性能验证试验中,分别对比实验组和对照组在算法执行时间和终端设备能耗两个方面的性能指标。
2、试验参数与过程设置
在性能验证实验中,对实验环境以及试验参数等条件作出如下设置和调整:
(2.1)实验均在FogWorkflowSim上进行,FogWorkflowSim是用于Fog/Edge计算的工作流仿真***,能够提供可靠的工作流模型和轨迹追踪。
(2.2)实验中模拟的移动边缘计算(MEC)环境由三台边缘服务器和一台终端设备(无人机)组成;边缘服务器部署在终端设备附近。移动边缘计算环境的参数设置具体如下表1所示:
表1:MEC环境参数设置
根据表1的参数设置可知:终端设备和边缘服务器之间的数据传输为100mbps,带宽相对稳定。计算资源的处理速度是在100到1500MB之间随机选择的,符合实际应用场景。根据无人机配送***中的实际数据收集,每个任务的输入和输出数据大小随机生成0.625到30mb之间。此外,在实验过程中,本实验只考虑终端设备的能量消耗。
(2.3)在性能验证试验中,将对照组的PSO算法和GA算法中的各项参数具体设置如下表2所示:
表2:PSO和GA算法参数设置
(2.4)对于每个工作流应用程序,性能验证试验中均模拟100次,获得平均结果,进而消除偶然因素的影响。为了全面评价工作流的整体性能,还随机生成了许多不同规模的复杂工作流,这些工作流的规模从10个到100个不等,既有线性结构,也有非线性结构。此外,在实验中,将本地执行任务的百分比(即不能卸载到边缘的任务)设置为20%。
(2.5)性能验证实验模拟了实验组和对照组的方法在最后一公里配送收货场景下的应用。实验过程中,根据任务执行的时间要求,探索时间约束的最佳设置。以在终端设备上执行全部任务所花费的时间为基准,工作流任务执行时间约束设置为的70%-140%之间。
3、实验数据与分析
性能验证实验结束后,统计不同策略或算法在模拟过程得到的终端设备能耗、算法执行时间,任务执行时间等相关实验数据,并整理成如图14-16的图表。
具体地,图14显示了不同截止时间约束下的能耗结果变化曲线。分析图14中的数据可以得出:在试验开始阶段,所有任务都在无人机上执行。当时限约束值增加时,卸载任务的百分比也增加。同时,终端设备的能耗也逐渐降低。可以看出,当截止时间约束达到130%时,终端设备的能量消耗趋于稳定。结果表明,当时限约束变得更加灵活时,卸载策略的计算空间变得更大,因此我们的Graph4Edge策略在降低终端设备能量消耗方面变得更加有效。然而,当截止时间限制达到一定值时,减少能源消耗的效果就会降低,因为卸载任务的百分比也会达到最大80%(试验中设置了20%的本地执行任务占比)。为了比较不同计算卸载策略的最佳性能,在以下实验中重点研究了最后期限为130%的计算卸载策略。
图15显示不同策略/算法运行过程中的终端能耗的对比图。分析图15中数据可以发现:在不同尺寸的非线性工作流中,终端设备的能量消耗是不同的。实验结果表明,采用本实施例中Graph4Edge策略的能量消耗总是低于其他四种策略。例如,当任务数为50时,采用Graph4Edge策略的能耗分别比PSO和GA低7.81%和9.51%。此外,贪心策略和All-in-End策略的能量消耗总是比Graph4Edge策略高,分别约为94%和310%。这是因为前者在终端设备上放置了太多的任务来执行。
图16显示了不同规模的非线性工作流下策略/算法运行时间的结果。需要特别说明的是,Graph4Edge、Greedy和All-in-End策略的基本时间单位为毫秒(ms),而PSO和GA的基本时间单位分别为100ms和500ms。显然,根据图16中数据可知:本实施例提供的Graph4Edge策略比基于搜索的策略PSO和GA快得多。具体来说,前者的速度分别是PSO和GA的110倍和540倍。在FogWorkflowSim平台中,全终端策略(All-in-End)运行需要计算组成工作流的任务数量,这通常需要几毫秒的时间。尽管贪婪策略和全终端策略的执行时间最短,但它在降低能耗方面的性能总是最差的。特别是,即使任务的数量高达100,本实施例提供的Graph4Edge策略也只需要额外的30ms就可以获得最佳卸载决策。显然,当需要对延迟敏感的任务作出是否卸载的决策时,本实施例提供的策略可以保证***的实时性。
根据图14-16的实验结果及其分析内容可以发现:本实施例提出的策略具有最好的整体性能,因为该策略可以在给定的时限内,找到能耗最低的最优计算卸载决策方案。最重要的是,由于具有快速运行的特性,并预先限定了决策的最后期限;因此对于延迟敏感的任务,本实施例提出的策略更能满足相应的实时性要求。
此外,考虑到性能验证试验中涉及许多不同规模的复杂工作流,工作流的规模从10个到100个不等,且工作流任务的结构既有线性结构,也有非线性结构。因此在实验数据分析过程还增加对本实施例的Graph4Edge策略在不同规模、不同结构的工作流任务的运行效率进行统计;具体的统计结果如图17所示。
分析图17中的数据可以发现:工作流任务的结构对本实施例的Graph4Edge策略运行效率也具有重要影响。例如,在工作流规模相同的情况下,Graph4Edge策略处理非线性工作流任务的运行时间比处理线性工作流任务的运行时间提高了约20%。
但是,考虑到非线性工作流的结构更加复杂,这种运行时间的增长其实并不显著。同时,考虑到即使在工作了任务中的任务数量达到50时,Graph4Edge策略在处理非线性工作流任务时的运行时间也只增加了2ms。则可以说明:本实施例Graph4Edge策略在处理线性和非线性工作流时都具有相对较高的运行效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种移动边缘计算环境中的任务卸载方法,其特征在于:其用于在移动边缘计算环境中,以优化终端的设备能耗为目标,确定终端的工作任务中应当卸载到边缘服务器上执行的特定计算任务环节;所述计算任务卸载方法包括如下步骤:
S1:对终端的工作任务按照工作流程进行梳理,将完整的工作任务划分为不同的环节,并根据不同环节间的依赖关系,以各个环节为任务结点Ti构建表征所述工作任务的工作流依赖图WDG;
S2:确定所述工作流依赖图中各个任务结点的属性集;所述属性集的特征数据包括传输能耗xi、空闲能耗yi、负载能耗zi、综合能耗Ei和卸载标志flagi;
S3:基于所述工作流依赖图创建表征工作任务各环节间能耗传递关系的能耗传递全图ETG;能耗传递全图的创建过程如下:
S31:根据工作流依赖图确定其中包含的块B,块指工作流依赖图中并行执行的一组子分支,各个子分支在完成一个任务后开始执行,并且合并触发另一个任务;
S32:随机选择工作流依赖图中的一条线性路径作为工作流依赖图的主枝MB,将工作流依赖图中除主枝之外的其余任务结点构成的依赖关系路径作为分支SB;
S33:根据确定的块、主枝和分支的分布,将工作流依赖图中包含的各个任务结点间的权重边的类型分为四种,分别为入块边、出块边、过块边和普通边;
S34:以任意两个任务结点间的路径能耗作为任务结点间的边权重,确定工作流依赖图中包含的所有四类权重边的权重值;进而根据各任务结点属性集得到包含所有路径的能耗传递全图;
S4:查询所述能耗传递全图中所有卸载标志为“不可卸载”的任务结点;然后将所有“不可卸载”的任务结点对应的入度边和出度边的边权重从所述能耗传递全图中删除,生成简化能耗传递图ETG1;
S5:根据所述简化能耗传递图生成对应的线性能耗传递图ETG2;所述线性能耗传递图的生成方法如下:
S51:判断所述简化能耗传递图中的传递路径是否呈单向线性,是则以当前的简化能耗传递图作为线性能耗传递图;
S52:当所述简化能耗传递图中的传递路径并不呈单向线性时,再确定所述简化能耗传递图中块的数量;根据不同的块将所述简化能耗传递图中的分枝进一步划分成不同层级的子分支;
S53:采用如步骤S3的方法对划分出的各个层级的子分枝的边权重进行更新;
S54:然将各层级子分支的边权重不断反向迭代,叠加到前一个层级的子分支中对应的出块边上,直到整个简化能耗传递图只包含主枝路径,进而得到等价的线性能耗传递图;
S6:以满足时间约束且最小化终端的设备能耗为优化目标,得到具有最小化设备能耗的路径,并进行任务卸载;路径搜索过程如下:
S61:采用迪杰斯特拉算法对所述线性能耗传递图进行搜索,得到最小化设备能耗的最短路径;
S62:判断上步骤的最短路径是否满足时间约束:
(1)是则结束搜索,将上步骤的最短路径作为所需的最优路径;
(2)否则返回上步骤S61,搜索到次短路径,直到获得满足时间约束的路径,将其作为所需的最优路径;
S63:将上步骤确定的最优路径中包含的所有任务结点表征的环节卸载到边缘服务器上进行执行。
2.如权利要求1所述的移动边缘计算环境中的任务卸载方法,其特征在于:步骤S2中,所述传输能耗xi指任务结点Ti卸载到边缘服务器上执行时,终端在数据传输过程产生的能耗;所述传输能耗xi的计算公式如下:
上式中,Comm(Ti,Tj)表示任务结点Ti和Tj之间的数据传输量,Ti是Tj的直接前驱任务结点;Bandwidth表示数据传输的速率;Ptrans是终端执行数据传输的单位时间传输能耗;
所述空闲能耗yi指任务结点Ti卸载到边缘服务器上执行时,终端在空闲状态下产生的能耗;所述空闲能耗yi的计算公式如下:
上式中,lengthi表示任务结点Ti的工作量;fedge表示边缘服务器的任务处理速度;Pidle表示终端的单位时间空闲能耗;
所述负载能耗zi指任务结点Ti在终端上执行时,终端的执行计算任务时产生的能耗;所述负载能耗zi的计算公式如下:
上式中,fend是终端的任务处理速度;Pend是终端执行任务时单位时间负载能耗。
3.如权利要求2所述的移动边缘计算环境中的任务卸载方法,其特征在于:步骤S2中,卸载标志flagi用于表征任务结点Ti是否卸载到边缘服务器上执行,当某个任结点“可卸载”到边缘服务器上执行时,则将该任务结点的卸载标志flagi置为0,否则将该任务结点的卸载标志置为1。
4.如权利要求3所述的移动边缘计算环境中的任务卸载方法,其特征在于:步骤S2中,综合能耗Ei表示某个任务结点Ti执行时终端产生的总能耗;不同任务结点在不同执行状态下对应的综合能耗值不同:(1)当任务结点Ti卸载到边缘服务器上执行,且存在数据传输时,综合能耗Ei由传输能耗xi和空闲能耗yi组成;(2)当任务结点Ti在终端上执行,且存在数据传输时,综合能耗Ei由传输能耗xi和负载能耗zi组成;(3)当任务结点执行过程中不存在数据传输时,则综合能耗Ei定义为Ti的空闲能耗yi或负载能耗zi;
不同卸载状态下的综合能耗Ei的计算公式如下:
5.如权利要求4所述的移动边缘计算环境中的任务卸载方法,其特征在于:步骤S33中,所述入块边指起始点为块前的任务结点,结束点为块内的任务结点的边;所述出块边指起始点为块内的任务结点,结束点为块后的任务结点的边;所述过块边指起始点为块前的任务结点,结束点为块后的任务结点;所述普通边指连接的两个任务结点均为完全有序的任务结点的边。
6.如权利要求5所述的移动边缘计算环境中的任务卸载方法,其特征在于:步骤S34中,对于工作流依赖图WDG中包含的所有普通边和入块边,定义各边的起始点为Ti,结束点为Tj;则各边的边权重w(Ti,Tj)采用如下的公式计算:
其中,yj表示任务结点Tj的空闲能耗;xj表示任务结点Tj的传输能耗;xi+1表示以任务结点Ti为前驱结点的任务结点Ti+1的传输能耗,任务节点Ti+1在终端执行,不卸载到边缘服务器;Tk表示任务结点的中间结点;表示任务结点Ti和Tj间所有中间结点的负载能耗。
7.如权利要求6所述的移动边缘计算环境中的任务卸载方法,其特征在于:步骤S34中,对于工作流依赖图WDG中包含的所有出块边和过块边,定义各边的起始点为Ti,结束点为Tj;则各边的边权重w<Ti,Tj>采用如下的公式计算:
其中,表示块的子分支上的任务结点的最优计算卸载能耗。
8.如权利要求7所述的移动边缘计算环境中的任务卸载方法,其特征在于:步骤S6中,设定的优化目标的表达式如下:
其中,表示任务执行所需的时间预测,TimeLimit表示设置的工作流最后期限约束;设定的最终优化目标是在任务执行所需的时间预测/>满足时间约束Deadline的前提下,找到所有任务执行所消耗的能量之和的最小值MinEC。
9.如权利要求7所述的移动边缘计算环境中的任务卸载方法,其特征在于:步骤S6中,当搜索出的所有路径均无法满足时间约束时,则将所有任务结点对应的计算任务均在终端本地完成,不卸载到边缘服务器上。
10.一种采用如权利要求1至9中任意一项所述的移动边缘计算环境中的任务卸载方法的***,其特征在于:所述任务卸载方法应用于无人机配送中,用于在保证满足各类计算任务的截止时间的前提下,将配送过程的全部计算任务分别分配到无人机本地以及边缘服务器中执行;进而达到在完成配送任务的同时使得无人机运行能耗最小化的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210006091.4A CN114327526B (zh) | 2022-01-05 | 2022-01-05 | 一种移动边缘计算环境中的任务卸载方法及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210006091.4A CN114327526B (zh) | 2022-01-05 | 2022-01-05 | 一种移动边缘计算环境中的任务卸载方法及其应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327526A CN114327526A (zh) | 2022-04-12 |
CN114327526B true CN114327526B (zh) | 2024-05-28 |
Family
ID=81024648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210006091.4A Active CN114327526B (zh) | 2022-01-05 | 2022-01-05 | 一种移动边缘计算环境中的任务卸载方法及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327526B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202849B (zh) * | 2022-09-02 | 2023-04-18 | 广东翼景信息科技有限公司 | 一种支持边缘计算的多无人机任务分配与路径规划方法 |
CN116880994B (zh) * | 2023-09-07 | 2023-12-12 | 之江实验室 | 基于动态dag的多处理器任务调度方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101643251B1 (ko) * | 2015-04-29 | 2016-07-28 | 한국과학기술원 | 컴퓨팅 워크플로우에서 작업 분할 방식을 이용한 가상머신 스케줄링 방법 |
WO2017067586A1 (en) * | 2015-10-21 | 2017-04-27 | Deutsche Telekom Ag | Method and system for code offloading in mobile computing |
CN112380008A (zh) * | 2020-11-12 | 2021-02-19 | 天津理工大学 | 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法 |
CN112988345A (zh) * | 2021-02-09 | 2021-06-18 | 江南大学 | 一种基于移动边缘计算的依赖型任务卸载方法及装置 |
CN112995289A (zh) * | 2021-02-04 | 2021-06-18 | 天津理工大学 | 一种基于非支配排序遗传策略的车联网多目标计算任务卸载调度方法 |
-
2022
- 2022-01-05 CN CN202210006091.4A patent/CN114327526B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101643251B1 (ko) * | 2015-04-29 | 2016-07-28 | 한국과학기술원 | 컴퓨팅 워크플로우에서 작업 분할 방식을 이용한 가상머신 스케줄링 방법 |
WO2017067586A1 (en) * | 2015-10-21 | 2017-04-27 | Deutsche Telekom Ag | Method and system for code offloading in mobile computing |
CN112380008A (zh) * | 2020-11-12 | 2021-02-19 | 天津理工大学 | 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法 |
CN112995289A (zh) * | 2021-02-04 | 2021-06-18 | 天津理工大学 | 一种基于非支配排序遗传策略的车联网多目标计算任务卸载调度方法 |
CN112988345A (zh) * | 2021-02-09 | 2021-06-18 | 江南大学 | 一种基于移动边缘计算的依赖型任务卸载方法及装置 |
Non-Patent Citations (2)
Title |
---|
移动边缘计算中能耗优化的多重资源计算卸载策略;徐佳;计算机集成制造***;20190430;第25卷(第4期);1-8 * |
移动边缘计算环境下基于信任模型的可靠 多重计算卸载策略;齐平;计算机集成制造***;20200630;第26卷(第6期);1-12 * |
Also Published As
Publication number | Publication date |
---|---|
CN114327526A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114327526B (zh) | 一种移动边缘计算环境中的任务卸载方法及其应用 | |
CN113037877B (zh) | 云边端架构下时空数据及资源调度的优化方法 | |
Zhang et al. | Edgebatch: Towards ai-empowered optimal task batching in intelligent edge systems | |
US20230083423A1 (en) | Satellite Scheduling System | |
Wang et al. | A reinforcement learning approach for online service tree placement in edge computing | |
CN115002123B (zh) | 基于移动边缘计算的快速适应任务卸载***和方法 | |
Shahzaad et al. | Robust composition of drone delivery services under uncertainty | |
Chen et al. | DeliverSense: Efficient delivery drone scheduling for crowdsensing with deep reinforcement learning | |
Liu et al. | Task offloading optimization of cruising UAV with fixed trajectory | |
Liu et al. | RFID: Towards low latency and reliable DAG task scheduling over dynamic vehicular clouds | |
Li et al. | A novel graph-based computation offloading strategy for workflow applications in mobile edge computing | |
Li et al. | Geo-information processing service composition for concurrent tasks: A QoS-aware game theory approach | |
Chen et al. | A game theoretic approach to task offloading for multi-data-source tasks in mobile edge computing | |
CN114297041A (zh) | 网络异构计算平台测试方法、装置和计算机设备 | |
Asghari et al. | Bi-objective cloud resource management for dependent tasks using Q-learning and NSGA-3 | |
Yang et al. | Towards 6g joint haps-mec-cloud 3c resource allocation for delay-aware computation offloading | |
CN109062677A (zh) | 一种无人机***计算迁移方法 | |
CN111611069B (zh) | 多数据中心间多类型任务迁移方法 | |
Jiang et al. | Hierarchical deployment of deep neural networks based on fog computing inferred acceleration model | |
Undurti et al. | A decentralized approach to multi-agent planning in the presence of constraints and uncertainty | |
Bensalem et al. | Scaling Serverless Functions in Edge Networks: A Reinforcement Learning Approach | |
Hadji et al. | Cost-efficient algorithms for critical resource allocation in cloud federations | |
CN117290090A (zh) | 节点协同资源分配方法、装置、设备及存储介质 | |
CN116567089A (zh) | 基于分布式网内协同计算的物联网交互***及方法 | |
CN114727319A (zh) | 基于vcg拍卖机制的5g mec计算任务卸载方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |