CN114546615A - 一种移动边缘计算中相关性任务的调度方法 - Google Patents

一种移动边缘计算中相关性任务的调度方法 Download PDF

Info

Publication number
CN114546615A
CN114546615A CN202210136561.9A CN202210136561A CN114546615A CN 114546615 A CN114546615 A CN 114546615A CN 202210136561 A CN202210136561 A CN 202210136561A CN 114546615 A CN114546615 A CN 114546615A
Authority
CN
China
Prior art keywords
task
edge node
edge
tasks
time
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
CN202210136561.9A
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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202210136561.9A priority Critical patent/CN114546615A/zh
Publication of CN114546615A publication Critical patent/CN114546615A/zh
Pending legal-status Critical Current

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/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
    • G06F9/505Allocation 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种在移动边缘计算中相关性任务的调度方法和系统。本发明针对边缘节点的处理速度不同和边缘节点之间的传输速率不同,形式化了调度相关性任务的方法。本发明提供了系统模型,包括任务依赖模型、网络模型和通信模型,将任务依赖模型建模为DAG图;考虑边缘节点的异构性和任务的相关性,设计系统目标函数为最小化任务的完成时间;本发明对在边缘节点的不同处理速度上提出了分组的概念,用以对边缘节点分组;此外,对在同一个组的边缘节点,采用最早时间优先调度算法。使用本发明的调度方法,可以缩小边缘节点空闲的时间,从而减少任务的完成时间。

Description

