CN112988345A - 一种基于移动边缘计算的依赖型任务卸载方法及装置 - Google Patents

一种基于移动边缘计算的依赖型任务卸载方法及装置 Download PDF

Info

Publication number
CN112988345A
CN112988345A CN202110174953.XA CN202110174953A CN112988345A CN 112988345 A CN112988345 A CN 112988345A CN 202110174953 A CN202110174953 A CN 202110174953A CN 112988345 A CN112988345 A CN 112988345A
Authority
CN
China
Prior art keywords
task
execution
tasks
representing
decision
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.)
Granted
Application number
CN202110174953.XA
Other languages
English (en)
Other versions
CN112988345B (zh
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.)
Jiangnan University
Original Assignee
Jiangnan University
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 Jiangnan University filed Critical Jiangnan University
Priority to CN202110174953.XA priority Critical patent/CN112988345B/zh
Publication of CN112988345A publication Critical patent/CN112988345A/zh
Application granted granted Critical
Publication of CN112988345B publication Critical patent/CN112988345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于移动边缘计算的依赖型任务卸载方法及装置,方法包括:将移动终端上的应用形式化为多个任务组成的工作流,并用DAG图表示;遍历应用的DAG图,依据遍历的深度将工作流中所有任务划分为不同调度层并确定各调度层的执行顺序;为每个调度层内的各任务分配不同的优先级,依据任务的优先级顺序调整调度层内各任务执行顺序;计算工作流中各任务的执行代价;以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序依次确定每个任务的卸载决策。本发明依据代价最小,将任务卸载到移动终端、边缘服务器或云服务器执行,充分利用了计算资源,有效保证了服务质量,降低了应用的完成时间和移动终端的能耗。

Description

