CN114610503A - 边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法和系统 - Google Patents
边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法和系统 Download PDFInfo
- Publication number
- CN114610503A CN114610503A CN202210366936.0A CN202210366936A CN114610503A CN 114610503 A CN114610503 A CN 114610503A CN 202210366936 A CN202210366936 A CN 202210366936A CN 114610503 A CN114610503 A CN 114610503A
- Authority
- CN
- China
- Prior art keywords
- task
- application
- edge
- edge computing
- linked list
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013507 mapping Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 4
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims description 3
- 239000002243 precursor Substances 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 abstract description 3
- 238000013468 resource allocation Methods 0.000 abstract description 2
- 239000013259 porous coordination polymer Substances 0.000 description 26
- 238000005457 optimization Methods 0.000 description 3
- 239000002904 solvent Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
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)
- Mobile Radio Communication Systems (AREA)
Abstract
边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法和系统,具体而言,是由需要为应用进行计算卸载的用户设备先根据当前移动边缘计算中边缘计算设备的负载状态和要卸载执行的应用的任务图结构生成一个离线的任务分配映射表,系统再从用户的角度,将满足每个用户的离线任务分配方案作为对计算资源的总需求,从最大化用户应用的总体价值角度,于当前收到的卸载请求集合中选择一个用户请求,并基于该用户的离线分配映射,将应用的任务全部分配到边缘计算网络的对应计算设备上。本发明中所采用的计算资源分配方法在应用的总价值、平均执行跨度和平均成功率方面均表现出较佳的效果,综合来看,其总体测试结果要明显优于现有的其它方法。
Description
技术领域
本发明涉及移动计算和物联网应用处理技术领域,特别涉及一种边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法和系统。
背景技术
为了使智能移动设备能高效地执行功能丰富的复杂应用程序,在计算卸载技术的支持下,移动设备可以利用邻近用户的边缘计算设备扩展移动设备的计算能力,提高用户体验。因此各种被部署在移动网络边缘的小微型计算设备可以联合起来形成边缘云(Edgecloud)为用户提供快捷高效的计算服务。由于边缘云的计算资源相对远端云而言,在资源上仍然是受限的,因此当边缘云需要同时服务许多用户时,用户在运行应用的截止期限约束下不可避免地会竞争边缘云的有限资源。如果边缘云不能为用户有效地分配计算资源,对资源的竞争必然会严重降低用户的体验,甚至会形成资源的浪费。
虽然最新的一些工作研究了在边缘云上多用户如何卸载DAG任务的问题,但是这些工作提出的解决方案主要是根据用户释放卸载请求的优先级为用户分配计算资源,并没有考虑用户的偏好,这可能使用户无法获得满意的效用。此外,这些工作为了能够感知边缘云中所有计算服务的当前负载状况,是根据就绪任务的状态做出任务调度决策,而忽略了任务图的完整结构信息。由于缺乏应用的完整信息,这些工作给出的是一种短视优化策略,这可能限制了计算卸载的性能。
发明内容
本发明的目的之一是提供一种用于边缘计算网络的多应用DAG任务在线计算卸载的资源调度方法,通过该方法将每一个应用的DAG任务对计算资源的整体需求情况和边缘云的当前负载状态联合起来考虑,避免产生短视优化,并有效分配边缘云的计算资源,最大化应用的平均价值。
为了实现上述目的,本发明采用如下技术方案:边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法,包括以下步骤:
S2.给应用n分别增加两个计算负载量为0的伪节点作为入口和出口,即 和在集合中的编号分别用0和In+1表示,且从发出的有向边和进入的有向边都分别赋予一个数据传输量,其中,出边的传输量表示要从用户设备上卸载的应用数据量,其数值大小表示为 表示的后继;入边的数据传输量表示要传回用户设备的结果数据量,其数值大小表示为 代表的前驱;
S3.根据应用n的DAG结构计算每个任务的优先级;
S5.根据所有边缘计算设备的处理能力和单位时间执行开销,将集合中的每条PCP路径分配到为应用卸载生成的离线分配映射表中;所述离线分配映射表其数据结构为链表每一条链表都与一个边缘计算设备m相对应,将应用n的每条PCP路径都映射到链表中,由所有链表构成映射到离线分配映射表
S6.用表示执行计算卸载的应用向某一边缘计算设备mn发送的计算卸载请求,其中rn为应用的卸载请求释放时间,ln为截止期限,bn为应用在边缘计算网络上成功处理完成的期望开销,是应用的DAG结构,σn是应用在申请的计算资源上能成功执行完的预计处理时间;
在步骤S4中,使用SearchPCP算法递归地计算PCP路径。
进一步地,计算PCP路径过程中,使用已标记任务来辅助标定任务,所述已标记任务是在计算PCP的过程中已经被标记过的任务,对于给定的应用n,初始时伪节点和始终当作已标记任务,其它任务都当作未标记的任务;并用H(tni)表示任务tni的一个特定子集,在该特定子集中,每一个任务都不是已标记任务,但每个任务的父任务都是已标记任务;对于一个已标记任务tni,如果其子任务tnj在集合H(tni)中有最高的优先级,那么将该子任务tnj作为关键子任务,并将已标记任务tni的关键子任务表示为Hcri(tni);
若任务tni为作为入口或出口的伪任务,则其按下式计算:
其中,p≠0表示链表不是空表,若p=0,则表示链表仅有一个头结点 表示在链表上排在任务tni之前的子链表,ψ-1是子链表的长度,i'是记录在链表元素ζ中的任务tni′的任务编号;当链表不是空表时,的计算值由子链表上最后的任务决定;链表上任务tni的预计完成时间通过下式计算:
进一步地,在链表的计算中,是将应用n的任务映射到各个边缘计算设备m相对应链表上的目标位置,所述目标位置是从边缘设备m对应的链表头节点开始遍历所找出的第一个可以放置任务tni的位置,所述目标位置满足以下条件:
其中,j和j'分别是tnj和tnj′在集合中的编号,τ是整个系统的当前时间,并且tnj和tnj′分别记录在链表的第ψ-1和第ψ+1元素上;式(10)的第一个条件表示tni被放置在的第一个元素上,式(11)的第一个条件表示tni被添加在的最后一个元素上;
S501.设置一个计数器k,初值设为1;
S502.从应用n的PCP构成的集合中取出第k条PCP路径,并设置三个存储变量m*、f、,其中f初值为无穷大;用m表示设备集合中设备的计数器,初值设为1;若集合中仍有PCP路径,执行步骤S503,否则执行步骤S508;
S506.将m的值增加1后,继续执行步骤S503;
S508.结束任务的分配。
在步骤S6中,预计处理时间σn按下式计算:
另外,本发明还涉及一种边缘计算中基于任务图整体资源需求的多应用在线计算卸载系统,其包括分布在移动网络边缘的多个边缘计算设备m,所述边缘计算设备m通过网络连接形成边缘云,所述边缘云中至少有一边缘计算设备m作为协调器,所述协调器周期性地获取系统状态信息并发送给所有边缘计算设备m,每一边缘计算设备m均对应独立的无线覆盖区域并通过无线网络为其所覆盖区域内的用户设备提供在线计算卸载服务,该系统根据上述多应用在线计算卸载资源调度方法分配计算资源。
上述边缘计算中基于任务图整体资源需求的多应用在线计算卸载系统执行计算卸载的过程包括:
应用n要卸载计算任务时,通过其所对应的用户设备向所处无线覆盖区域的边缘设备mn注册计算卸载的请求;
s1.应用n要卸载计算任务时,通过其所对应的用户设备向所处无线覆盖区域的边缘设备mn注册计算卸载的请求;
s2.边缘计算设备mn基于正交频分多路访问技术为成功注册的用户设备分配无线信道并发送系统状态信息,所述系统状态信息包括所有边缘计算设备的处理能力、单位时间的执行成本和各边缘计算设备间的平均数据传输率;
s4.用户设备向边缘计算设备mn发送卸载请求;
s5.协调器从各边缘计算设备m收集当前所有要进行计算卸载的用户请求,根据当前整个网络中计算设备的负载量和用户应用资源请求的状况,从用户卸载请求集合中选出合适的用户,并根据用户的离线映射表为该用户的DAG任务做出实际的任务调度决策,分配计算资源;
s6.应用n处理完毕后,边缘计算设备mn删除其注册信息,同时释放为其分配的无线信道;
s7.当有一个新的用户卸载请求到达,或者任意一个应用在系统中全部处理完成时,重复执行步骤s5,直到所有用户的卸载请求全部处理完毕。
本发明为移动边缘计算中DAG任务的卸载提出了一种基于任务图整体资源需求进行计算资源分配的方法,每一个移动用户根据当前边缘计算系统中各个边缘计算设备的计算负载量、网络的数据传输能力,先基于部分关键路径的启发式策略在自己的设备上产生一个离线分配映射表,当多用户同时卸载应用时,本发明能够根据用户的价值启发式选取合适的用户卸载请求,并根据被选中用户的离线分配映射表将应用的任务分配到对应的边缘计算设备上。本发明根据应用对所需计算资源的整体需求进行计算资源的调度分配,解决了应用优化执行的短视优化问题;同时通过应用的价值来优先调度执行用户的应用,在应用的价值最大化、应用执行成功率以及最小化应用的平均执行跨度方面都具有优势。
附图说明
图1为基于任务图整体资源需求的多应用在线计算卸载系统的框架;
图2为实施例中构建的服务于移动用户的边缘计算网络的示意图;
图3为在不同应用到达率下,本发明所涉AU-PCP方法与现有方法在进行计算资源分配时获得的总价值的比较;
图4和图5为在不同应用到达率下本发明所涉AU-PCP方法与现有方法在处理应用的平均完成时间的比较;
图6为在不同应用到达率下本发明所涉AU-PCP方法与现有方法在处理应用时的成功率的比较。
具体实施方式
为了便于本领域技术人员更好地理解本发明相对于现有技术的改进之处,下面结合附图和实施例对本发明作进一步的描述。
图1示出了边缘计算网络中多应用在线计算卸载系统的框架结构,其包括有很多分布部署在移动网络边缘的不同边缘计算设备,这些边缘设备通过网络连接形成与用户更接近的边缘云。每一个边缘计算设备都有自己独立的无线覆盖区域,能为其所覆盖区域内的用户设备(也可以理解为移动用户)提供服务支持,每个边缘计算设备负责接收自身服务区域内的移动设备发来的计算卸载请求和上传的应用数据,并在其自身服务区域内的移动设备与其他服务区域的边缘计算设备进行数据传输时作为中转站,边缘云可以向移动用户提供空闲的计算资源,移动用户随时可以利用计算卸载技术将任务卸载到边缘云上提高移动应用的处理速度。边缘云中至少有一个计算设备承担协调器功能(如移动网络的宏基站),它能够周期性地从分布部署的边缘计算设备上收集最新的状态信息(状态信息包括每个边缘计算设备上计算单元的可用性,边缘计算设备之间的平均数据传输率),然后协调器会把这些收集到的信息再发布给所有的边缘计算设备,边缘设备收到协调器发布来的信息后又会将那些与移动应用进行计算卸载相关的数据转发给移动用户。
在图1的基础上,本实施例使用开源的云计算仿真器CloudSim和边缘计算仿真器EdgeCloudSim搭建了一个边缘计算系统仿真平台。实验环境中边缘云包含四个边缘计算设备,其实现的场景如图2所示。图2中各个边缘计算设备处理能力和单位时间执行成本列在表1中。每个边缘计算设备上允许的最大注册阈值设定成30。每个边缘计算设备之间的数据传输率设置成440Mbps,每个边缘计算设备和在它覆盖区域内的用户之间的数据传输率设置成103Mbps。在计算卸载框架中的平均传输率使用表达式(440×6+103)/7计算,即520Mbps。
表1边缘计算设备的参数
设备编号 | MIPS | 单位时间执行成本 |
计算设备1 | 9.9×10<sup>3</sup> | 2.2 |
计算设备2 | 8×10<sup>3</sup> | 1.8 |
计算设备3 | 7×10<sup>3</sup> | 1.3 |
计算设备4 | 5×10<sup>3</sup> | 1.0 |
在本实施例中,使用四种开源的科学工作流结构模拟移动应用的DAG结构。表2给出了实施例中移动应用的节点数设定。一个应用中任务的计算负载量使用记录在DAX文件中runtime元素项的值表示。具体地,如果原始的runtime值超出[100,500]的范围,则把runtime值分别设成100和500;否则,直接使用记录在DAX文件中的原始runtime值,不需要变化。另外,定义一个基准通信时间ct,该值可由记录在DAX文件中size元素项的值表示。具体地,如果超出[10-3,10-2]的范围,则把ct值分别设置成10-3和10-2;否则让使用设置依赖任务之间的数据传输量的大小,并且与入口出口两个伪节点关联的数据传输量也设置成
另外,本实施例中以服从λ的泊松分布间隔随机地从四种类型的工作流中选出500个应用,模拟移动用户释放的卸载请求,并让各个卸载请求发出的位置随机均匀地设定在四个边缘设备所覆盖的服务区域内。为了产生用户应用的价值,给每个应用n赋予一个执行成本权值ecn=MaxCost·twn/MinCap。其中,MaxCost是计算设备1的单位时间执行成本,twn是应用n中所有任务计算负载量的总和,MinCap是计算设备4的处理能力。然后,以均匀分布的方式从ecn和5·ecn之间产生一个随机数来表示用户n的期望开销。此外,为每个应用n定义一个基准执行跨度Mn。为了计算Mn,可以假设把应用n的每个任务调度到不同计算设备上,并用边缘云的平均处理能力值设定这些设备的处理能力,同时把应用n内所有传输数据量都当成0考虑。基于此,应用n的截止期限可以用表达式ln=rn+df·Mn计算。其中,df是给每种类型的工作流设定的截止期限因子,该值由表给出。为了缓解实验中的随机性造成的影响,所有运算都执行30遍,然后使用平均值绘制实验评测图。
表2移动应用参数
Workflow类型 | 节点数 | 截止期限因子df |
Montage | 25 | 6 |
Inspiral | 30 | 7 |
Epigenomics | 24 | 5 |
CyberShake | 30 | 16 |
本实施例中,从移动设备的观点看,每一个移动设备在进行任务卸载时都有相同的网络拓扑结构,图2给出了每一个移动设备在异构边缘计算设备构成的分布式网络中进行任务卸载时需面对的网络拓扑结构。如果移动设备需要边缘计算设备处理它的应用,必须将一些应用数据从移动设备自身卸载到边缘计算设备上。当应用的所有任务在网络中执行完后,还需要把计算的结果传回移动设备。执行多应用在线计算卸载的过程如下:
S1.移动用户要卸载计算任务时,必须先向覆盖他的边缘设备mn注册计算卸载的请求。
S2.对于已成功注册的用户,边缘计算设备mn能基于正交频分多路访问技术为用户分配无线信道。一旦用户注册成功,他将从边缘计算设备mn收到整个系统的状态数据。这些数据包括:所有边缘计算设备的处理能力、单位时间的执行成本和不同边缘计算设备间的平均数据传输率。
S3.用户的设备为其应用n创建离线调度映射表。
S5.用户设备把使用边缘计算资源时的期望开销连同卸载请求一起发送给边缘计算设备mn。卸载请求的具体形式为其中rn是应用n的卸载请求释放时间,ln是截止期限,bn是应用n在边缘计算网络上能成功处理完成时的期望开销,也就是用户对应用n能成功完成所能体现的价值,是应用n的DAG结构,σn是应用n在申请的计算资源上能成功执行完的预计处理时间。
S6.协调器从各个边缘计算设备收集当前时刻所有要进行计算卸载的用户请求,根据当前整个网络中计算设备的负载量和用户应用资源请求的状况,为合适的用户DAG任务做出实际的任务调度决策,分配计算资源。
S7.应用n处理完毕后,其注册信息会从边缘计算设备mn上删除掉,同时为其分配的无线信道资源也将释放。
S8.当有一个新的用户卸载请求到达,或者任意一个应用在系统中全部处理完成时,重复执行步骤S6,直到所有用户的卸载请求全部处理完毕。
上述过程中,计算卸载资源调度方式如下:s1.要执行计算卸载的移动用户(用户设备)用表示其要执行的应用n对应的DAG模型,其中和εn分别是应用n的任务集合和有向边集合。集合中任务的总数用表示。应用n中的一个任务则表示成其中i表示集合中的第i个任务。任务tni的计算负载量表示成δni。
s2.用户设备给每个应用分别增加两个计算负载量为0的伪节点和作为它的入口和出口,即此时,和在集合中的编号分别用0和In+1表示,且从发出的有向边和进入的有向边都分别赋予一个数据传输量。具体地,出边的传输量表示要从移动设备上卸载的应用数据量,它的数值大小可以表示成这里表示的后继;入边的数据传输量表示要传回移动设备的结果数据量,它的数值大小用表示,这里代表的前驱。
s4.根据s3.算出的优先级为应用的DAG结构计算部分关键路径(PCP)。计算过程中使用“已标记任务”的概念来辅助标定任务,即一个已标记的任务是在计算PCP的过程中已经被标记过的任务。对于给定的应用n,初始时伪节点和始终当成已标记的任务,其它任务则都当成未标记的任务。使用H(tni)表示任务tni的一个特定的子任务集。在这个特定的子任务集中,每一个任务都不是已标记的任务,但每个任务的父任务都是已标记的任务。为了辅助计算,使用“关键子任务”的概念:对于一个已标记的任务tni,如果它的子任务tnj在集合H(tni)中有最高的优先级,那么任务tnj是关键子任务。将任务tni的关键子任务表示成Hcri(tni)。在计算PCP之前,先定义一个空集,用于记录算出的PCP。然后,从入口节点开始使用SearchPCP算法递归地计算PCP,并把为应用n计算出的PCP存入集合。注意:节点和并不在集合中,表示集合包含的PCP路径的数目。
其中Q(m)表示边缘计算设备m的计算队列,tn′,i′是在Q(m)中的一个等待任务。tn′,i′可以属于不同的应用。表示任务tn′i′的完成时间,它的一般化形式是即任务tni的完成时间。如果任务tni是前面增加的伪任务,则可以直接用如下公式计算:
在式(3)的第一个条件,rn是应用n的卸载请求的释放时间,因此直接就是伪任务的完成时间;式(3)的第二个条件表示伪任务需要收到发回用户n的结果数据。再者,如果任务tni不是伪任务(即0<i<In+1),那么计算它的完成时间就必须考虑任务tni要被分配到的目标边缘计算设备上等待任务的队列长度和输入tni的数据达到时间。在这种情况下,由如下公式计算:
其中,R(ani)表示要执行任务tni的边缘设备在分配规划ani下,准备执行tni的时间,即设备的就绪时间。这里是任务tni的分配规划,是一个0,1变量,如果tni被分配到边缘计算设备m上则值为1,否则值为0。R(ani)的具体值要由分配规划ani来计算,即
其中 是用户n和所属无线信号覆盖区域的边缘计算设备mn之间的传输率。式(5)中,ani=anj表示tni和tnj都被分配到同一个边缘计算设备上,这样可以当成0来处理;如果并且tnj被分配到边缘计算设备m(m≠mn),那么用户n的设备需要经过所属无线信号覆盖区域的边缘计算设备mn才能连接到边缘计算设备m上。因此否则,当tnj被分配到边缘计算设备mn上,由于用户n的设备能与所属无线信号覆盖区域的边缘计算设备mn直接连接,可以得到相似的情况还有:如果并且tni被分配到边缘计算设备m(m≠mn),那么边缘设备m必须通过无线信号覆盖了用户n的边缘计算设备mn才能连到用户n。因此可以得到否则即tni被分配到边缘计算设备mn。最后,若tni和tnj分别被分配到直接连接的边缘计算设备m和m'上,那么
其中p≠0表示不是空链表,p=0表示仅有一个头结点。表示在链表上排在任务tni之前的子链表,ψ-1是子链表的长度,i'是记录在链表元素ζ中的任务tni′的任务编号。也就是说,当链表不是空表时,的计算值是由子链表上最后的任务决定。最后,链表上任务tni的预计完成时间由如下公式计算:
其中ρmax表示边缘设备网络中能提供的最大处理能力,表示所有边缘服务设备之间的平均传输率,ln是应用n正常执行完毕必须要满足的截止期限。此外,伪任务和因为必须位于用户的设备上,所以没有考虑其最迟完成时间。
s5.3使用“目标位置”的概念把应用n中已计算出的PCP映射到各个边缘计算设备相对应的链表上。
其中j和j'分别是tnj和tnj′在集合中的编号,τ是整个系统的当前时间。并且tnj和tnj′分别记录在链表的第ψ-1和第ψ+1元素上。式(10)的第一个条件表示tni被放置在的第一个元素上。式(11)的第一个条件表示tni被添加在的最后一个元素上。
s5.3通过如下步骤,把应用n的任务映射到离线分配映射表中。
Step1.设置一个计数器k,初值设为1。
Step2.从应用n的PCP构成的集合中取出第k条PCP路径,并设置三个存储变量m*、f、,其中f初值为无穷大。用m表示设备集合中设备的计数器,初值设为1。如果集合中仍然还有PCP路径时,执行步骤Step3,否则执行步骤Step8。
Step5.如果(此表达式代表链表中最大的值)的值小于当前变量f,则用其当前值替换原变量f的值,并将此时对应的链表替换原存储变量中的记录,再将当前m的值替换m*中的记录;否则f、、m*中的原始值不变。
Step6.将m的值增加1后,继续执行Step3。
Step8.结束任务的分配。
s5.4在用户设备上根据如下公式计算应用n的预计处理时间σn:
s5.5用户n向无线区域内的边缘服务设备mn发送计算卸载的请求其中rn是应用的卸载请求释放时间,ln是用户应用的截止期限,bn是用户应用在边缘计算网络上能成功处理完成的期望开销,也就是用户对应用能成功完成所能体现的价值,是应用的DAG结构,σn是应用在申请的计算资源上能成功执行完的预计处理时间。
图3、4、5示出了上述方法(对应于图中AU-PCP)与其它目前相对较为先进的方法(CEFO、Selfish、Zhang’s PCP、ITAGS)在同一边缘计算网络中的测试结果。结果表明,本实施例所涉计算资源分配方法在应用的总价值、平均执行跨度和平均成功率方面均表现出较佳的效果,综合来看,本实施例所涉方法的总体测试结果要明显优于其它方法。由此说明本实施例所涉方法能够在边缘计算网络中实现计算资源更合理、充分保障用户应用的价值,并缩短应用的平均处理时间,提高边缘计算网络的运行效率。
上述实施例为本发明较佳的实现方案,除此之外,本发明还可以其它方式实现,在不脱离本技术方案构思的前提下任何显而易见的替换均在本发明的保护范围之内。
为了让本领域普通技术人员更方便地理解本发明相对于现有技术的改进之处,本发明的一些附图和描述已经被简化,并且为了清楚起见,本申请文件还省略了一些其它元素,本领域普通技术人员应该意识到这些省略的元素也可构成本发明的内容。
Claims (10)
1.边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法,其特征在于,包括以下步骤:
S2.给应用n分别增加两个计算负载量为0的伪节点作为入口和出口,即 和在集合中的编号分别用0和In+1表示,且从发出的有向边和进入的有向边都分别赋予一个数据传输量,其中,出边的传输量表示要从用户设备上卸载的应用数据量,其数值大小表示为表示的后继;入边的数据传输量表示要传回用户设备的结果数据量,其数值大小表示为代表的前驱;
S3.根据应用n的DAG结构计算每个任务的优先级;
S5.根据所有边缘计算设备的处理能力和单位时间执行开销,将集合中的每条PCP路径分配到为应用卸载生成的离线分配映射表中;所述离线分配映射表其数据结构为链表每一条链表都与一个边缘计算设备m相对应将应用n的每条PCP路径都映射到各个链表中,由所有链表构成离线分配映射表
S6.用表示执行计算卸载的应用向某一边缘计算设备mn发送的计算卸载请求,其中rn为应用的卸载请求释放时间,ln为截止期限,bn为应用在边缘计算网络上成功处理完成的期望开销,是应用的DAG结构,σn是应用在申请的计算资源上能成功执行完的预计处理时间;
3.如权利要求2所述多应用在线计算卸载资源调度方法,其特征在于:步骤S4中,使用SearchPCP算法递归地计算PCP路径。
4.如权利要求3所述多应用在线计算卸载资源调度方法,其特征在于:计算PCP路径过程中,使用已标记任务来辅助标定任务,所述已标记任务是在计算PCP的过程中已经被标记过的任务,对于给定的应用n,初始时伪节点和始终当作已标记任务,其它任务都当作未标记的任务;并用H(tni)表示任务tni的一个特定子集,在该特定子集中,每一个任务都不是已标记任务,但每个任务的父任务都是已标记任务;对于一个已标记任务tni,如果其子任务tnj在集合H(tni)中有最高的优先级,那么将该子任务tnj作为关键子任务,并将已标记任务tni的关键子任务表示为Hcri(tni);
若任务tni为作为入口或出口的伪任务,则其按下式计算:
其中,p≠0表示链表不是空表,若p=0,则表示链表仅有一个头结点表示在链表上排在任务tni之前的子链表,ψ-1是子链表的长度,i'是记录在链表元素ζ中的任务tni′的任务编号;当链表不是空表时,的计算值由子链表上最后的任务决定;链表上任务tni的预计完成时间通过下式计算:
6.如权利要求5所述多应用在线计算卸载资源调度方法,其特征在于:在链表的计算中,是将应用n的任务映射到各个边缘计算设备m相对应链表上的目标位置,所述目标位置是从边缘设备m对应的链表头节点开始遍历所找出的第一个可以放置任务tni的位置,所述目标位置满足以下条件:
其中,j和j'分别是tnj和tnj′在集合中的编号,τ是整个系统的当前时间,并且tnj和tnj′分别记录在链表的第ψ-1和第ψ+1元素上;式(10)的第一个条件表示tni被放置在的第一个元素上,式(11)的第一个条件表示tni被添加在的最后一个元素上;
S501.设置一个计数器k,初值设为1;
S502.从应用n的PCP构成的集合中取出第k条PCP路径,并设置三个存储变量m*、f、其中f初值为无穷大;用m表示设备集合中设备的计数器,初值设为1;若集合中仍有PCP路径,执行步骤S503,否则执行步骤S508;
S506.将m的值增加1后,继续执行步骤S503;
S508.结束任务的分配。
9.边缘计算中基于任务图整体资源需求的多应用在线计算卸载系统,包括分布在移动网络边缘的多个边缘计算设备m,所述边缘计算设备m通过网络连接形成边缘云,所述边缘云中至少有一边缘计算设备m作为协调器,所述协调器周期性地获取系统状态信息并发送给所有边缘计算设备m,每一边缘计算设备m均对应独立的无线覆盖区域并通过无线网络为其所覆盖区域内的用户设备提供在线计算卸载服务,其特征在于:系统根据权利要求1-8中任意一项所述的多应用在线计算卸载资源调度方法分配计算资源。
10.如权利要求9所述多应用在线计算卸载系统,其特征在于,执行计算卸载的过程包括:
s1.应用n要卸载计算任务时,通过其所对应的用户设备向所处无线覆盖区域的边缘设备mn注册计算卸载的请求;
s2.边缘计算设备mn基于正交频分多路访问技术为成功注册的用户设备分配无线信道并发送系统状态信息,所述系统状态信息包括所有边缘计算设备的处理能力、单位时间的执行成本和各边缘计算设备间的平均数据传输率;
s4.用户设备向边缘计算设备mn发送卸载请求;
s5.协调器从各边缘计算设备m收集当前所有要进行计算卸载的用户请求,根据当前整个网络中计算设备的负载量和用户应用资源请求的状况,从用户卸载请求集合中选出合适的用户,并根据用户的离线映射表为该用户的DAG任务做出实际的任务调度决策,分配计算资源;
s6.应用n处理完毕后,边缘计算设备mn删除其注册信息,同时释放为其分配的无线信道;
s7.当有一个新的用户卸载请求到达,或者任意一个应用在系统中全部处理完成时,重复执行步骤s5,直到所有用户的卸载请求全部处理完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210366936.0A CN114610503A (zh) | 2022-04-08 | 2022-04-08 | 边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210366936.0A CN114610503A (zh) | 2022-04-08 | 2022-04-08 | 边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610503A true CN114610503A (zh) | 2022-06-10 |
Family
ID=81868520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210366936.0A Pending CN114610503A (zh) | 2022-04-08 | 2022-04-08 | 边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610503A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719629A (zh) * | 2023-08-10 | 2023-09-08 | 华能信息技术有限公司 | 一种基于工业互联网的任务分解方法 |
-
2022
- 2022-04-08 CN CN202210366936.0A patent/CN114610503A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116719629A (zh) * | 2023-08-10 | 2023-09-08 | 华能信息技术有限公司 | 一种基于工业互联网的任务分解方法 |
CN116719629B (zh) * | 2023-08-10 | 2023-10-31 | 华能信息技术有限公司 | 一种基于工业互联网的任务分解方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110099384B (zh) | 基于边-端协同的多用户多mec任务卸载资源调度方法 | |
Yu et al. | Joint subcarrier and CPU time allocation for mobile edge computing | |
CN109788046B (zh) | 一种基于改进蜂群算法的多策略边缘计算资源调度方法 | |
CN110493360B (zh) | 多服务器下降低系统能耗的移动边缘计算卸载方法 | |
Hazra et al. | Cooperative transmission scheduling and computation offloading with collaboration of fog and cloud for industrial IoT applications | |
CN108566659B (zh) | 一种基于可靠性的5g网络切片在线映射方法 | |
CN109951821A (zh) | 基于移动边缘计算的最小化车辆能耗任务卸载方案 | |
US20120266176A1 (en) | Allocating Tasks to Machines in Computing Clusters | |
CN109669768A (zh) | 一种面向边云结合架构的资源分配和任务调度方法 | |
CN105656973A (zh) | 一种分布式节点组内任务调度方法及系统 | |
WO2019072162A1 (zh) | 虚拟网络映射方法、设备和存储介质 | |
CN113535393B (zh) | 异构边缘计算中卸载dag任务的计算资源分配方法 | |
US10063478B2 (en) | Switching device and control method of switching device | |
CN109947551A (zh) | 一种多轮次任务分配方法、边缘计算系统及其存储介质 | |
CN113641417B (zh) | 一种基于分支定界法的车辆安全任务卸载方法 | |
CN112799823A (zh) | 边缘计算任务的在线分派调度方法和系统 | |
CN114172558B (zh) | 一种车辆网络中基于边缘计算和无人机集群协同的任务卸载方法 | |
CN109005211B (zh) | 一种无线城域网环境下的微云部署及用户任务调度方法 | |
CN106598727B (zh) | 一种通信系统的计算资源分配方法及系统 | |
CN110377352A (zh) | 基于移动设备云系统的任务处理方法和装置 | |
CN115484205A (zh) | 确定性网络路由与队列调度方法及装置 | |
CN110996390B (zh) | 一种无线接入网络计算资源分配方法及网络系统 | |
CN114610503A (zh) | 边缘计算中基于任务图整体资源需求的多应用在线计算卸载资源调度方法和系统 | |
CN117407160A (zh) | 一种边缘计算场景下在线任务和离线任务的混合部署方法 | |
CN116939044A (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 |