一种移动边缘计算中相关性任务的调度方法
技术领域
本发明涉及一种边缘计算中相关性任务在异构环境下的调度方法,属于边缘计算和优化算法技术领域。
背景技术
物联网和移动智能设备的广泛使用极大地促进了许多延迟敏感和资源密集型应用的发展,例如虚拟/增强现实、人脸识别和数据流处理。目前,这些应用程序是在移动设备或云服务器上处理或执行的。一方面,移动设备没有足够的计算资源用于许多资源密集型应用程序。另一方面,在云上运行资源密集型应用通常需要从移动设备到云中远程服务器的大量数据传输,从而导致不可预测的通信延迟。因此,多接入边缘计算(MEC)已成为克服本地计算模式和云计算模式上述缺点的有前途的解决方案。靠近移动设备的边缘节点为卸载需要低延迟的任务提供了一种替代方案。
计算卸载技术不仅可以节省终端设备的能耗,提高用户体验,还可以缩短任务的执行时间。因此,在过去几年中,MEC中的任务卸载和调度问题一直是许多研究工作的重点。但是,边缘计算中不仅存在相互独立的任务,具有相关性任务的应用程序不计其数。我们以人脸识别应为例。基本上,人脸识别应用可以分为五个相关任务:对象获取、人脸检测、预处理、特征提取和分类。当这些任务被卸载到边缘节点时,我们需要考虑以下因素:任务之间可能存在依赖关系。比如任务“特征提取”的输出就是任务“分类”的输入。因此,只有在“特征提取”任务完成后,才能开始“分类”任务。基于实际情况,本发明也将边缘节点的处理速度不同和边缘节点之间的传输速率不同考虑在内,如何在异构环境下调度相关性任务是具有实际意义的问题。
发明内容
为了解决现有技术中存在的问题,本发明提出了一种移动边缘计算场景下相关性任务调度的模型及其优化方法,从而达到最小化任务的完成时间的目的。
为实现上述目的,本发明采用的技术方案为:一种移动边缘计算中相关性任务的调度方法,其特征在于:包括以下具体步骤:
步骤1:云端收集每个应用程序产生的任务信息和边缘节点的信息:设用户终端设备集合
Figure BDA0003504978140000021
将终端设备上的应用程序的任务化分为多个子任务,各子任务之间存在依赖关系,用有向无环图
Figure BDA0003504978140000022
来表示任务的依赖关系;设任务集合
Figure BDA0003504978140000023
任务由二元组表示(Bi,di),E是边的集合,表示任务i的依赖关系;
其中V是任务的数量,用i,j表示任务,Bi表示任务i的计算负载量,di表示任务i的输入数据量,任务i和任务j之间传输的数据量为ui,j
设边缘节点的集合
Figure BDA0003504978140000024
fk是边缘节点k的处理速度,其中K是边缘节点的数量,用k,k'表示边缘节点,所述边缘节点k,k'之间的传输速率用ξkk'表示;
步骤2:确定任务卸载到不同边缘节点上的传输时间:
首先令
Figure BDA0003504978140000025
其中Rh,k表示终端设备h将任务卸载到边缘节点k的传输速率,h是产生任务i的用户终端设备,Wh,k是设备h到边缘节点k的链路带宽,Ph是终端设备h的发射功率,lh,k是设备h和边缘节点k之间的距离,β是路径损失指数,σ是信道噪声功率。则,任务i卸载到边缘节点k的传输时间
Figure BDA0003504978140000026
可以表示为:
Figure BDA0003504978140000027
步骤3:给出以下定义:
(1)pred(i):任务i的直接前驱的集合,任务i有多个直接前驱;
(2)succ(i):任务i的直接后继的集合,任务i有多个直接后继;
(3)ETi,k:是任务i在边缘节点k上的执行时间,计算公式为:
Figure BDA0003504978140000031
其中,xi,k是二进制变量,当xi,k=1时表示任务i是卸载到边缘节点k上执行的;Bi是任务i的计算负载量,fk是边缘节点k的处理速度;
(4)RTi,k:是任务i的准备完成时间,它与两部分时间有关,一是任务i上传到边缘节点k的传输时间,二是任务i的所有前驱节点都已经完成计算并将所需的数据传输至任务i所在的边缘节点k上,计算公式为:
Figure BDA0003504978140000032
(5)STi,k:是任务i在边缘节点k上的开始执行时间;
(6)ESTi,k:是任务i在边缘节点k上的最早开始执行时间,它与两部分时间有关,一是任务i已经准备完成的时间,二是边缘节点k开始空闲的时间,计算公式为:
ESTi,k=max{RTi,k,ATk} (5)
其中,ATk是边缘节点k开始空闲的时间;
(7)FTi,k:是任务i在边缘节点k上的完成时间:它是由开始时间和执行时间共同决定的,计算公式为:
FTi,k=STi,k+ETi,k (6)
(8)T:任务图的总的完成时间,表示为:
Figure BDA0003504978140000033
步骤4:形式化相关性任务的调度问题:
系统中所有的任务卸载且只能被卸载到一个边缘节点上执行,并建立约束
Figure BDA0003504978140000034
以保证所有的任务只能被卸载到一个边缘节点上;
系统中所有的边缘节点每次只能执行一个任务,如果有其它的任务,需要等待前一个任务完成之后才能执行,并建立约束STi,k+ETi,k≤STj,k,以保证边缘节点一次只能执行一个任务且任务在执行的过程中不会被中断执行;
由于任务之间依赖性,因此,具有依赖关系的两个任务的执行受到约束,建立约束
Figure BDA0003504978140000035
以保证具有依赖关系的两个任务i,j必须满足任务j在开始执行之前,它的前驱任务i已经计算完成并将数据传输至任务j所在的边缘节点k'上;
优化目标是最小化任务图(DAG)的完成时间,构造得到统一的形式化相关性任务的调度问题:
Figure BDA0003504978140000041
Figure BDA0003504978140000042
Figure BDA0003504978140000043
Figure BDA0003504978140000044
Figure BDA0003504978140000045
步骤5:设计边缘节点的组分配规则,得到任务与边缘节点组的映射关系;
步骤6:确定相关性任务在边缘节点上的调度方案:采用基于速度的最早优先调度算法得到相关性任务在边缘节点上的调度方案;
步骤7:设备根据得到的调度方案,将任务卸载到对应的边缘节点上,通过边缘节点对任务进行调度执行。
进一步的,所述步骤1中,应用程序产生的任务信息包括任务的输入数据量和计算负载量;所述边缘节点的信息包括边缘节点的处理速度和边缘节点之间的传输速率。
进一步的,所述步骤5中,根据边缘节点的不同速度,将边缘节点分成Q组,其中
Figure BDA0003504978140000046
K是边缘节点的数量,γ=logK/loglogK,不失一般性,假设组
Figure BDA0003504978140000047
里的边缘节点的速度范围为[γq-1q);
划分完组之后,需要确定任务分配到哪个边缘节点组中,组分配的设计是基于线性规划问题的解;首先,不考虑边缘节点之间的传输时间,建立以下的混合整数线性规划问题:
Figure BDA0003504978140000048
Figure BDA0003504978140000049
Figure BDA0003504978140000051
Figure BDA0003504978140000052
Figure BDA0003504978140000053
Figure BDA0003504978140000054
由于混合整数线性规划问题是NP难的,对xi,k=1约束松弛为xi,k≥0,设
Figure BDA0003504978140000055
T*是此问题的最优解,对于集合
Figure BDA0003504978140000056
Figure BDA0003504978140000057
表示在
Figure BDA0003504978140000058
组里所有边缘节点的处理速度:
Figure BDA0003504978140000059
Figure BDA00035049781400000510
是任务i分配到边缘节点组
Figure BDA00035049781400000511
的总的部分:
Figure BDA00035049781400000512
对任意的任务i,设li是至少有一半的任务分配到
Figure BDA00035049781400000513
边缘节点组中:最大的组下标序列:
Figure BDA00035049781400000514
因此,选择将任务i卸载到在
Figure BDA00035049781400000515
边缘节点组中的总的速度最大的边缘节点组:
Figure BDA00035049781400000516
进一步的,所述步骤6中的算法具体步骤如下:
步骤6.1:初始化调度策略方案
Figure BDA00035049781400000517
和任务集合
Figure BDA00035049781400000518
步骤6.2:找到任务
Figure BDA00035049781400000519
集合中所有没有前驱节点的任务,加入到θ集合;
步骤6.3:根据步骤5中的组分配规则和任务与边缘节点的映射关系,对θ集合中所有的任务,分别计算任务在卸载的边缘节点组中的所有边缘节点上的开始时间,即ST′i,k=mink∈y(i)ESTi,k
步骤6.4:找到开始时间最小的任务加入到ρ集合,即ρ={i:i=argmini'∈θSTi′,k};
步骤6.5:在ρ集合里随机选择任务i在边缘节点k上执行,并记录开始时间ST′i,k
步骤6.6:将此时的最早开始时间赋值给开始时间,即STi,k=ST′i,k
步骤6.7:将分配过的任务i在任务集合
Figure BDA0003504978140000061
中移除,即
Figure BDA0003504978140000062
步骤6.8:重复执行步骤1.6.2到步骤1.6.7,直到任务集合
Figure BDA0003504978140000063
为空;
步骤6.9:输出调度策略方案STV×K
与现有技术相比,本发明的有益效果是:本发明形式化异构环境下相关性任务的调度问题,最小化任务的完成时间;首先为了解决异构性带来的挑战,提出对边缘节点根据速度的不同进行分组,并设计任务与边缘节点组的映射函数;其次,为了解决相关性带来的挑战,提出在同一个边缘节点组中采用最早时间优先调度算法,试图运行可以最早执行的任务,从而以贪婪的方式最小化边缘节点的空闲时间,最终达到最小化任务的完成时间的目标。
附图说明
图1为本发明的移动边缘计算中相关性任务系统模型示意图。
图2为本发明的移动边缘计算中相关性任务调度方法的流程图。
图3为本发明的基于速度的最早时间优先调度算法的流程图。
图4位本发明的任务之间的依赖关系建模DAG图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本实施例提出的一种移动边缘计算中相关性任务的调度模型如图1所示;考虑异构环境下相关性任务的卸载,以最小化所有任务的完成时间为目标,求解任务在边缘节点上的调度方案。该移动边缘计算中相关性任务的调度方法的具体流程如图2所示,包括以下步骤:
步骤1:云端收集每个应用程序产生的任务信息和边缘节点的信息:所述应用程序产生的任务信息包括任务的输入数据量和计算负载量;所述的边缘节点的信息包括边缘节点的处理速度和边缘节点之间的传输速率,如表1所示。
任务 计算负载量(cpu cycles) 输入数据量
1 2 20Kb
2 4 30Kb
3 1 40Kb
4 4 10Kb
5 5 60Kb
6 6 20Kb
7 2 50Kb
表1:任务信息表
设任务的集合
Figure BDA0003504978140000071
用i,j表示任务,任务之间的依赖关系建模为DAG图,如图4所示。
设边缘节点的集合
Figure BDA0003504978140000072
k,k'表示边缘节点,边缘节点k,k'之间的传输速率用ξkk'表示,设ξ12=1Kb/s,ξ13=0.2Kb/s,ξ23=0.5Kb/s,具体内容如表2所示。
Figure BDA0003504978140000073
表2:边缘节点信息表
设任务之间的输入数据量为ui,j,u1,2=6,u2,4=10,u2,5=14,u3,6=20,u4,7=4,u5,7=20,u6,7=10。
步骤2:确定任务卸载到不同边缘节点上的传输时间:
首先设终端设备1到边缘节点的传输速率为:R1,1=500Kb/s,R1,2=600Kb/s,R1,3=400Kb/s,则任务卸载到边缘节点的传输时间
Figure BDA0003504978140000074
可以表示为(Kb/s):
Figure BDA0003504978140000081
表3:任务卸载到边缘节点的传输时间表
步骤3:给出以下定义:
(1)pred(i):任务i的直接前驱的集合,任务i可能有多个直接前驱,其中
pred(2)={1},pred(3)={1},pred(4)={2},pred(5)={2},pred(6)={3},pred(7)={4,5,6}(2)succ(i):任务i的直接后继的集合,任务i可能有多个直接后继其中
succ(1)={2,3},succ(2)={4,5},succ(3)={6},
succ(4)={7},succ(5)={7},succ(6)={7}
(3)ETi,k:是任务i在边缘节点k上的执行时间,计算公式为
Figure BDA0003504978140000082
则计算为:
Figure BDA0003504978140000083
表4:任务在边缘节点上的执行时间表
(4)RTi,k:是任务i的准备完成时间,它与两部分时间有关,一是任务i上传到边缘节点k的传输时间,二是任务i的所有前驱节点都已经完成计算并将所需的数据传输至任务i所在的边缘节点k上,计算公式为:
Figure BDA0003504978140000091
(5)STi,k:是任务i在边缘节点k上的开始执行时间。
(6)ESTi,k:是任务i在边缘节点k上的最早开始执行时间,它与两部分时间有关,一是任务i已经准备完成的时间,二是边缘节点k开始空闲的时间,计算公式为:
ESTi,k=max{RTi,k,ATk}
其中,ATk是边缘节点k开始空闲的时间。
(7)FTi,k:是任务i在边缘节点k上的完成时间:它是由开始时间和执行时间共同决定的,计算公式为:
FTi,k=STi,k+ETi,k
(8)T:任务图的总的完成时间,表示为:
Figure BDA0003504978140000095
步骤4:形式化相关性任务的调度问题:
系统中所有的任务必须卸载且只能被卸载到一个边缘节点上执行,建立约束
Figure BDA0003504978140000092
保证所有的任务只能被卸载到一个边缘节点上。
系统中所有的边缘节点每次只能执行一个任务,如果有其它的任务,需要等待前一个任务完成之后才能执行,建立约束STi,k+ETi,k≤STj,k保证边缘节点一次只能执行一个任务且任务在执行的过程中不会被中断执行。
由于任务之间可能具有依赖性,意味着具有依赖关系的两个任务的执行受到约束,建立约束
Figure BDA0003504978140000093
保证具有依赖关系的两个任务i,j必须满足任务j在开始执行之前,它的前驱任务i已经计算完成并将数据传输至任务j所在的边缘节点k'上。
优化目标是最小化任务图(DAG)的完成时间,构造得到统一的形式化相关性任务的调度问题:
Figure BDA0003504978140000094
Figure BDA0003504978140000101
Figure BDA0003504978140000102
Figure BDA0003504978140000103
Figure BDA0003504978140000104
步骤5:设计边缘节点的组分配规则,得到任务与边缘节点组的映射关系。
根据边缘节点的不同速度,将边缘节点分成Q组,其中
Figure BDA0003504978140000105
K是边缘节点的数量,γ=logK/loglogK,不失一般性,假设组
Figure BDA0003504978140000106
里的边缘节点的速度范围为[γq-1q);
划分完组之后,需要确定任务分配到哪个边缘节点组中,组分配的设计是基于线性规划问题的解;首先,不考虑边缘节点之间的传输时间,建立以下的混合整数线性规划问题:
Figure BDA0003504978140000107
Figure BDA0003504978140000108
Figure BDA0003504978140000109
Figure BDA00035049781400001010
Figure BDA00035049781400001011
Figure BDA00035049781400001012
由于混合整数线性规划问题是NP难的,对xi,k=1约束松弛为xi,k≥0,设
Figure BDA00035049781400001013
T*是此问题的最优解,对于集合
Figure BDA00035049781400001014
Figure BDA00035049781400001015
表示在
Figure BDA00035049781400001016
组里所有边缘节点的处理速度:
Figure BDA00035049781400001017
Figure BDA00035049781400001018
是任务i分配到边缘节点组
Figure BDA00035049781400001019
的总的部分:
Figure BDA00035049781400001020
对任意的任务i,设li是至少由一半的任务分配到
Figure BDA00035049781400001021
边缘节点组中:
最大的组下标序列:
Figure BDA0003504978140000111
因此,选择将任务i卸载到在
Figure BDA0003504978140000112
边缘节点组中的总的速度最大的边缘节点组:
Figure BDA0003504978140000113
步骤6:确定相关性任务在边缘节点上的调度方案:采用基于速度的最早优先调度算法得到相关性任务在边缘节点上的调度方案。
基于速度的最早时间优先调度算法的具体步骤如下:
步骤6.1:初始化调度策略方案
Figure BDA0003504978140000114
和任务集合
Figure BDA0003504978140000115
步骤6.2:找到任务
Figure BDA0003504978140000116
集合中所有没有前驱节点的任务,加入到θ集合;
步骤6.3:根据步骤1.5中的组分配规则和任务与边缘节点的映射关系,对θ集合中所有的任务,分别计算任务在卸载的边缘节点组中的所有边缘节点上的开始时间,即ST′i,k=mink∈y(i)ESTi,k,则此时:ST′1,2=0.03;
步骤6.4:找到开始时间最小的任务加入到ρ集合,即ρ={i:i=argmini'∈θSTi′,k},则此时ρ={1};
步骤6.5:在ρ集合里随机选择任务i在边缘节点k上执行,并记录开始时间STi,'k,则此时任务1卸载到边缘节点2上执行,ST1',2=0.03;
步骤6.6:将此时的最早开始时间赋值给开始时间,即ST1,2=0.03,则此时步骤6.7:将分配过的任务i在任务集合
Figure BDA0003504978140000117
中移除,即
Figure BDA0003504978140000118
则此时
Figure BDA0003504978140000119
步骤6.8:重复执行步骤1.6.2到步骤1.6.7,直到任务集合
Figure BDA00035049781400001110
为空;
步骤6.9:输出调度策略方案STV×K。最终输出的调度策略方案如表5所示:
Figure BDA00035049781400001111
Figure BDA0003504978140000121
表5:最终输出的调度方案STV×K
步骤7:设备根据得到的调度方案,将任务卸载到对应的边缘节点上,边缘节点对任务进行调度执行。
应该注意的是,上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。

Claims (4)

1.一种移动边缘计算中相关性任务的调度方法,其特征在于:包括以下具体步骤:
步骤1:云端收集每个应用程序产生的任务信息和边缘节点的信息:设用户终端设备集合
Figure FDA0003504978130000011
将终端设备上的应用程序的任务化分为多个子任务,各子任务之间存在依赖关系,用有向无环图
Figure FDA0003504978130000012
来表示任务的依赖关系;设任务集合
Figure FDA0003504978130000013
任务由二元组表示(Bi,di),E是边的集合,表示任务i的依赖关系;
其中V是任务的数量,用i,j表示任务,Bi表示任务i的计算负载量,di表示任务i的输入数据量,任务i和任务j之间传输的数据量为ui,j
设边缘节点的集合
Figure FDA0003504978130000014
fk是边缘节点k的处理速度,其中K是边缘节点的数量,用k,k'表示边缘节点,所述边缘节点k,k'之间的传输速率用ξkk'表示;
步骤2:确定任务卸载到不同边缘节点上的传输时间:
首先令
Figure FDA0003504978130000015
其中Rh,k表示终端设备h将任务卸载到边缘节点k的传输速率,h是产生任务i的用户终端设备,Wh,k是设备h到边缘节点k的链路带宽,Ph是终端设备h的发射功率,lh,k是设备h和边缘节点k之间的距离,β是路径损失指数,σ是信道噪声功率。则,任务i卸载到边缘节点k的传输时间
Figure FDA0003504978130000016
可以表示为:
Figure FDA0003504978130000017
步骤3:给出以下定义:
(1)pred(i):任务i的直接前驱的集合,任务i有多个直接前驱;
(2)succ(i):任务i的直接后继的集合,任务i有多个直接后继;
(3)ETi,k:是任务i在边缘节点k上的执行时间,计算公式为:
Figure FDA0003504978130000021
其中,xi,k是二进制变量,当xi,k=1时表示任务i是卸载到边缘节点k上执行的;Bi是任务i的计算负载量,fk是边缘节点k的处理速度;
(4)RTi,k:是任务i的准备完成时间,它与两部分时间有关,一是任务i上传到边缘节点k的传输时间,二是任务i的所有前驱节点都已经完成计算并将所需的数据传输至任务i所在的边缘节点k上,计算公式为:
Figure FDA0003504978130000022
(5)STi,k:是任务i在边缘节点k上的开始执行时间;
(6)ESTi,k:是任务i在边缘节点k上的最早开始执行时间,它与两部分时间有关,一是任务i已经准备完成的时间,二是边缘节点k开始空闲的时间,计算公式为:
ESTi,k=max{RTi,k,ATk} (5)
其中,ATk是边缘节点k开始空闲的时间;
(7)FTi,k:是任务i在边缘节点k上的完成时间:它是由开始时间和执行时间共同决定的,计算公式为:
FTi,k=STi,k+ETi,k (6)
(8)T:任务图的总的完成时间,表示为:
Figure FDA0003504978130000023
步骤4:形式化相关性任务的调度问题:
系统中所有的任务卸载且只能被卸载到一个边缘节点上执行,并建立约束
Figure FDA0003504978130000024
以保证所有的任务只能被卸载到一个边缘节点上;
系统中所有的边缘节点每次只能执行一个任务,如果有其它的任务,需要等待前一个任务完成之后才能执行,并建立约束STi,k+ETi,k≤STj,k,以保证边缘节点一次只能执行一个任务且任务在执行的过程中不会被中断执行;
由于任务之间依赖性,因此,具有依赖关系的两个任务的执行受到约束,建立约束
Figure FDA0003504978130000025
以保证具有依赖关系的两个任务i,j必须满足任务j在开始执行之前,它的前驱任务i已经计算完成并将数据传输至任务j所在的边缘节点k'上;
优化目标是最小化任务图(DAG)的完成时间,构造得到统一的形式化相关性任务的调度问题:
Figure FDA0003504978130000031
Figure FDA0003504978130000032
Figure FDA0003504978130000033
Figure FDA0003504978130000034
Figure FDA0003504978130000035
步骤5:设计边缘节点的组分配规则,得到任务与边缘节点组的映射关系;
步骤6:确定相关性任务在边缘节点上的调度方案:采用基于速度的最早优先调度算法得到相关性任务在边缘节点上的调度方案;
步骤7:设备根据得到的调度方案,将任务卸载到对应的边缘节点上,通过边缘节点对任务进行调度执行。
2.根据权利要求1所述的移动边缘计算中相关性任务的调度方法,其特征在于:所述步骤1中,应用程序产生的任务信息包括任务的输入数据量和计算负载量;所述边缘节点的信息包括边缘节点的处理速度和边缘节点之间的传输速率。
3.根据权利要求1所述的移动边缘计算中相关性任务的调度方法,其特征在于:所述步骤5中,根据边缘节点的不同速度,将边缘节点分成Q组,其中
Figure FDA0003504978130000036
K是边缘节点的数量,γ=log K/log log K,不失一般性,假设组
Figure FDA0003504978130000037
里的边缘节点的速度范围为[γq-1q);
划分完组之后,需要确定任务分配到哪个边缘节点组中,组分配的设计是基于线性规划问题的解;首先,不考虑边缘节点之间的传输时间,建立以下的混合整数线性规划问题:
Figure FDA0003504978130000038
Figure FDA0003504978130000041
Figure FDA0003504978130000042
FTi,k+ETj,k'≤FTj,k'e(i,j)∈E (9c)
Figure FDA0003504978130000043
Figure FDA0003504978130000044
由于混合整数线性规划问题是NP难的,对xi,k=1约束松弛为xi,k≥0,设
Figure FDA0003504978130000045
T*是此问题的最优解,对于集合
Figure FDA0003504978130000046
Figure FDA0003504978130000047
表示在
Figure FDA0003504978130000048
组里所有边缘节点的处理速度:
Figure FDA0003504978130000049
Figure FDA00035049781300000410
是任务i分配到边缘节点组
Figure FDA00035049781300000411
的总的部分:
Figure FDA00035049781300000412
对任意的任务i,设li是至少有一半的任务分配到
Figure FDA00035049781300000413
边缘节点组中:最大的组下标序列:
Figure FDA00035049781300000414
因此,选择将任务i卸载到在
Figure FDA00035049781300000415
边缘节点组中的总的速度最大的边缘节点组:
Figure FDA00035049781300000416
4.根据权利要求1所述的所述的移动边缘计算中相关性任务的调度方法,其特征在于:所述步骤6中的算法具体步骤如下:
步骤6.1:初始化调度策略方案
Figure FDA00035049781300000417
和任务集合
Figure FDA00035049781300000418
步骤6.2:找到任务
Figure FDA00035049781300000419
集合中所有没有前驱节点的任务,加入到θ集合;
步骤6.3:根据步骤5中的组分配规则和任务与边缘节点的映射关系,对θ集合中所有的任务,分别计算任务在卸载的边缘节点组中的所有边缘节点上的开始时间,即ST′i,k=mink∈y(i)ESTi,k
步骤6.4:找到开始时间最小的任务加入到ρ集合,即ρ={i:i=arg mini'∈θST′i′,k};
步骤6.5:在ρ集合里随机选择任务i在边缘节点k上执行,并记录开始时间ST′i,k
步骤6.6:将此时的最早开始时间赋值给开始时间,即STi,k=ST′i,k
步骤6.7:将分配过的任务i在任务集合
Figure FDA0003504978130000051
中移除,即
Figure FDA0003504978130000052
步骤6.8:重复执行步骤1.6.2到步骤1.6.7,直到任务集合
Figure FDA0003504978130000053
为空;
步骤6.9:输出调度策略方案STV×K
CN202210136561.9A 2022-02-15 2022-02-15 一种移动边缘计算中相关性任务的调度方法 Pending CN114546615A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210136561.9A CN114546615A (zh) 2022-02-15 2022-02-15 一种移动边缘计算中相关性任务的调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210136561.9A CN114546615A (zh) 2022-02-15 2022-02-15 一种移动边缘计算中相关性任务的调度方法

Publications (1)

Publication Number Publication Date
CN114546615A true CN114546615A (zh) 2022-05-27

Family

ID=81676000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210136561.9A Pending CN114546615A (zh) 2022-02-15 2022-02-15 一种移动边缘计算中相关性任务的调度方法

Country Status (1)

Country Link
CN (1) CN114546615A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115866582A (zh) * 2022-11-29 2023-03-28 中国联合网络通信集团有限公司 设备识别方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115866582A (zh) * 2022-11-29 2023-03-28 中国联合网络通信集团有限公司 设备识别方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
Yang et al. A framework for partitioning and execution of data stream applications in mobile cloud computing
CN112988345B (zh) 一种基于移动边缘计算的依赖型任务卸载方法及装置
CN113377447B (zh) 一种基于李雅普诺夫优化的多用户计算卸载方法
CN109582448B (zh) 一种面向关键度和时效性的边缘计算任务调度方法
CN113220356B (zh) 一种移动边缘计算中的用户计算任务卸载方法
CN111431961A (zh) 一种云数据中心的节能任务分配方法
CN111225050B (zh) 云计算资源分配方法及装置
CN110287034B (zh) 一种可充电移动边缘计算中能量-延迟平衡的动态任务分配方法
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
CN110809291B (zh) 基于能量采集设备的移动边缘计算系统双层负载平衡方法
Miglani et al. Modified particle swarm optimization based upon task categorization in cloud environment
CN116263681A (zh) 移动边缘计算任务卸载方法、装置、设备及存储介质
CN113590307A (zh) 边缘计算节点优化配置方法、装置及云计算中心
CN114546615A (zh) 一种移动边缘计算中相关性任务的调度方法
CN114327811A (zh) 一种任务调度方法、装置、设备及可读存储介质
CN114064294B (zh) 移动边缘计算环境下的动态资源分配方法和系统
CN116366576A (zh) 算力网络资源调度方法、装置、设备及介质
Whaiduzzaman et al. Credit based task scheduling process management in fog computing
Liu et al. Task scheduling in cloud computing based on improved discrete particle swarm optimization
CN110167031B (zh) 一种面向集中式基站的资源分配方法、设备及存储介质
CN111158893B (zh) 应用于雾计算网络的任务卸载方法、系统、设备及介质
CN112306642B (zh) 一种基于稳定匹配博弈理论的工作流调度方法
CN112685162A (zh) 边缘服务器异构计算资源的高效能调度方法、系统和介质
CN116302404B (zh) 面向资源解耦合数据中心的服务器无感知计算调度方法
CN116782249A (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