一种基于移动边缘计算的依赖型任务卸载方法及装置
技术领域
本发明属于移动通信技术领域,具体涉及一种基于移动边缘计算的依赖型任务卸载方法,还涉及一种基于移动边缘计算的依赖型任务卸载装置。
背景技术
移动边缘计算的出现解决了传统云计算响应时间长,数据泄露和通信延迟等问题,计算卸载作为移动边缘计算中的关键技术之一,近年来得到了广泛的关注。计算卸载是指资源受限的设备将资源密集型计算从移动设备部分或全部迁移到资源丰富的附近基础架构,由于MEC环境的复杂性,影响卸载决策的因素众多,如何设计最优的卸载决策策略,以充分挖掘MEC性能增益,是非常具有挑战性的科学问题。
近年来,国内外学者纷纷对移动边缘计算中的卸载策略展开了深入研究,文献1(通信学报,2020,41(7):141-151.)中提出基于信誉值的计算资源博弈分配模型,分别利用改进粒子群算法和拉格朗日乘数法求解。但此算法将应用当作整体,忽略了应用组成任务之间往往存在某种联系,减少了卸载机会,不利于资源的有效利用。文献2(软件学报,2020,31(06):1889-1908.)中提出了一种面向多用户的串行任务动态卸载策略,该策略遵循先来先服务的原则,采用化学反应优化算法动态调整任务的选择策略。该算法考虑到任务间的依赖性,但它忽略了任务的执行顺序对性能的影响,因为任务的差异性,即使是相同的卸载决策,在不同执行顺序下也会有不同的性能表现。文献3(2020IEEE InternationalConference on Pervasive Computing and Communications Workshops,Austin,TX,USA:IEEE,2020:1-4.)中提出一种基于任务优先级的集中式算法,虽然算法强调了任务的执行顺序,建立了任务执行的完全并行性。但是对于多用户资源竞争,不能动态调整执行位置。
在现有技术范畴内,上述的卸载决策算法都存在一定的局限性,因而总结出现有的需要解决的难题有以下几点:
(1)为充分利用移动边缘计算环境下的计算资源,增加卸载机会,需要考虑细粒化的应用,分析组成任务间的依赖性;
(2)系统性能受任务执行顺序的影响,需要对任务的执行顺序进行合理的安排以最大化组合卸载的好处;
(3)系统性能受任务执行位置的影响,需要动态调整任务卸载的目的地以适应多用户间的资源竞争。
发明内容
本发明的目的在于克服现有技术中的不足,对于现有研究大部分集中于全部卸载导致计算资源利用不充足,或者部分卸载中未兼顾完成时间和能耗等问题,提供了一种基于移动边缘计算的依赖型任务卸载方法,解决了现有技术所面对的高完成时间和高能耗技术问题。
为解决上述技术问题,本发明的技术方案如下。
第一方面,本发明提供了一种基于移动边缘计算的依赖型任务卸载方法,包括以下过程:
将移动终端上的应用形式化为多个任务组成的工作流,并用DAG图表示,图中顶点表示任务,边表示任务之间的依赖关系;
遍历应用的DAG图,依据遍历的深度将工作流中所有任务划分为不同调度层并确定各调度层的执行顺序;
为每个调度层内的各任务分配不同的优先级,依据任务的优先级顺序调整调度层内各任务执行顺序;
计算工作流中各任务的执行代价;
以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序依次确定每个任务的卸载决策,所述卸载决策是指将任务卸载到移动终端、边缘服务器或云服务器执行。
可选的,采用广度优先搜索算法遍历应用的DAG图。
可选的,所述依据遍历的深度将工作流中所有任务划分为不同调度层,包括:
寻找应用工作流的入口任务;
从入口任务开始,采用广度优先算法遍历应用的DAG图,遍历的深度为每个任务分配调度编号,具有相同调度编号的任务划分为一个调度层。
可选的,所述寻找应用工作流的入口任务时,当存在多个入口任务时,加入虚拟任务节点,将虚拟任务节点与原多个入口任务节点连接形成新的DAG图,以虚拟任务节点作为工作流的入口任务。
可选的,所述为各任务分配不同的优先级,包括:
定义调度层中不同任务的优先级为计算平均计算数据量的价值,公式为:
Figure BDA0002940371070000031
其中,
Figure BDA0002940371070000032
表示任务vi的重要度,使用点中心度来衡量,wi表示任务vi的计算数据量。
可选的,所述依据任务的优先级顺序调整调度层内各任务执行顺序,包括:
将任务的优先级从大到小顺序作为调度层内各任务执行顺序。
可选的,计算工作流中各任务的执行代价,包括:
任务vi的完成时间由三部分组成:任务的卸载延迟Ti lat,任务计算时间Ti exe和依赖任务间的数据传输时间Ti',i,假设任务vi'是任务vi的前驱任务,卸载延迟Ti lat的计算公式为:
Figure BDA0002940371070000041
任务的计算时间Ti exe表示为:
Figure BDA0002940371070000042
其中,wi是任务vi的计算数据量;
基于任务vi'和任务vi的卸载不同情况,依赖任务间的数据传输时间Ti',i可以表示为:
Figure BDA0002940371070000043
其中,di',i表示任务间的传输数据量;STn表示卸载决策的不同情况:
Figure BDA0002940371070000044
其中,
Figure BDA0002940371070000051
表示异或二进制运算,SQ()和SZ()函数分别返回卸载决策对应计算资源的类型值q和编号值z,当q=0时表示移动终端计算资源,当q=1时表示边缘端服务器计算资源,当q=2时表示云端服务器计算资源;ST1表示任务vi'与任务vi卸载到不同的边缘服务器,ST2表示任务vi'与任务vi卸载到不同的云服务器,ST3表示任务vi'与任务vi分别卸载到移动终端和边缘服务器,ST4表示任务vi'与任务vi分别卸载到移动终端和云服务器或分别卸载到边缘服务器和云服务器,ST5表示任务vi'与任务vi的执行位置完全相同时用;
任务的完成时间表示为EFTi=ESTi+Ti exe,令EFTi表示任务vi的最早完成时间,ESTi为任务vi的最早开始时间,Ti exe为任务vi的计算时间;其中,
Figure BDA0002940371070000052
Figure BDA0002940371070000053
表示当任务vi决定卸载时资源服务器
Figure BDA0002940371070000054
的最早空闲时间,pre(vi)表示任务vi的前驱任务,EFTi表示任务vi的最早完成时间;
移动终端的任务能耗由两部分组成:执行能耗和传输能耗,对于执行能耗,由于移动终端包括执行和空闲两个状态,所以执行能耗可以表示为:
Figure BDA0002940371070000055
其中,Ti wait为任务vi等待时间;
传输能耗只有当卸载决策与移动终端即本地执行相关时才会产生,当任务vi'和任务vi其中一个任务在本地执行,另外一个任务卸载所产生的能耗表示为:
Figure BDA0002940371070000056
因此,任务vi总的能耗可以表示为:
Figure BDA0002940371070000057
从而将任务vi的执行代价定义为:
Figure BDA0002940371070000061
其中,Ti L
Figure BDA0002940371070000062
分别是移动终端应用任务vi在移动终端上计算时的完成时间和能耗;ξ是衡量应用完成时间和移动终端能耗重要性的权重因子。
可选的,所述目标为:
目标函数表达为:
Figure BDA0002940371070000063
s.t.C1:
Figure BDA0002940371070000064
C2:
Figure BDA0002940371070000065
其中,xi为每个任务的卸载决策,ESTi为任务的最早开始时间,EFTi为任务的最早完成时间,Ti',i为依赖任务间的数据传输时间,xm为应用程序中输出任务vm的卸载策略,m为任务数量;
限制条件C1保证计算任务只有等待其前驱任务执行完成后才开始执行;限制条件C2表明应用的输出任务只能在本地执行。
可选的,所述以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序依次确定每个任务的卸载决策,包括:
以应用的所有任务执行代价之和最小化为目标,按照调度层执行顺序逐层采用蚁群算法求解所述目标,按照任务执行顺序依次确定每个任务的卸载决策。
可选的,所述采用蚁群算法求解所述目标,按照任务执行顺序依次确定每个任务的卸载决策,包括:
步骤1:构建可行解中引入伪随机比例选择规则,此处每只蚂蚁的可行解解指该蚂蚁所得到的卸载决策,求解蚂蚁编号临界值:
Figure BDA0002940371070000066
其中,K表示蚂蚁数量;
Figure BDA0002940371070000071
都表示服务器资源,q、q'表示服务器类型编号,z、z′表示服务器编号;xi表示任务vi的卸载决策;alloweds表示移动边缘计算环境下可用的计算资源;
Figure BDA0002940371070000072
为卸载决策xi中选择服务器资源
Figure BDA0002940371070000073
和服务器资源
Figure BDA0002940371070000074
的路径信息素强度;
Figure BDA0002940371070000075
表示信息素强度最高路径即最优路径;
Figure BDA0002940371070000076
为信息素强度的积累值;
步骤2:若蚂蚁编号小于等于蚂蚁编号临界值,根据最优路径上的卸载决策确定任务卸载位置,若蚂蚁编号大于蚂蚁编号临界值,计算转移概率,根据轮盘赌原则选择任务执行位置;
转移概率的计算公式为:
Figure BDA0002940371070000077
Figure BDA0002940371070000078
其中,α和β分别表示信息素和启发因子加权值;
Figure BDA0002940371070000079
为卸载决策xi选择服务器
Figure BDA00029403710700000710
时的路径信息素强度;
Figure BDA00029403710700000711
为卸载决策xi选择计算资源
Figure BDA00029403710700000712
的启发因子,取任务执行代价的倒数,使得执行代价值越大,路径信息素强度更新越小
Figure BDA00029403710700000713
k表示蚂蚁编号;ki表示蚂蚁编号临界值;
Figure BDA00029403710700000714
表示任务vi的卸载决策xi选择的服务器
Figure BDA00029403710700000715
也就是任务vi的执行位置;
Figure BDA00029403710700000716
表示路径信息素强度最大上的服务器选择;
Figure BDA00029403710700000717
表示转移概率;
当迭代次数增加时,最优路径上的信息素强度会增加,由蚂蚁编号临界值的计算公式可以看出蚂蚁编号临界值也会呈现逐渐变大的趋势。迭代初期较小的蚂蚁编号临界值可以确保大部分蚂蚁根据转移概率,并通过轮盘赌选择任务执行位置,确保了可行解的多样性,迭代后期较大的蚂蚁编号临界值使得大部分蚂蚁选择最优路径,加快了算法的收敛;
步骤3:计算每只蚂蚁的社会值Socialk,比较社会值Socialk与设定阈值Social的大小,若Socialk≥Social,则蚂蚁为兵蚁,分配较大的权重系数进行局部信息素更新;若Socialk<Social,则蚂蚁为工蚁,分配较小的权重系数进行局部信息素更新;
信息素强度更新的公式为:
Figure BDA0002940371070000081
Figure BDA0002940371070000082
其中,k表示蚂蚁编号,Socialk表示每只蚂蚁的社会值,由本次迭代最优路径上决策的任务执行代价Costiter和蚂蚁k对应决策的任务执行代价Costk来决定,Costiter和Costk的值依据蚂蚁对当前调度层中所有任务的卸载决策,根据上述步骤中任务的执行代价计算公式可得;
Figure BDA0002940371070000083
为卸载决策xi选择服务器
Figure BDA0002940371070000084
时的路径信息素强度;Social表示阈值;ρl表示局部信息素挥发系数,σ1和σ2分别表示兵蚁和工蚁的更新权重系数,且σ1>σ2
Figure BDA0002940371070000085
表示信息素强度变量,用任务vi的卸载决策xi选择不同计算资源
Figure BDA0002940371070000086
时任务执行代价的倒数来计算。
步骤4:选出本次迭代最优路径,融入奖惩系数进行全局信息素更新:
Figure BDA0002940371070000087
Figure BDA0002940371070000088
Figure BDA0002940371070000091
其中,
Figure BDA0002940371070000092
为卸载决策xi选择服务器
Figure BDA0002940371070000093
时的路径信息素强度;ρg表示全局信息素挥发系数;
Figure BDA0002940371070000094
和Costbest分别表示至今最优卸载决策上的信息素强度变量和执行代价;ε和δ分别表示不同的奖惩系数;Costiter表示本次迭代最优路径上决策对应的任务执行代价。当Costiter>Costbest时,ε>1,说明本次迭代最优路径即本次迭代最优卸载决策对应的任务执行代价大于至今最优卸载决策上得到的全局最小执行代价,根据奖惩系数给对应策略予以“惩罚”,增大蚂蚁的开发能力,提高种群多样性。当Costiter<Costbest时,ε<1,说明本次迭代最优卸载决策对应的任务执行代价小于至今最优卸载决策上得到的全局最小执行代价,根据奖惩系数给对应策略予以“奖励”,加强该路径的信息素强度,加快收敛。随着迭代次数的增加,可能会出现ε=1的情况,为了避免陷入局部最优,引入另一个奖惩系数δ,主要对本次迭代最优卸载决策予以“惩罚”,增大对其他决策的搜索能力。
步骤5:采用Sigmoid函数,动态调整全局信息素浓度的挥发:
Figure BDA0002940371070000095
其中,
Figure BDA0002940371070000096
表示最大信息素挥发系数;θ表示常数,且θ∈(0,1);t为迭代次数。
步骤6:循环迭代,最终得到应用所有组成任务的最优卸载决策。
第二方面,本发明还提供了一种基于移动边缘计算的依赖型任务卸载装置,包括:
工作流转化模块,用于将移动终端上的应用形式化为多个任务组成的工作流,并用DAG图表示,图中顶点表示任务,边表示任务之间的依赖关系;
调度层划分模块,用于遍历应用的DAG图,依据遍历的深度将工作流中所有任务划分为不同调度层并确定各调度层的执行顺序;
任务顺序调整模块,用于为每个调度层内的各任务分配不同的优先级,依据任务的优先级顺序调整调度层内各任务执行顺序;
执行代价计算模块,用于计算工作流中各任务的执行代价;
卸载决策计算模块,用于以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序依次确定每个任务的卸载决策。
与现有技术相比,本发明所达到的有益效果是:移动终端的执行代价显著减少,充分利用了计算资源,有效保证了服务质量,降低了应用的完成时间和移动终端的能耗。
附图说明
图1示出本发明实施例的云边端协同架构;
图2示出本发明实施例的基于移动边缘计算的依赖型任务卸载策略流程图;
图3示出本发明实施例的安排任务执行顺序的流程图;
图4示出本发明实施例的动态调整执行位置的流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
本发明实施例为如图1所示的云边端协同架构,假设移动终端拥有单个应用程序需要执行,应用程序可以根据它的需求和当前网络的状态确定其任务是否卸载(注意,有一些不可卸载的任务部分不能卸载)。用集合S={Scld,Sedg,Sdev}表示环境中的计算资源,其中若环境中存在c个云服务器,
Figure BDA0002940371070000111
表示云中所有计算资源;若环境中存在r个边缘服务器,
Figure BDA0002940371070000112
表示边缘端所有的计算资源;移动终端中存在服务器用Sdev表示,这里只考虑单个移动终端,所以
Figure BDA0002940371070000113
集合中单个服务器资源用
Figure BDA0002940371070000114
表示,其中z表示服务器编号,取值1,2…,q表示服务器类型,取值为0表示移动终端,取值为1表示边缘服务器,取值为2表示云端服务器。
移动终端可表示为一个四元组L={fl,Pidle,Pcomp,Ptransfer},其中,fl为移动设备的计算能力;Pidle和Pcomp分别是移动设备的CPU在空闲状态和工作状态下的功率;Ptransfer为移动设备的传输功率。边缘服务器可表示为一个三元组VMedg={fedg,BLAN,LLAN},其中,fedg为边缘服务器计算能力,BLAN为局域网LAN的带宽,LLAN为局域网LAN的延迟。云服务器可表示为一个三元组VMc={fcld,BWAN,LWAN},其中,fcld为云服务器计算能力,BWAN为广域网WAN的带宽,LWAN为局域网WAN的延迟。
在研究任务的卸载模型时,不同于以往与全部卸载相关的研究,模型中考虑到存在依赖关系的任务间数据传输所需时间和能耗,在完成时间和能耗上加权求和作为执行代价函数,并以最小化执行代价为目标。
因此,构建基于用户应用完成时间和能耗的执行代价函数,是本发明实施的先决条件。引入决策机制X={x1,x2,...,xi,...,xm},其中xi为应用程序中任务vi的卸载策略。卸载策略表示任务和计算资源的服务映射,当xi∈Sdev时,表示任务vi分配给移动终端;当xi∈Sedg时,表示任务vi卸载到边缘服务器;当xi∈Scld时,表示任务vi卸载到云服务器。
第一方面,本发明的一种基于移动边缘计算的依赖型任务卸载方法,参见图2所示,包括以下过程:
步骤S1:考虑到移动终端上的应用一般都由多个任务组成,为表达不同任务之间的依赖关系,将应用形式化为工作流,用DAG图(有向无环图)表示,图中顶点表示任务,边表示任务之间的依赖关系。
步骤S2:通过广度优先搜索算法遍历应用DAG图结构,为工作流中每个组成任务分配调度编号,相同调度编号的任务划分为同一个调度层,所有调度层形成调度列表。对于不同调度层的任务按照调度层编号顺序执行以保证任务间的依赖关系。
具体步骤为:
步骤S2.1:寻找应用程序工作流的入口任务,当存在多个入口任务时,加入虚拟任务节点v0,将虚拟任务节点v0与原多个入口任务节点连接形成新的DAG图,以虚拟任务节点v0作为工作流的入口任务,保证最后的DAG图拥有单个入口任务以便进行遍历。
步骤S2.2:从入口任务开始,采用广度优先算法遍历新DAG图,基于任务所属DAG图的层数(遍历的深度)为每个组成任务分配调度编号s,调度层sls就是将所有具有相同调度编号s的任务存储在二维数组列表的同一行中,所有调度层形成调度列表SL={sls|1≤s≤S},其中S代表调度层数的最大值,具体的调度编号取值范围根据实际DAG图结构的层数确定。
步骤S3:给任务分配不同优先级,对于同一调度层中的任务根据优先级的定义从大到小依次排序以进一步调整任务执行顺序。
调度层中各任务执行顺序调整步骤参见图3所示,具体包括:
步骤S3.1:定义调度层中不同任务的优先级,实际意义为计算平均计算数据量的价值,公式为:
Figure BDA0002940371070000131
其中,
Figure BDA0002940371070000132
表示任务vi的重要度,使用点中心度来衡量,点中心度指一个任务节点与其他任务节点的连接的总和,一个任务节点的点中心度越大说明这个任务节点越重要;wi表示任务的计算数据量。
步骤S3.2:根据优先级的定义将调度层中的任务按照从大到小的顺序排序,平均计算价值量越高,就说明优先级越高,任务就越早执行。
步骤S4:根据移动终端的应用需求,计算工作流中各个任务的执行代价,以便在后续卸载决策中根据移动终端各任务的执行代价,获得应用工作流中各个任务的卸载决策。
选取实际场景中人脸识别作为移动终端应用,将应用表达为工作流后,任务vi的完成时间由三部分组成:任务的卸载延迟Ti lat,任务计算时间Ti exe和依赖任务间的数据传输时间Ti',i,假设任务vi'是任务vi的前驱任务,卸载延迟Ti lat的计算公式为:
Figure BDA0002940371070000133
任务的计算时间Ti exe表示为:
Figure BDA0002940371070000134
其中,wi是任务vi的计算数据量。
因为任务间不同的卸载决策都会对传输时间产生影响,所以基于任务vi'和任务vi的卸载不同情况,依赖任务(任务vi'与任务vi)间的数据传输时间Ti',i可以表示为:
Figure BDA0002940371070000141
其中,di',i表示任务间的传输数据量;STn表示卸载决策的不同情况:
Figure BDA0002940371070000142
其中,
Figure BDA0002940371070000143
表示异或二进制运算,SQ()和SZ()函数分别返回卸载决策对应计算资源的类型值q和编号值z,当q=0时表示移动终端计算资源,当q=1时表示边缘端服务器计算资源,当q=2时表示云端服务器计算资源。ST1表示任务vi'与任务vi卸载到不同的边缘服务器,ST2表示任务vi'与任务vi卸载到不同的云服务器,ST3表示任务vi'与任务vi分别卸载到移动终端和边缘服务器,ST4表示任务vi'与任务vi分别卸载到移动终端和云服务器或分别卸载到边缘服务器和云服务器,ST5表示任务vi'与任务vi的执行位置完全相同时用。
当计算出任务的卸载延迟,计算时间和数据传输时间后,任务的完成时间可表示为EFTi=ESTi+Ti exe,令EFTi表示任务vi的最早完成时间,ESTi为任务vi的最早开始时间,Ti exe为任务vi的计算时间。其中,
Figure BDA0002940371070000144
Figure BDA0002940371070000145
表示当任务vi决定卸载时资源服务器
Figure BDA0002940371070000146
的最早空闲时间,pre(vi)表示任务vi的前驱任务,EFTi表示任务vi的最早完成时间。
移动终端的任务能耗由两部分组成:执行能耗和传输能耗,对于执行能耗,由于移动终端包括执行和空闲两个状态,所以执行能耗可以表示为:
Figure BDA0002940371070000151
其中,Ti wait为任务vi等待时间。
传输能耗只有当卸载决策与移动终端即本地执行相关时才会产生,当任务vi'和任务vi其中一个任务在本地执行,另外一个任务卸载所产生的能耗表示为:
Figure BDA0002940371070000152
因此,任务vi总的能耗可以表示为:
Figure BDA0002940371070000153
用户将任务卸载的目的是获得比本地更好的性能,以符合用户对低时延低能耗的期待。从而将任务vi的执行代价定义为:
Figure BDA0002940371070000154
其中,Ti L
Figure BDA0002940371070000155
分别是移动终端应用任务vi在本地(即移动终端上)计算时的完成时间和能耗;ξ是衡量应用完成时间和移动终端能耗重要性的权重因子,当移动终端的电量较低时,权重因子设定偏小,以注重能耗方面的损失,当任务对完成时间要求较高时,权重因子设定偏大,以确保任务尽快完成,为了均衡这里取值为0.5。
应用执行代价为:
Figure BDA0002940371070000156
其中,m为任务数量。
综上所述,计算任务卸载问题可以转化为应用执行代价最小化问题,执行代价为任务完成时间和终端能耗的加权和,为得到应用各组成任务的最优卸载决策以最小化应用执行代价,目标函数表达为:
Figure BDA0002940371070000157
s.t.C1:
Figure BDA0002940371070000158
C2:
Figure BDA0002940371070000161
其中,xi为每个任务的卸载决策,ESTi为任务的最早开始时间,EFTi为任务的最早完成时间,Ti',i为依赖任务间的数据传输时间,xm为应用程序中输出任务vm的卸载策略,m为任务数量。
限制条件C1保证计算任务只有等待其前驱任务执行完成后才开始执行。根据系统模型,应用程序的输出任务一般都负责收集其他组成任务的执行结果并返回移动终端,限制条件C2表明应用的输出任务只能在本地执行。
步骤S5:对上述步骤得到的调度列表中不同的调度层逐一采用改进蚁群算法,以最小化应用执行代价为目标动态调整任务执行位置以得到最优卸载决策。
采用改进蚁群算法求解任务执行位置具体步骤参见图4所示,具体步骤为:
步骤S5.1:构建可行解中引入伪随机比例选择规则,此处每只蚂蚁的可行解解指该蚂蚁所得到的卸载决策,求解蚂蚁编号临界值:
Figure BDA0002940371070000162
其中,K表示蚂蚁数量,设为20;
Figure BDA0002940371070000163
都表示服务器资源,q、q'表示服务器类型编号,z、z′表示服务器编号;xi表示任务vi的卸载决策;alloweds表示移动边缘计算环境下可用的计算资源;
Figure BDA0002940371070000164
为卸载决策xi中选择服务器资源
Figure BDA0002940371070000165
和服务器资源
Figure BDA0002940371070000166
的路径信息素强度;
Figure BDA0002940371070000167
表示信息素强度最高路径即最优路径;
Figure BDA0002940371070000168
为信息素强度的积累值。
步骤S5.2:若蚂蚁编号小于等于蚂蚁编号临界值,根据最优路径上的卸载决策确定任务卸载位置,若蚂蚁编号大于蚂蚁编号临界值,计算转移概率,根据轮盘赌原则选择任务执行位置;
转移概率的计算公式为:
Figure BDA0002940371070000171
Figure BDA0002940371070000172
其中,α和β分别表示信息素和启发因子加权值;
Figure BDA0002940371070000173
为卸载决策xi选择服务器
Figure BDA0002940371070000174
时的路径信息素强度;
Figure BDA0002940371070000175
为卸载决策xi选择计算资源
Figure BDA0002940371070000176
的启发因子,取任务执行代价的倒数,使得执行代价值越大,路径信息素强度更新越小
Figure BDA0002940371070000177
k表示蚂蚁编号;ki表示蚂蚁编号临界值;
Figure BDA0002940371070000178
表示任务vi的卸载决策xi选择的服务器
Figure BDA0002940371070000179
也就是任务vi的执行位置;
Figure BDA00029403710700001710
表示路径信息素强度最大上的服务器选择;
Figure BDA00029403710700001711
表示转移概率。
当迭代次数增加时,最优路径上的信息素强度会增加,由蚂蚁编号临界值的计算公式可以看出蚂蚁编号临界值也会呈现逐渐变大的趋势。迭代初期较小的蚂蚁编号临界值可以确保大部分蚂蚁根据转移概率,并通过轮盘赌选择任务执行位置,确保了可行解的多样性,迭代后期较大的蚂蚁编号临界值使得大部分蚂蚁选择最优路径,加快了算法的收敛。
步骤S5.3:计算每只蚂蚁的社会值Socialk,比较社会值Socialk与设定阈值Social的大小,若Socialk≥Social,则蚂蚁为兵蚁,分配较大的权重系数进行局部信息素更新;若Socialk<Social,则蚂蚁为工蚁,分配较小的权重系数进行局部信息素更新;
信息素强度更新的公式为:
Figure BDA00029403710700001712
Figure BDA0002940371070000181
其中,k表示蚂蚁编号,Socialk表示每只蚂蚁的社会值,由本次迭代最优路径上决策的任务执行代价Costiter和蚂蚁k对应决策的任务执行代价Costk来决定,Costiter和Costk的值依据蚂蚁对当前调度层中所有任务的卸载决策,根据上述步骤中任务的执行代价计算公式可得;
Figure BDA0002940371070000182
为卸载决策xi选择服务器
Figure BDA0002940371070000183
时的路径信息素强度;Social表示阈值;ρl表示局部信息素挥发系数,σ1和σ2分别表示兵蚁和工蚁的更新权重系数,且σ1>σ2
Figure BDA0002940371070000184
表示信息素强度变量,用任务vi的卸载决策xi选择不同计算资源
Figure BDA0002940371070000185
时任务执行代价的倒数来计算。
步骤S5.4:选出本次迭代最优路径,融入奖惩系数进行全局信息素更新:
Figure BDA0002940371070000186
Figure BDA0002940371070000187
Figure BDA0002940371070000188
其中,
Figure BDA0002940371070000189
为卸载决策xi选择服务器
Figure BDA00029403710700001810
时的路径信息素强度;ρg表示全局信息素挥发系数;
Figure BDA00029403710700001811
和Costbest分别表示至今最优卸载决策上的信息素强度变量和执行代价;ε和δ分别表示不同的奖惩系数;Costiter表示本次迭代最优路径上决策对应的任务执行代价。当Costiter>Costbest时,ε>1,说明本次迭代最优路径即本次迭代最优卸载决策对应的任务执行代价大于至今最优卸载决策上得到的全局最小执行代价,根据奖惩系数给对应策略予以“惩罚”,增大蚂蚁的开发能力,提高种群多样性。当Costiter<Costbest时,ε<1,说明本次迭代最优卸载决策对应的任务执行代价小于至今最优卸载决策上得到的全局最小执行代价,根据奖惩系数给对应策略予以“奖励”,加强该路径的信息素强度,加快收敛。随着迭代次数的增加,可能会出现ε=1的情况,为了避免陷入局部最优,引入另一个奖惩系数δ,主要对本次迭代最优卸载决策予以“惩罚”,增大对其他决策的搜索能力。
步骤S5.5:采用Sigmoid函数,动态调整全局信息素浓度的挥发:
Figure BDA0002940371070000191
其中,
Figure BDA0002940371070000192
表示最大信息素挥发系数;θ表示常数,且θ∈(0,1);t为迭代次数。
步骤S5.6:对调度列表中不同的调度层逐一采用改进蚁群算法后,最终可以得到应用程序所有组成任务的最优卸载决策。
综上所述,采用蚁群算法求解目标函数的具体步骤为:
(1)对调度列表中各调度层逐一采用算法,在当前调度层中,对算法涉及到的蚂蚁数量,最大迭代次数,信息素强度和上一调度层的卸载决策进行初始化;
(2)开始迭代,计算每次迭代中每个任务对应的蚂蚁编号临界值;
(3)若蚂蚁编号小于等于任务对应的蚂蚁编号临界值,任务根据最优路径上的卸载决策确定任务执行位置,若蚂蚁编号大于任务对应的蚂蚁编号临界值,计算转移概率,任务根据轮盘赌原则选择任务执行位置;
(4)计算蚂蚁社会值,根据社会值与设定阈值的大小比较结果,分别分配较大和较小的权重系数进行局部信息素更新;
(5)选出本次迭代最优路径,融入奖惩系数进行全局信息素更新;
(6)迭代完成后记录当前调度层的卸载决策。
与现有技术相比,本发明具有如下显而易见的突出实质性特点和显著的优点:
1)本发明考虑到移动终端应用中各组成任务的依赖关系,相比于整体卸载策略的全部卸载或者全部本地执行,组成任务可以自由选择卸载决策,有利于移动边缘计算环境中资源的充分利用;
2)本发明考虑了任务执行顺序对应用性能的影响,通过划分调度层和分配优先级,为卸载决策做好了准备。由于调度层的划分是依据广度优先搜索的遍历结果,相同调度层中任务为不受依赖关系影响的可并行任务,所以通过划分调度层可以最大化并行执行的任务数量,按照调度层大小依次进行卸载决策也能够使依赖任务间的顺序执行得以满足。由于应用程序并行任务之间具有差异性,不同的执行位置也可能会造成不同的任务完成时间和移动终端能耗,所以给同一调度层中各任务分配优先级也可以进一步减小任务完成时间和移动终端能耗;
3)本发明采用改进后的蚁群算法,避免了传统蚁群收敛速度慢、易陷入局部最优的缺点。通过改进后的蚁群算法,任务的执行位置可以动态调整以最小化执行代价,相比于随机卸载可以获得更低的完成时间和能耗,更好的保障了用户体验。
实施例2
第二方面,本发明的一种基于移动边缘计算的依赖型任务卸载装置,包括:
工作流转化模块,用于将移动终端上的应用形式化为多个任务组成的工作流,并用DAG图表示,图中顶点表示任务,边表示任务之间的依赖关系;
调度层划分模块,用于遍历应用的DAG图,依据遍历的深度将工作流中所有任务划分为不同调度层并确定各调度层的执行顺序;
任务顺序调整模块,用于为每个调度层内的各任务分配不同的优先级,依据任务的优先级顺序调整调度层内各任务执行顺序;
执行代价计算模块,用于计算工作流中各任务的执行代价;
卸载决策计算模块,用于以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序依次确定每个任务的卸载决策。
本发明装置中各模块的具体实现方案参见方法的具体实现步骤过程。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

