CN113190342B - 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 - Google Patents
用于云-边协同网络的多应用细粒度卸载的方法与系统架构 Download PDFInfo
- Publication number
- CN113190342B CN113190342B CN202110608544.6A CN202110608544A CN113190342B CN 113190342 B CN113190342 B CN 113190342B CN 202110608544 A CN202110608544 A CN 202110608544A CN 113190342 B CN113190342 B CN 113190342B
- Authority
- CN
- China
- Prior art keywords
- task
- application
- edge
- cloud
- computing
- 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 27
- 230000005540 biological transmission Effects 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 14
- 239000002243 precursor Substances 0.000 claims description 11
- 230000007613 environmental effect Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 6
- 238000011835 investigation Methods 0.000 claims description 3
- 125000003275 alpha amino acid group Chemical group 0.000 claims description 2
- 150000001875 compounds Chemical class 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 abstract description 6
- 238000011160 research Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 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/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/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/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/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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Mobile Radio Communication Systems (AREA)
Abstract
用于云‑边协同网络的多应用细粒度卸载的方法与系统架构,其中,实现多应用细粒度卸载的方法包括:移动设备把要卸载的应用数据上传到决策控制器上;将上传的应用数据将存入应用数据池;为应用数据中的每个任务计算概率B‑Level;从应用数据池中取出就绪任务,并按设定的排序等级排列在一个队列中;依次从排序队列中取出就绪任务并为其做调度规划;根据调度规划将任务分配到目标计算服务设备上。本发明通过设定决策控制器给出了云‑边协同网络计算系统中的可实施方案,本发明将移动应用进行细粒度卸载时,对应用进行解耦合,每次只为就绪状态的任务指定分配规划并将其调度分配到目标计算设备上,有效降低云‑边协同网络下多应用细粒度计算卸载的时延。
Description
技术领域
本发明涉及移动计算和物联网应用处理技术领域,特别涉及一种用于云-边协同网络的多应用细粒度卸载的方法与系统架构。
背景技术
智能移动设备的大量增长促使各种用途的人机交互移动应用蓬勃发展,由于移动设备受自身物理特性约束,其计算能力的发展速度远跟不上移动应用计算需求的发展。例如像姿态识别、人脸识别、健康监控、增强现实的应用程式,它们由内部依赖约束关联起来的计算任务构成,并且这类应用通常都具有大量资源消耗要求和很高用户体验要求。利用计算卸载技术将资源消耗型的计算任务迁移到远端云和边缘计算设备上,以改善应用执行的用户体验已成为研究者当前最为关心问题。
中国专利文献CN112380008A公开了一种面向移动边缘计算应用的多用户细粒度任务卸载调度方法,其考虑系统的能耗和延迟把计算卸载看作一个约束多目标优化问题(CMOP),然后通过改进的NSGA-Ⅱ算法来解决CMOP。该文献仅针对移动边缘计算场景设计了任务卸载机制,并没有给出如何在云-边异构的网络计算系统中协同控制。实际上,大量现有的研究工作都是把移动云计算和移动边缘计算看成两个分离的体系,并基于该观点,分别针对移动云和移动边缘计算的不同场景设计任务卸载机制。因此该类研究工作并没有充分利用移动云计算和移动边缘计算各自的特点来改善移动应用的执行性能。
此外,现有针对云-边协同的网络计算系统中细粒度任务卸载的研究大多仅仅只考虑为一个应用设计细粒度任务卸载的方案,并没考虑大量移动设备会同时发出计算卸载请求的情形。虽然也有一些最新的工作提出使用集中化的机制控制多移动应用的计算卸载,并优化应用的平均执行跨度,但该类工作并没有给出如何在云-边异构的网络计算系统中协同控制的可实施性方案。因此有必要针对多应用细粒度的计算卸载方法和系统架构作更深入的研究。
发明内容
本发明的目的之一是提供一种用于云-边异构网络的多应用细粒度卸载的方法,通过该方法有效协调云-边异构的计算处理设备为多应用细粒度的计算卸载分配计算资源,降低应用的平均处理时间。
为了实现上述目的,本发明采用如下技术方案:一种用于云-边协同网络的多应用细粒度卸载的方法,其是由彼此互相通讯并与远端云连接的所有边缘服务设备上驻留的决策控制器实现整个云-边协同网络的协同控制工作,每个边缘计算服务设备上的决策控制器接收自身无线服务区域内的移动设备发来的计算卸载请求和上传的应用数据,并通过以下步骤实现多应用细粒度卸载:
S1、将移动设备上传的应用数据存入应用数据池;
S2、为已收到的应用数据计算每个任务的概率B-Level;
S7、当收集到有任务在一个设备上执行完成时,再次执行步骤S3-S6,直至应用数据池中所有任务都分配和执行完毕。
其中,在步骤S2中,任务的概率B-level按以下式(1)计算:
式(1)中,和别表示所有计算设备的平均处理能力和所有设备间的平均数据传输率,是给应用k增加的出口伪节点,是应用k中的第i个任务,是的直接后继任务,是任务要传输给的数据传输量,是任务的计算负载量,是一个表示当计算任务的概率等级为时,任务传输到任务的数据是否当成0计算的一个二进制指示变量,表示为:
其中,在步骤S4中:
式(3)中,H(sa)表示一个计算设备sa能够执行任务的预计就绪时间,表示任务在分配到的计算设备上的完成时间,是的直接前驱任务,是将任务和之间的数据传输量从所在的计算设备传输到要分配到的计算设备时所需要的数据传输时间,和表示任务和的调度决策,和是一个长度为M的一维向量,M表示云-边协同网络中的计算服务设备总数,H(sa)表示为:
式(4)中,M表示云-边协同网络中的计算服务设备总数,在云-边协同网络中,远端云看成一个整体可提供给定数量虚拟机的计算服务设备,其它的边缘计算设备都看成一个独立的计算服务设备,表示计算设备sa的计算队列Qa中排在任务前面的任务集合,表示任务的预计完成时间,是已经调度到计算设备sa上的一个任务,当h=k时,其属于应用k中的任务,否则其属于另一个应用h;
式(6)中,sa'是本地边缘设备,表示sa经过sa'连接到sb,当和分配到相同的计算设备上时,sa=sb,当和分配到不同的计算设备上时,sa≠sb,若sa经本地边缘设备sa'连接到sb,则若sa直接连到sb,则
其中,在步骤5中,通过遍历网络系统中的所有计算服务设备,寻找能够最小化任务的的计算设备并将其作为一个候选集合;若任务在应用k的关键路径上且其前驱任务所分配到的计算设备在候选集合中,则选择前驱任务所分配到的计算设备作为目标计算设备;若任务不在应用k的关键路径上且候选集合中包含远端云和边缘设备,则选择具有平均空闲时间最小的边缘设备作为目标计算设备。
另外,本发明还涉及一种用于云-边协同网络的多应用细粒度卸载的系统架构,其是由驻留在各边缘服务设备上的中间件构成决策控制器,所述决策控制器按上面所述的方法实现多应用细粒度卸载。
其中,所述决策控制器包括:请求/响应控制器、环境监控器、调度规划器、应用数据池、分配器和分布式运行引擎;
所述请求/响应控制器用于处理注册移动设备的卸载请求信息;
所述环境监控器用于与驻留在其它边缘设备上的决策控制器进行交互,并将其所处决策控制器的最新状态信息共享到远端云,以及将从远端云接收的信息进行存储、定期同步和更新;
所述应用数据池用于存储由计算卸载请求发送过来的相关数据,所述相关数据包括应用程序的参数和分析数据、任务之间的依赖约束以及卸载执行的条件参数;
所述调度规划器用于与环境监控器进行协同,为计算卸载作出任务调度规划;
所述分配器用于将已带有确定调度规划的任务分配到对应的计算设备上;
所述分布式运行引擎用于与驻留在其它计算设备上的分布式运行引擎协同,为任务的分布式卸载执行提供环境支持。
具体而言,是通过所述请求/响应控制器将由注册移动设备的卸载请求发送来的相关数据存入应用数据池并请求调度规划器作出计算卸载的调度规划,所述调度规划器接收到由请求/响应控制器发出的给新应用作调度规划的请求和/或由环境监控器收集到有任务在一个计算设备上执行完成的消息时触发,从而为存储在应用数据池中的任务作出适合计算卸载的调度规划;
当某一应用的所有任务执行完毕后,执行结果通过无线网络发送回相应注册移动设备,所述请求/响应控制器删除与该应用相关的注册信息。
本发明通过在边缘服务设备上设定决策控制器,每个边缘服务设备上的决策控制器接收自身无线服务区域内的移动设备发来的计算卸载请求和应用数据,每次从应用数据池中取出处于就绪状态的任务,然后根据任务的概率B-Level排序顺序,逐个从排序队列中取出任务,并分配到能最快完成处理的计算服务设备上,通过所有边缘服务设备上驻留的决策控制器实现整个云-边协同网络的协同控制工作来完成多应用细粒度的计算卸载,本发明通过对应用进行解耦合,每次只为就绪状态的任务指定分配规划并将其调度分配到目标计算设备上,有效降低了云-边协同网络下多应用细粒度计算卸载的时延,在应用的平均执行跨度和平均截止期限违背率方面表现出了优异的性能。
附图说明
图1为云-边协同网络系统的框架结构示意图;
图2为云-边协同网络中应用卸载时的网络拓扑结构示意图;
图3为实施例中用于云-边协同网络的多应用细粒度卸载的系统架构示意图;
图4为实施例所涉方法与其它现有方法在不同的应用卸载到达率下平均应用执行跨度(平均完成时间)的比较图;
图5为实施例所涉方法与其它现有方法在不同的应用卸载到达率下平均应用截止期限违背率的比较图。
具体实施方式
为了便于本领域技术人员更好地理解本发明相对于现有技术的改进之处,下面结合附图和实施例对本发明作进一步的描述。
在现有技术中,一个云-边协同网络系统由三层结构构成,如图1所示。顶层是一个远端的云服务中心,它能以提供一定数量的虚拟机的方式给用户提供强大的计算能力。第二层由一些边缘计算设备构成,诸如车联网的路边服务单元、微基站等。它们可以看成是与用户距离更近的边缘服务器。所有的边缘设备都有自己的计算能力,且计算资源是有限的。这些边缘设备之间能互相通讯,并通过核心网络与远端的中心云相连接。每个边缘设备都有一个特定的无线覆盖区域,并能为覆盖区域内的移动设备提供访问服务。每一个移动设备通过连接到覆盖了自己的边缘设备访问整个系统。该边缘设备相对于移动设备而言可称为本地边缘设备。第三层由很多移动设备构成。这些移动设备可以通过无线访问链接与各自所在区域内的本地边缘设备进行通信,并请求云-边协同的网络系统提供计算卸载服务。在图1的基础上,本实施例使用开源的云计算仿真器CloudSim搭建了一个云-边协同的网络计算系统仿真平台。实验环境中网络计算系统的第二层包含四个边缘设备,每个边缘设备的处理能力设成5×103MIPS(百万指令),远端云能提供4个虚拟机,其中每个虚拟机的处理能力设成104MIPS,移动设备的处理能力设成103MIPS,并将设备之间的传输率设成下列形式:1、远端云和边缘设备间设定成传输延时为80ns/byte的Long Term EvolutionAdvanced(LTE-A)。2、边缘设备之间设定成传输延迟为17.77ns/byte的802.11n协议。3、本地边缘设备和移动设备之间设定成传输延迟为7.81ns/byte的802.11ac协议。
在本实施例中,使用随机产生的有向无环图结构(DAG)作为移动应用,一个DAG的结构使用下面五个特征参数:
2、一个DAG的深度和宽度用形状参数确定,该参数设成1;用期望值和标准差都为的正态分布产生一个随机数代表DAG的深度,得到的深度值再四舍五入到最小的整数且保证深度值大于2;每一层的最大宽度用表达式定义,每一层的实际宽度从的范围按均匀分布的方式随机选择,然后四舍五入到最小的整数。
3、考虑到移动应用所对应的DAG结构普遍都是较窄的宽度,因此一个任务的出度从[1,3]的范围按均匀分布的方式随机选择。
5、计算通信比CCR设成0.4。将一个应用的总通信时间乘以CCR得到总的传输时间tt。用表达式1.28×108·tt/|ε|的值设定有向边的平均数据传输量atd,其中|ε|是DAG中有向边的总数。用期望值为atd,标准差为0.5·atd的正态分布产生的随机数设定有向边的数据传输量
本实施例中,参数产生5个DAG模板,为了模拟应用随机释放计算卸载请求的过程,以均值为λ的泊松分布随机从五个模板选择应用,并将选出的应用存入一个文件。每个算法从这个记录了各个应用到达时间的文件中加载要处理的应用进行评测。此外,还为每个应用定义一个基准的执行跨度Mk,用来设定每个应用的截止期限。为了设定Mk,将应用的所有任务分配到一些假设设备上,并让这些假设的设备具有整个系统中所有设备的平均处理能力,同时不考虑任务在这些假设设备上的等待时间和任务间的数据传输时间。基于此,应用k的截止期限可以用表达式lk=rk+ξ·Mk计算,其中ξ是一个设成4的因子。在本实施例中,应用的数目设成200。除了以上参数外,与概率B-Level相关的常量ρ被设置成1000。
在本实施例中,云-边协同网络的多应用细粒度卸载的框架结构见图3所示,其主要是由驻留在每个边缘设备上的决策控制器构成。决策控制器负责为连接到其上的移动设备的任务卸载提供决策控制。对于任意一个移动设备,其必须向自身所在的本地边缘设备注册计算卸载的请求。当请求被授权后,决策控制器将根据该请求做出任务分配决策,并把任务分配到不同的边缘服务器或者远端云上执行。最后,当应用执行完毕后,移动设备将收到计算的结果。需要注意的是,因为每个移动设备都经过一个本地边缘设备连接到系统中,因此在移动设备、边缘设备以及远端云之间的数据传输必须通过本地边缘设备才能完成。在图3中,决策控制器主要包括请求/响应控制器、环境监控器、调度规划器、应用数据池、分配器和分布式运行引擎。请求/响应控制器负责注册移动设备的卸载请求信息。环境监控器与驻留在其它边缘设备上的决策控制器进行交互,并将自己最新的状态信息共享到远端云,然后把从远端云接收的信息进行存储、并定期同步和更新这些数据。应用数据池存储由应用程序的计算卸载请求发送过来的所有参数,它们包括:应用程序的参数和分析数据、任务之间的依赖约束以及卸载执行的条件参数。调度规划器与环境监控器进行协同,并负责为计算卸载做出各种任务调度规划。分配器负责将已带有确定调度规划的任务分配到对应的计算设备上。分布式运行引擎负责与驻留在其它计算设备上的分布式运行引擎进行协同,为任务的分布式卸载执行提供环境支持。
当一个计算卸载请求被授权以后,请求/响应控制器会把由请求传送来的应用程序参数存入应用数据池,并立即通知调度规划器有一个新的应用卸载请求已到达系统。调度规划器是基于事件驱动的。一个事件是由请求/响应控制器发出新请求已到达时触发,另一个事件是由环境监控器收集到有任务在一个设备上执行完成时触发。根据接收这两个事件,调度规划器能够连续为存储在应用参数池中的任务做出适合计算卸载的调度规划。当移动应用执行完毕之后,它的结果将发送回最初启动应用卸载的移动设备,与应用相关的注册信息从请求/响应控制器中删除。
在云-边协同网络中实现多应用细粒度计算卸载的过程主要包括以下步骤:1、移动设备把要卸载的应用数据上传到无线信号覆盖了自己的边缘服务设备的决策控制器上。2、请求/响应控制器将移动设备上传的应用数据存入应用数据池。3、调度规划器为已收到的应用数据计算每个任务的概率B-Level。4、从当前应用数据池中取出处于就绪状态的任务,按照应用截止期限递增的排序方式将其排在一个队列中,将属于相同应用的任务按照概率B-Level递减排序。5、依次取出队列中的任务,并为每个具体的任务做调度规划。6、根据任务在不同计算设备上的预计完成时间以完成时间最小作为选择目标计算设备的考察指标。7、将任务分配到目标计算设备上执行。8、当环境监控器收集到有任务在一个设备上执行完成时,再次执行上述步骤4-7,直至应用数据池中所有任务都分配和执行完毕。
具体而言,在步骤1中,移动计算设备在本地边缘服务设备上完成注册后,把要卸载的应用数据上传到本地边缘服务设备的决策控制器上。从移动设备的观点看,它们中的每一个在进行任务卸载时都有相同的网络拓扑结构,因此实施时只需从一个移动设备的角度关注计算卸载,能更便于理解整个网络结构。由于接下来主要是针对多应用的卸载调度问题展开分析,当连接到整个系统上的移动设备增多时,只是相应地增加卸载的应用数目,不会影响要研究问题的性质。因此为一个移动设备给出的计算卸载方案同样能扩展到一般化的场景。需要指出的是,卸载调度规划工作是由两种事件驱动,一个事件是由请求/响应控制器发出新请求已到达时触发,另一个事件是由环境监控器收集到有任务在一个设备上执行完成时触发。
在步骤2中,由移动设备上传应用k的应用数据到达请求/响应控制器后,请求/响应控制器把由请求传送来的应用程序参数存入应用数据池,并给这些已授权的应用添加一个出口伪节点和一个入口伪节点同时通知调度规划器有一个新的应用卸载请求已到达系统,触发调度规划器工作。
在步骤3中,调度规划器按照以下公式(1)给位于应用数据池中应用k的所有任务计算概率B-Level:
公式(1)中,和别表示所有计算设备的平均处理能力和所有设备间的平均数据传输率,是给应用k增加的出口伪节点,是应用k中的第i个任务,是的后继任务,是任务要传输给的数据传输量,是任务的计算负载量,是一个表示当计算任务的概率等级为时,任务传输到任务的数据是否当成0计算的一个二进制指示变量,表示为:
公式(2)中,frand()是一个在[0,1)之间均匀分布的随机变量,是任务的计算通信比,即的计算时间与数据传输量的传输时间的比值,计算通信比表示为ρ是一个比1大的常量。例如,入口伪节点的基于概率的排序等级表示移动应用k中基于概率的关键路径长度。当计算入口伪节点的时,移动应用k中基于概率的关键路径都会记录下来。
执行步骤4时,先将当前应用数据池中所有处于就绪状态的任务取出,并放入一个排序队列在队列中的任务先后按照应用的截止期限递增排序,然后属于相同应用的任务再按照各个任务的概率B-Level排列递减排列。一个任务只有当它的所有直接前驱任务都分配到目标计算服务设备后才能处于就绪状态。
在执行步骤5时,需要计算当前要做调度规划的任务在不同计算设备上可能的开始时间要计算这个时间,需要先计算任务的直接前驱任务所在的计算设备传输到要分配到的设备时需要的数据传输时间。为了统一数据传输时间的变量表达式,这里使用表示直接前驱任务向直接后继任务传输数据的时间,其中是的直接前驱。因此相应地将当前要做调度规划的任务改写成而将其直接前驱改写成后,则传输时间使用公式(3)计算:
公式(3)中,sa′是本地边缘设备,表示sa经过sa′连接到sb。基于此,可以按下面的形式计算:如果和分配到相同的计算设备上,即sa=sb,那么当和分配到不同的计算设备上时,即sa≠sb,将会现两种情况:第一种情况,如果sa经过本地边缘设备sa′连接到sb,也就是说,它们中有一个被分配在移动设备上而另一个不在sa′上,则可得到第二种情况,如果sa直接连到sb,则
在公式(4)中,H(sa)表示一个计算设备sa能够执行任务的预计就绪时间,表示任务在分配到的计算设备上的完成时间,是的直接前驱任务,是将任务和之间的数据传输量从所在的计算设备传输到要分配到的计算设备时所需要的数据传输时间,和表示任务和的调度决策,和是一个长度为M的一维向量,M表示云-边协同网络中的计算服务设备总数,H(sa)表示为:
公式(5)中,M表示云-边协同网络中的计算服务设备总数,在云-边协同网络中,远端云看成一个整体可提供给定数量虚拟机的计算服务设备,其它的边缘计算设备都看成一个独立的计算服务设备,表示计算设备sa的计算队列Qa中排在任务前面的任务集合,表示任务的预计完成时间,是已经调度到计算设备sa上的一个任务,当h=k时,其属于应用k中的任务,否则其属于另一个应用h。
通过遍历网络系统中的所有计算服务设备,寻找能够最小化任务的的计算设备并将其作为一个候选集合;若任务在应用k的关键路径上且其前驱任务所分配到的计算设备在候选集合中,则选择前驱任务所分配到的计算设备作为目标计算设备;若任务不在应用k的关键路径上且候选集合中包含远端云和边缘设备,则边缘设备会比远端云有更高的优先权被选做匹配设备,优先选择具有平均空闲时间最小的边缘设备作为目标计算设备。
在执行步骤8时,当环境监控器收集到任意一个任务在一个计算设备上执行完成时,环境监控器触发卸载调度规划器再次工作,执行步骤4-7。
为了更进一步评估本实施例所涉方法(对应于图中COFE)的性能,将其与其它目前最先进的方法(OnDoc、CEFO、ITAGS)进行比较,如图4和图5所示。验证结果表明,本实施例所涉方法在应用的平均执行跨度和平均截止期限违背率方面的性能均明显优于其它目前最先进的方法。
综合上述分析和对比测试结果可知,本实施例中通过在边缘服务设备上设定决策控制器,每个边缘服务设备上的决策控制器接收自身无线服务区域内的移动设备发来的计算卸载请求和应用数据,每次从应用数据池中取出处于就绪状态的任务,然后根据任务的概率B-Level排序顺序,逐个从排序队列中取出任务,并分配到能最快完成处理的计算服务设备上,通过所有边缘服务设备上驻留的决策控制器实现整个云-边协同网络的协同控制工作来完成多应用细粒度的计算卸载,本发明通过对应用进行解耦合,每次只为就绪状态的任务指定分配规划并将其调度分配到目标计算设备上,有效降低了云-边协同网络下多应用细粒度计算卸载的时延,在应用的平均执行跨度和平均截止期限违背率方面表现出了优异的性能。
上述实施例为本发明较佳的实现方案,除此之外,本发明还可以其它方式实现,在不脱离本技术方案构思的前提下任何显而易见的替换均在本发明的保护范围之内。
为了让本领域普通技术人员更方便地理解本发明相对于现有技术的改进之处,本发明的一些附图和描述已经被简化,并且为了清楚起见,本申请文件还省略了一些其它元素,本领域普通技术人员应该意识到这些省略的元素也可构成本发明的内容。
Claims (6)
1.用于云-边协同网络的多应用细粒度卸载的方法,其特征在于:
由彼此互相通讯并与远端云连接的所有边缘服务设备上驻留的决策控制器实现整个云-边协同网络的协同控制工作,每个边缘计算服务设备上的决策控制器接收自身无线服务区域内的移动设备发来的计算卸载请求和上传的应用数据,并通过以下步骤实现多应用细粒度卸载:
S1、将移动设备上传的应用数据存入应用数据池;
S2、为已收到的应用数据计算每个任务的概率B-Level;其中,任务的概率B-level按以下式(1)计算:
式(1)中,和分别表示所有计算设备的平均处理能力和所有设备间的平均数据传输率,是给应用k增加的出口伪节点,是应用k中的第i个任务,是的直接后继任务,是任务要传输给的数据传输量,是任务的计算负载量,是一个表示当计算任务的概率等级为时,任务传输到任务的数据是否当成0计算的一个二进制指示变量,表示为:
式(3)中,H(sa)表示一个计算设备sa能够执行任务的预计就绪时间,表示任务在分配到的计算设备上的完成时间,是的直接前驱任务,是将任务和之间的数据传输量从所在的计算设备传输到要分配到的计算设备时所需要的数据传输时间,和表示任务和的调度决策,和是一个长度为M的一维向量,M表示云-边协同网络中的计算服务设备总数,H(sa)表示为:
式(4)中,M表示云-边协同网络中的计算服务设备总数,在云-边协同网络中,远端云看成一个整体可提供给定数量虚拟机的计算服务设备,其它的边缘计算设备都看成一个独立的计算服务设备,表示计算设备sa的计算队列Qa中排在任务前面的任务集合,表示任务的预计完成时间,是已经调度到计算设备sa上的一个任务,当h=k时,其属于应用k中的任务,否则其属于另一个应用h;
S7、当收集到有任务在一个设备上执行完成时,再次执行步骤S3-S6,直至应用数据池中所有任务都分配和执行完毕。
4.用于云-边协同网络的多应用细粒度卸载的系统架构,其特征在于:由驻留在各边缘服务设备上的中间件构成决策控制器,所述决策控制器按权利要求1-3中任意一项所述的方法实现多应用细粒度卸载。
5.根据权利要求4所述的用于云-边协同网络的多应用细粒度卸载的系统架构,其特征在于,所述决策控制器包括请求/响应控制器、环境监控器、调度规划器、应用数据池、分配器和分布式运行引擎;
所述请求/响应控制器用于处理注册移动设备的卸载请求信息;
所述环境监控器用于与驻留在其它边缘设备上的决策控制器进行交互,并将其所处决策控制器的最新状态信息共享到远端云,以及将从远端云接收的信息进行存储、定期同步和更新;
所述应用数据池用于存储由计算卸载请求发送过来的相关数据,所述相关数据包括应用程序的参数和分析数据、任务之间的依赖约束以及卸载执行的条件参数;
所述调度规划器用于与环境监控器进行协同,为计算卸载作出任务调度规划;
所述分配器用于将已带有确定调度规划的任务分配到对应的计算设备上;
所述分布式运行引擎用于与驻留在其它计算设备上的分布式运行引擎协同,为任务的分布式卸载执行提供环境支持。
6.根据权利要求5所述的用于云-边协同网络的多应用细粒度卸载的系统架构,其特征在于:
通过所述请求/响应控制器将由注册移动设备的卸载请求发送来的相关数据存入应用数据池并请求调度规划器作出计算卸载的调度规划,所述调度规划器接收到由请求/响应控制器发出的给新应用作调度规划的请求和/或由环境监控器收集到有任务在一个计算设备上执行完成的消息时触发,从而为存储在应用数据池中的任务作出适合计算卸载的调度规划;
当某一应用的所有任务执行完毕后,执行结果通过无线网络发送回相应注册移动设备,所述请求/响应控制器删除与该应用相关的注册信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110608544.6A CN113190342B (zh) | 2021-06-01 | 2021-06-01 | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110608544.6A CN113190342B (zh) | 2021-06-01 | 2021-06-01 | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113190342A CN113190342A (zh) | 2021-07-30 |
CN113190342B true CN113190342B (zh) | 2023-04-21 |
Family
ID=76986156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110608544.6A Active CN113190342B (zh) | 2021-06-01 | 2021-06-01 | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190342B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113900800B (zh) * | 2021-09-17 | 2022-08-19 | 中标慧安信息技术股份有限公司 | 一种边缘计算系统的分配方法 |
CN116149759B (zh) * | 2023-04-20 | 2023-07-14 | 深圳市吉方工控有限公司 | Uefi驱动卸载方法、装置、电子设备及可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150229439A1 (en) * | 2012-11-27 | 2015-08-13 | Halliburton Energy Services, Inc. | Communication applications |
ITMI20130942A1 (it) * | 2013-06-07 | 2014-12-08 | Ibm | Pianificazione dell'esecuzione di attivita' con risoluzione di dipendenze |
US10264071B2 (en) * | 2014-03-31 | 2019-04-16 | Amazon Technologies, Inc. | Session management in distributed storage systems |
US10552205B2 (en) * | 2016-04-02 | 2020-02-04 | Intel Corporation | Work conserving, load balancing, and scheduling |
CN109891392B (zh) * | 2017-09-30 | 2022-01-11 | 华为技术有限公司 | 一种系统服务超时的处理方法及装置 |
CN110347500B (zh) * | 2019-06-18 | 2023-05-23 | 东南大学 | 用于边缘计算环境中面向深度学习应用的任务卸载方法 |
CN110928654B (zh) * | 2019-11-02 | 2024-03-19 | 上海大学 | 一种边缘计算系统中分布式的在线任务卸载调度方法 |
CN111104211A (zh) * | 2019-12-05 | 2020-05-05 | 山东师范大学 | 基于任务依赖的计算卸载方法、系统、设备及介质 |
CN111176817B (zh) * | 2019-12-30 | 2023-03-28 | 哈尔滨工业大学 | 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法 |
-
2021
- 2021-06-01 CN CN202110608544.6A patent/CN113190342B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113190342A (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756812B (zh) | 一种能耗感知的边云协同动态卸载调度方法 | |
Ge et al. | GA-based task scheduler for the cloud computing systems | |
Kumari et al. | Task offloading in fog computing: A survey of algorithms and optimization techniques | |
Jiang et al. | Optimal cloud resource auto-scaling for web applications | |
Han et al. | Tailored learning-based scheduling for kubernetes-oriented edge-cloud system | |
CN107404523A (zh) | 云平台自适应资源调度系统和方法 | |
CN107003887A (zh) | Cpu超载设置和云计算工作负荷调度机构 | |
Xin et al. | A load balance oriented cost efficient scheduling method for parallel tasks | |
CN113190342B (zh) | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 | |
Nithya et al. | SDCF: A software-defined cyber foraging framework for cloudlet environment | |
CN109857535B (zh) | 面向Spark JDBC的任务优先级控制的实现方法及装置 | |
CN107038070A (zh) | 一种云环境下执行可靠性感知的并行任务调度方法 | |
Guan et al. | A novel mobility-aware offloading management scheme in sustainable multi-access edge computing | |
Ling et al. | Joint scheduling of MapReduce jobs with servers: Performance bounds and experiments | |
Biswas et al. | Automatic resource provisioning: a machine learning based proactive approach | |
Qian et al. | A workflow-aided Internet of things paradigm with intelligent edge computing | |
CN115033359A (zh) | 一种基于时延控制的物联代理多任务调度方法和系统 | |
CN106502790A (zh) | 一种基于数据分布的任务分配优化方法 | |
Cao et al. | A deep reinforcement learning approach to multi-component job scheduling in edge computing | |
Saravanan et al. | Advance Map Reduce Task Scheduling algorithm using mobile cloud multimedia services architecture | |
Lu et al. | InSTechAH: Cost-effectively autoscaling smart computing hadoop cluster in private cloud | |
Ebrahim et al. | Resilience and load balancing in fog networks: A multi-criteria decision analysis approach | |
Zhou et al. | DPS: Dynamic pricing and scheduling for distributed machine learning jobs in edge-cloud networks | |
Ananth et al. | Cooperative game theoretic approach for job scheduling in cloud computing | |
Amini Motlagh et al. | A new reliability‐based task scheduling algorithm in cloud computing |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20210730 Assignee: Hengyang Yishui Trading Co.,Ltd. Assignor: HUNAN INSTITUTE OF TECHNOLOGY Contract record no.: X2023980052697 Denomination of invention: A method and system architecture for fine-grained offloading of multiple applications in cloud edge collaborative networks Granted publication date: 20230421 License type: Common License Record date: 20231215 |