Claims (10)

1.一种基于移动边缘计算的依赖型任务卸载方法,其特征是,包括以下过程:
将移动终端上的应用形式化为多个任务组成的工作流,并用DAG图表示;
遍历应用的DAG图,依据遍历的深度将工作流中所有任务划分为不同调度层并确定各调度层的执行顺序;
为每个调度层内的各任务分配不同的优先级,依据任务的优先级顺序调整调度层内各任务执行顺序;
计算工作流中各任务的执行代价;
以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序依次确定每个任务的卸载决策。
2.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述依据遍历的深度将工作流中所有任务划分为不同调度层,包括:
寻找应用工作流的入口任务;
从入口任务开始,采用广度优先算法遍历应用的DAG图,遍历的深度为每个任务分配调度编号,具有相同调度编号的任务划分为一个调度层。
3.根据权利要求2所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述寻找应用工作流的入口任务时,当存在多个入口任务时,加入虚拟任务节点,将虚拟任务节点与原多个入口任务节点连接形成新的DAG图,以虚拟任务节点作为工作流的入口任务。
4.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述为各任务分配不同的优先级,包括:
定义调度层中不同任务的优先级为计算平均计算数据量的价值,公式为:
Figure FDA0002940371060000021
其中,
Figure FDA0002940371060000022
表示任务vi的重要度,使用点中心度来衡量,wi表示任务vi的计算数据量。
5.根据权利要求4所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述依据任务的优先级顺序调整调度层内各任务执行顺序,包括:
将任务的优先级从大到小顺序作为调度层内各任务执行顺序。
6.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,计算工作流中各任务的执行代价,包括:
任务vi的完成时间由三部分组成:任务的卸载延迟Ti lat,任务计算时间Ti exe和依赖任务间的数据传输时间Ti',i,假设任务vi'是任务vi的前驱任务,卸载延迟Ti lat的计算公式为:
Figure FDA0002940371060000023
任务的计算时间Ti exe表示为:
Figure FDA0002940371060000024
其中,wi是任务vi的计算数据量;
基于任务vi'和任务vi的卸载不同情况,依赖任务间的数据传输时间Ti',i可以表示为:
Figure FDA0002940371060000031
其中,di',i表示任务间的传输数据量;STn表示卸载决策的不同情况:
Figure FDA0002940371060000032
其中,
Figure FDA0002940371060000033
表示异或二进制运算,SQ()和SZ()函数分别返回卸载决策对应计算资源的类型值q和编号值z,当q=0时表示移动终端计算资源,当q=1时表示边缘端服务器计算资源,当q=2时表示云端服务器计算资源;ST1表示任务vi'与任务vi卸载到不同的边缘服务器,ST2表示任务vi'与任务vi卸载到不同的云服务器,ST3表示任务vi'与任务vi分别卸载到移动终端和边缘服务器,ST4表示任务vi'与任务vi分别卸载到移动终端和云服务器或分别卸载到边缘服务器和云服务器,ST5表示任务vi'与任务vi的执行位置完全相同时用;
任务的完成时间表示为EFTi=ESTi+Ti exe,令EFTi表示任务vi的最早完成时间,ESTi为任务vi的最早开始时间,Ti exe为任务vi的计算时间;其中,
Figure FDA0002940371060000034
Figure FDA0002940371060000035
表示当任务vi决定卸载时资源服务器
Figure FDA0002940371060000036
的最早空闲时间,pre(vi)表示任务vi的前驱任务,EFTi表示任务vi的最早完成时间;
移动终端的任务能耗由两部分组成:执行能耗和传输能耗,对于执行能耗,由于移动终端包括执行和空闲两个状态,所以执行能耗可以表示为:
Figure FDA0002940371060000041
其中,Ti wait为任务vi等待时间;
传输能耗只有当卸载决策与移动终端即本地执行相关时才会产生,当任务vi'和任务vi其中一个任务在本地执行,另外一个任务卸载所产生的能耗表示为:
Figure FDA0002940371060000042
因此,任务vi总的能耗可以表示为:
Figure FDA0002940371060000043
从而将任务vi的执行代价定义为:
Figure FDA0002940371060000044
其中,Ti L
Figure FDA0002940371060000045
分别是移动终端应用任务vi在移动终端上计算时的完成时间和能耗;ξ是衡量应用完成时间和移动终端能耗重要性的权重因子。
7.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述目标为:
目标函数表达为:
Figure FDA0002940371060000046
Figure FDA0002940371060000047
Figure FDA0002940371060000048
其中,Cost为应用所有任务的执行代价之和,xi为每个任务的卸载决策,ESTi为任务的最早开始时间,EFTi为任务的最早完成时间,Ti',i为依赖任务间的数据传输时间,xm为应用程序中输出任务vm的卸载策略,m为任务数量;
限制条件C1保证计算任务只有等待其前驱任务执行完成后才开始执行;限制条件C2表明应用的输出任务只能在本地执行。
8.根据权利要求1所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序依次确定每个任务的卸载决策,包括:
以应用的所有任务执行代价之和最小化为目标,按照调度层执行顺序逐层采用改进蚁群算法求解所述目标,按照任务执行顺序确定每个任务的卸载决策。
9.根据权利要求8所述的一种基于移动边缘计算的依赖型任务卸载方法,其特征是,所述采用改进蚁群算法求解所述目标,按照任务执行顺序依次确定每个任务的卸载决策,包括:
步骤1:构建可行解中引入伪随机比例选择规则,此处每只蚂蚁的可行解解指该蚂蚁所得到的卸载决策,求解蚂蚁编号临界值:
Figure FDA0002940371060000051
其中,K表示蚂蚁数量;
Figure FDA0002940371060000052
都表示服务器资源,q、q'表示服务器类型编号,z、z′表示服务器编号;xi表示任务vi的卸载决策;alloweds表示移动边缘计算环境下可用的计算资源;
Figure FDA0002940371060000053
为卸载决策xi中选择服务器资源
Figure FDA0002940371060000054
和服务器资源
Figure FDA0002940371060000055
的路径信息素强度;
Figure FDA0002940371060000056
表示信息素强度最高路径即最优路径;
Figure FDA0002940371060000057
为信息素强度的积累值;
步骤2:若蚂蚁编号小于等于蚂蚁编号临界值,根据最优路径上的卸载决策确定任务卸载位置,若蚂蚁编号大于蚂蚁编号临界值,计算转移概率,根据轮盘赌原则选择任务执行位置;
转移概率的计算公式为:
Figure FDA0002940371060000058
Figure FDA0002940371060000061
其中,α和β分别表示信息素和启发因子加权值;
Figure FDA0002940371060000062
为卸载决策xi选择服务器
Figure FDA0002940371060000063
时的路径信息素强度;
Figure FDA0002940371060000064
为卸载决策xi选择计算资源
Figure FDA0002940371060000065
的启发因子,取任务执行代价的倒数,使得执行代价值越大,路径信息素强度更新越小
Figure FDA0002940371060000066
k表示蚂蚁编号;ki表示蚂蚁编号临界值;
Figure FDA0002940371060000067
表示任务vi的卸载决策xi选择的服务器
Figure FDA0002940371060000068
也就是任务vi的执行位置;
Figure FDA0002940371060000069
表示路径信息素强度最大上的服务器选择;
Figure FDA00029403710600000610
表示转移概率;
步骤3:计算每只蚂蚁的社会值Socialk,比较社会值Socialk与设定阈值Social的大小,若Socialk≥Social,则蚂蚁为兵蚁,分配较大的权重系数进行局部信息素更新;若Socialk<Social,则蚂蚁为工蚁,分配较小的权重系数进行局部信息素更新;
信息素强度更新的公式为:
Figure FDA00029403710600000611
Figure FDA00029403710600000612
其中,k表示蚂蚁编号,Socialk表示每只蚂蚁的社会值,由本次迭代最优路径上决策的任务执行代价Costiter和蚂蚁k对应决策的任务执行代价Costk来决定,Costiter和Costk的值依据蚂蚁对当前调度层中任务的卸载决策,根据任务的执行代价计算公式可得;
Figure FDA00029403710600000613
为卸载决策xi选择服务器
Figure FDA00029403710600000614
时的路径信息素强度;Social表示阈值;ρl表示局部信息素挥发系数,σ1和σ2分别表示兵蚁和工蚁的更新权重系数,且σ1>σ2
Figure FDA00029403710600000615
表示信息素强度变量,用任务vi的卸载决策xi选择不同计算资源
Figure FDA0002940371060000071
时任务执行代价的倒数来计算;
步骤4:选出本次迭代最优路径,融入奖惩系数进行全局信息素更新:
Figure FDA0002940371060000072
Figure FDA0002940371060000073
Figure FDA0002940371060000074
其中,
Figure FDA0002940371060000075
为卸载决策xi选择服务器
Figure FDA0002940371060000076
时的路径信息素强度;ρg表示全局信息素挥发系数;
Figure FDA0002940371060000077
和Costbest分别表示至今最优卸载决策上的信息素强度变量和执行代价;ε和δ分别表示不同的奖惩系数;Costiter表示本次迭代最优路径上决策对应的任务执行代价;
步骤5:采用Sigmoid函数,动态调整全局信息素浓度的挥发:
Figure FDA0002940371060000078
其中,
Figure FDA0002940371060000079
表示最大信息素挥发系数;θ表示常数,且θ∈(01);t为迭代次数;
步骤6:循环迭代,最终得到应用所有组成任务的最优卸载决策。
10.一种基于移动边缘计算的依赖型任务卸载装置,其特征是,包括:
工作流转化模块,用于将移动终端上的应用形式化为多个任务组成的工作流,并用DAG图表示;
调度层划分模块,用于遍历应用的DAG图,依据遍历的深度将工作流中所有任务划分为不同调度层并确定各调度层的执行顺序;
任务顺序调整模块,用于为每个调度层内的各任务分配不同的优先级,依据任务的优先级顺序调整调度层内各任务执行顺序;
执行代价计算模块,用于计算工作流中各任务的执行代价;
卸载决策计算模块,用于以应用的所有任务执行代价之和最小化为目标,按照任务执行顺序确定每个任务的卸载决策。
CN202110174953.XA 2021-02-09 2021-02-09 一种基于移动边缘计算的依赖型任务卸载方法及装置 Active CN112988345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110174953.XA CN112988345B (zh) 2021-02-09 2021-02-09 一种基于移动边缘计算的依赖型任务卸载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110174953.XA CN112988345B (zh) 2021-02-09 2021-02-09 一种基于移动边缘计算的依赖型任务卸载方法及装置

Publications (2)

Publication Number Publication Date
CN112988345A true CN112988345A (zh) 2021-06-18
CN112988345B CN112988345B (zh) 2024-04-02

Family

ID=76347930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110174953.XA Active CN112988345B (zh) 2021-02-09 2021-02-09 一种基于移动边缘计算的依赖型任务卸载方法及装置

Country Status (1)

Country Link
CN (1) CN112988345B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515324A (zh) * 2021-07-16 2021-10-19 广东工业大学 一种基于有向无环图的卸载决策的协同边缘计算方法、装置、电子设备及存储介质
CN113741999A (zh) * 2021-08-25 2021-12-03 江南大学 一种基于移动边缘计算的面向依赖型任务卸载方法及装置
CN114024977A (zh) * 2021-10-29 2022-02-08 深圳市高德信通信股份有限公司 一种基于边缘计算的数据调度方法、装置及系统
CN114143212A (zh) * 2021-11-26 2022-03-04 天津大学 一种面向智慧城市的社会化学习方法
CN114205420A (zh) * 2021-12-14 2022-03-18 深圳Tcl新技术有限公司 任务调度方法、装置、存储介质及电子设备
CN114327526A (zh) * 2022-01-05 2022-04-12 安徽大学 一种移动边缘计算环境中的任务卸载方法及其应用
CN114781950A (zh) * 2022-06-22 2022-07-22 中国人民解放军32035部队 基于蚁群算法的雷达资源调度策略、装置以及电子设备
CN114980216A (zh) * 2022-06-01 2022-08-30 江南大学 基于移动边缘计算的依赖型任务卸载系统及方法
WO2023103390A1 (zh) * 2021-12-07 2023-06-15 北京百度网讯科技有限公司 任务处理方法、任务处理装置、电子设备以及存储介质
CN117806806A (zh) * 2024-02-28 2024-04-02 湖南科技大学 任务部分卸载调度方法、终端设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109829332A (zh) * 2019-01-03 2019-05-31 武汉理工大学 一种基于能量收集技术的联合计算卸载方法及装置
CN110413392A (zh) * 2019-07-25 2019-11-05 北京工业大学 一种移动边缘计算场景下制定单任务迁移策略的方法
US20200097333A1 (en) * 2018-09-26 2020-03-26 Ciena Corporation Scalable task scheduling systems and methods for cyclic interdependent tasks using semantic analysis
CN111756812A (zh) * 2020-05-29 2020-10-09 华南理工大学 一种能耗感知的边云协同动态卸载调度方法
CN112181655A (zh) * 2020-09-30 2021-01-05 杭州电子科技大学 一种移动边缘计算中基于混合遗传算法的计算卸载方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200097333A1 (en) * 2018-09-26 2020-03-26 Ciena Corporation Scalable task scheduling systems and methods for cyclic interdependent tasks using semantic analysis
CN109829332A (zh) * 2019-01-03 2019-05-31 武汉理工大学 一种基于能量收集技术的联合计算卸载方法及装置
CN110413392A (zh) * 2019-07-25 2019-11-05 北京工业大学 一种移动边缘计算场景下制定单任务迁移策略的方法
CN111756812A (zh) * 2020-05-29 2020-10-09 华南理工大学 一种能耗感知的边云协同动态卸载调度方法
CN112181655A (zh) * 2020-09-30 2021-01-05 杭州电子科技大学 一种移动边缘计算中基于混合遗传算法的计算卸载方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515324A (zh) * 2021-07-16 2021-10-19 广东工业大学 一种基于有向无环图的卸载决策的协同边缘计算方法、装置、电子设备及存储介质
CN113515324B (zh) * 2021-07-16 2024-06-11 广东工业大学 一种基于有向无环图的卸载决策的协同边缘计算方法、装置、电子设备及存储介质
CN113741999A (zh) * 2021-08-25 2021-12-03 江南大学 一种基于移动边缘计算的面向依赖型任务卸载方法及装置
CN113741999B (zh) * 2021-08-25 2024-03-26 江南大学 一种基于移动边缘计算的面向依赖型任务卸载方法及装置
CN114024977A (zh) * 2021-10-29 2022-02-08 深圳市高德信通信股份有限公司 一种基于边缘计算的数据调度方法、装置及系统
CN114024977B (zh) * 2021-10-29 2024-02-06 深圳市高德信通信股份有限公司 一种基于边缘计算的数据调度方法、装置及系统
CN114143212A (zh) * 2021-11-26 2022-03-04 天津大学 一种面向智慧城市的社会化学习方法
WO2023103390A1 (zh) * 2021-12-07 2023-06-15 北京百度网讯科技有限公司 任务处理方法、任务处理装置、电子设备以及存储介质
CN114205420A (zh) * 2021-12-14 2022-03-18 深圳Tcl新技术有限公司 任务调度方法、装置、存储介质及电子设备
CN114327526B (zh) * 2022-01-05 2024-05-28 安徽大学 一种移动边缘计算环境中的任务卸载方法及其应用
CN114327526A (zh) * 2022-01-05 2022-04-12 安徽大学 一种移动边缘计算环境中的任务卸载方法及其应用
CN114980216A (zh) * 2022-06-01 2022-08-30 江南大学 基于移动边缘计算的依赖型任务卸载系统及方法
CN114980216B (zh) * 2022-06-01 2024-03-22 江南大学 基于移动边缘计算的依赖型任务卸载系统及方法
CN114781950A (zh) * 2022-06-22 2022-07-22 中国人民解放军32035部队 基于蚁群算法的雷达资源调度策略、装置以及电子设备
CN117806806A (zh) * 2024-02-28 2024-04-02 湖南科技大学 任务部分卸载调度方法、终端设备及存储介质
CN117806806B (zh) * 2024-02-28 2024-05-17 湖南科技大学 任务部分卸载调度方法、终端设备及存储介质

Also Published As

Publication number Publication date
CN112988345B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
CN112988345B (zh) 一种基于移动边缘计算的依赖型任务卸载方法及装置
Bi et al. Joint optimization of service caching placement and computation offloading in mobile edge computing systems
Zhao et al. Offloading tasks with dependency and service caching in mobile edge computing
CN113950066A (zh) 移动边缘环境下单服务器部分计算卸载方法、系统、设备
CN112380008B (zh) 一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法
Xu et al. Multiobjective computation offloading for workflow management in cloudlet‐based mobile cloud using NSGA‐II
CN113220356B (zh) 一种移动边缘计算中的用户计算任务卸载方法
CN113867843B (zh) 一种基于深度强化学习的移动边缘计算任务卸载方法
CN109710372B (zh) 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN115330189A (zh) 一种基于改进飞蛾火焰算法的工作流优化调度方法
CN113741999B (zh) 一种基于移动边缘计算的面向依赖型任务卸载方法及装置
CN115714820A (zh) 一种分布式的微服务调度优化方法
Chen et al. Joint optimization of task offloading and resource allocation via deep reinforcement learning for augmented reality in mobile edge network
Lv et al. TBTOA: a DAG-based task offloading scheme for mobile edge computing
Whaiduzzaman et al. Credit based task scheduling process management in fog computing
CN117579701A (zh) 一种移动边缘网络计算卸载方法及系统
CN112596910A (zh) 一种多用户mec系统中的云计算资源调度方法
CN114980216B (zh) 基于移动边缘计算的依赖型任务卸载系统及方法
CN110743164B (zh) 一种用于降低云游戏中响应延迟的动态资源划分方法
CN117202264A (zh) Mec环境中面向5g网络切片的计算卸载方法
Zhang et al. Delay-sensitive computation partitioning for mobile augmented reality applications
Shubair Enhancement of task scheduling technique of big data cloud computing
Rad et al. Brain drain optimization: a novel approach for task scheduling in the cloud computing
Djigal et al. BUDA: Budget and deadline aware scheduling algorithm for task graphs in heterogeneous systems
Bian et al. Dependency-Aware Task Scheduling and Offloading Scheme based on Graph Neural Network For MEC-Assisted Network

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