CN106951313B - 多工作流共享资源协同调度的子期限获取方法 - Google Patents
多工作流共享资源协同调度的子期限获取方法 Download PDFInfo
- Publication number
- CN106951313B CN106951313B CN201710120946.5A CN201710120946A CN106951313B CN 106951313 B CN106951313 B CN 106951313B CN 201710120946 A CN201710120946 A CN 201710120946A CN 106951313 B CN106951313 B CN 106951313B
- Authority
- CN
- China
- Prior art keywords
- task
- deadline
- dag
- time
- tasks
- 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
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
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
多工作流共享资源协同调度的子期限获取方法属于网格或云计算领域。有期限约束的多个工作流在一组固定资源上共同调度时,每个任务的子期限可以作为衡量不同工作流中当前任务紧急程度的重要参数。而现有子期限获取方法获取的子期限仅考虑单个工作流,未考虑并行度的影响,更未涉及到多工作流共同调度时合理子期限的获取。本发明通过工作流反向的思想先获取反向任务的反向权值新指标进行降序排序,反向的期限使得在不同期限差时段内可能分布不同的DAG数目,按照反向最早完成时间优先的思想,多DAG任务在期限范围内获取相对公平的最早完成时间和最早开始时间,进一步计算出每个任务最迟结束时间和子期限,可识别出多个DAG是否能够如期共同完成调度。
Description
技术领域
本发明属于网格计算、云计算领域,具体地说,是一种涉及有期限约束多工作流协同一组固定资源上调度时的子期限获取方法。
背景技术
随着信息技术的发展,许多领域大规模科学计算问题的日益增多,在分布式资源中合理映射科学工作流实现多目标的优化调度变得愈发重要。尤其是在以效用为基础的云计算出现后,如何提高资源利用率、降低费用花费受到云供应商及用户两方面的关注。在一组资源中多工作流的协同调度既有实际的应用需求,也能够更充分利用时隙,有效提高资源利用率。而在有期限约束的多DAG工作流共享一组静态资源的调度中,子期限通常作为不同DAG间判定每个任务优先级的参数之一[1]。因此,在多个DAG协同调度时合理获取每个任务的子期限具有重要的现实意义。
与著名的HEFT调度算法[2]假设相同,假定一个DAG多个任务需要映射到q个异构分布式计算资源R(R1R2,...,Rq)并行调度。每个边由(ni,nj)表示,对应于任务ni和nj之间的数据通信,其中ni称为nj的直接父任务,nj是ni的直接子任务。由于控制和数据依赖关系的存在,我们假设所有的父任务完成后子任务才能执行。因此,工作流应用可以被描述为元组Ω(Γ,Λ)。wi,j为每个任务ni在计算资源Mj上的执行时间花费,每个资源的价格定义为pj,假定资源带宽为1,ci,j任务ni和nj之间的数据通信时间花费,同一资源中的任务间通信时间花费为0。
在DAG中,没有任何父任务的任务被称为入口任务,表示为nentry,而没有任何子任务的任务被称为出口任务,表示为nexit。如果给定工作流在DAG中包含了多于一个的入口任务或出口任务,可以生成一个零花费的伪入口任务,并将所有入口任务连接,出口任务同样添加伪出口任务,这样并不会影响到工作流的执行花费。
现有文献[1,3,4]关于获取DAG任务子期限的方法通常是基于计算当前任务到出口任务的最大总时间也就是近似关键路径进行定义的。这种获取子期限的方法并没有考虑到并行任务的多少对子期限的影响,在衡量任务紧急程度方面不够准确,具有较大的改进的空间。而且这种方法针对的是单个有期限DAG任务在一组资源中调度的情况,对于有期限约束的多DAG共同调度,从现有文献中尚未发现有专门的子期限获取方法。
发明内容
对于多个有期限约束DAG在一组资源上共同调度时,每个DAG都有自己的期限。若想获取每个DAG中单个任务的子期限,每个任务在考虑数据传递依赖的基础上以及不影响总期限的情况下尽量往后推迟。从最大期限往前倒推,在没有其他DAG共同调度的时间段即最大期限和第二大期限之间的时间段内,只能有期限最大的DAG映射到资源,尽可能多的从后向前充满任务映射;第二大期限和第三大期限的时间段内可能会有两个DAG共同公平地、尽可能多地从后向前映射到资源来获取子期限,也可能第一期限的DAG全部映射在最大时间段里,这时就只有一个第二期限DAG映射;依次类推,直到最小期限的DAG与其他还没向后映射完的DAG共同映射到资源,公平地获取子期限。在每个时间段内尽可能多地、从后向前映射任务,就是希望每个任务推迟到子期限时刻。以三个按期限升序排列的DAG:DAG1(A)、DAG2(B)、DAG3(C)的如图1所示期限差为例。若想获取一个DAG中单个任务的子期限,如图1中的T1时间段内,只能有DAG3(C)而不会有其他DAG从后向前尽可能多地映射到资源,T2时间段内可能会有DAG3(C)和DAG2(B)共同映射到资源,而T3时间段内可能会有DAG3(C)、DAG2(B)和DAG1(A)三个DAG共同映射到资源。因此为了获取各任务子期限,在考虑数据传递依赖的基础上,T1时间段内需要尽可能多的从后向前充满DAG3(C)任务映射。T2时间段内若还有DAG3(C)没映射完成,则需要尽可能多的从后向前充满DAG3(C)和DAG2(B)的任务映射。T3时间段内若还有DAG3(C)和DAG2(B)没映射完成,则需要尽可能多的从后向前充满三个DAG的任务映射。在这几个时间段内尽可能多的任务映射就是希望每个任务推迟到子期限时刻完成映射。同时,在多个DAG共同映射计算子期限时,还需要考虑子期限计算的公平性。
假定DAG多个任务需要映射到q个异构分布式计算资源R(R1,R2,...,Rq)并行调度。每条边由(ni,nj)表示,对应于任务ni和nj之间的数据通信,其中ni称为nj的直接父任务,nj是ni的直接子任务。由于控制和数据依赖关系的存在,所有的父任务完成后子任务才能执行。假定资源带宽为1,ci,j任务ni和nj之间的数据通信时间花费,同一资源中的任务间通信时间花费为0。wi,j为每个任务ni在计算资源Mj上的执行时间花费。在DAG中,没有任何父任务的任务被称为入口任务,表示为nentry,而没有任何子任务的任务被称为出口任务,表示为nexit。
其中:表示任务的所有父任务,nj为任务的任一父任务,为任务在资源组中每个资源上执行时间平均值,ci,j是任务和父任务之间的数据通信时间花费,入口任务的反向权值 为任务在资源组中每个资源上执行时间平均值。
假定一组DAG按期限从大到小排序各期限分别是(D1,D2,…,DN),多DAG中每个任务子期限的获取的具体步骤如下:
步骤(1):对每个DAG按照公式(1)计算各任务的反向权值rankr(ni)。
步骤(2):按照各任务rankr(ni)值进行每个DAG内部任务的降序排序,即每个nexit排在最前面、每个nentry排在最后。
步骤(3):选择任务。
首先对整体期限倒序翻转,每个期限翻转后时刻对应允许一个反向DAG参与调度映射,已经参与调度的DAG需要共同选择任务。
例如,期限翻转表示为由图1到图2中的虚线,图2中t1、t2表示了共两个DAG时两各反向DAG允许开始调度时刻。对于最大期限的DAG(即期限为D1的DAG)首先从0时刻按任务顺序从开始选择,若某一轮次映射任务的最大完成时间超过(D1-D2)时,第二大期限的DAG从(D1-D2)时刻开始参与调度,若上一个DAG还没有执行完成,两个DAG的第一个任务按反向权值比较,更大的任务选择选择资源优先调度,依次类推,直到最小期限的DAG从(D1-DN)时刻开始参与,并对所有未执行完的多个DAG的第一个任务按反向权值比较找最大取出最紧急的任务
说明:反向DAG使得所有DAG新的最大允许完成时刻相同,多个已经参与调度的DAG中选取具有最大反向权值的任务能够作为当前调度优先级最高任务。由于反向后各DAG起始时间不同,最大结束时间是相同的,反向权值可直接用于对比DAG间紧急程度,使得选择具有公平性。
步骤(4):选择资源。
每一轮按照步骤(3)中选出的任务从所有资源中寻找具有最早可完成时间的任务的资源时隙。若为入口任务直接判定各资源可用时隙的最小完成执行时间就可找到资源;否则,由于反向,任务所有子任务均已经映射到资源,先要计算出任务所有子任务到每个资源的最大传递时间,然后找到每个资源上满足要求的时隙计算最早完成时间。从而得到任务的EST和EFT。
其中:D为DAG期限
这样的子期限不仅考虑了本DAG中并行的任务影响,也考虑了其他DAG中可能并行任务的影响。因此只要当前任务在子期限前完成,其他所有任务能够在剩余资源及剩余时间内全部执行完成。
附图说明:
图1:三个简单DAG期限差示例
图2:三个简单DAG反向获取开始时刻示例
图3:低并行度简单DAG示例数据
图4:具有高并行度的简单DAG示例数据
具体实施方式
有期限约束多工作流协同调度子期限获取方法的MRHEFT算法描述:
输入:一组待调度DAG(G1,G2,…,Gn),一组资源R(R1,R2,…,Rq),一组任务运行时间矩阵(W1,W2,…,Wn),任务间数据传递边向量(C1,C2,…,Cm),期限(D1,D2,…,Dn)
1:按期限排序得到未映射DAG列表unschDAGs
2:对各DAG重复按单DAG反向调度思想得到内部各任务反向权值及排序任务列表unMapListk
3:根据HEFT向上权值计算方法得到DAG内各任务向上权值
4:获取各DAG反向最早开始时间=D1-Dk
5:WHILE(unschDAGs≠Φ)DO
6:FOR(Gk:unschDAGs)
7:IF(所有已映射任务完成时间>=RSTGk)
8:取rankr(ni-Gk)最大的任务ni-Gk
9:END IF
10:对比上一轮的rankr(ni-Gk-1)和rankr(ni-Gk),保留权值更大即更紧急的任务
11END FOR
12:得到可以开始反向执行DAG中最紧急任务
14:END WHILE
15:返回DAG集合中各任务子期限和最迟开始时间
基于如图3和图4给出的两个不同并行度的DAG数据示例,假定期限都较为紧急,期限分别为38.8和27。采用MRHEFT方法的具体实施步骤:
步骤(1):按照公式(1)计算每个DAG各任务的反向权值,图3所示DAG1(A)对应的rankr(Ai):
rankr(A1):7.925rankr(A2):19.175rankr(A3):31.175
rankr(A4):20.95rankr(A5):43.6
图4所示的DAG1(B)对应的rankr(Bi):
rankr(B1):4.25rankr(B2):12.35rankr(B3):12.025rankr(B4):13.3
rankr(B5):12.4rankr(B6):16.425rankr(B7):12.375rankr(B8):13.225
rankr(B9):14.875rankr(B10):20.925
步骤(2):按照每个DAG反向权值rankr(ni)的降序进行内部任务排序。
DAG1(A)顺序为:A5 A3 A4 A2 A1
DAG2(B)顺序为:B10 B6 B9 B4 B8 B5 B2 B3 B1
步骤(3):选择调度任务。
对于最大期限的DAG1(A)(即期限为D1的DAG)的第一个任务A5从0刻开始按照步骤(4)选择具有最早完成时间的资源映射,然后A3映射后发现结束时间27.9超过了(D1-D2)=38.8-27=18.8时刻,第二大期限的DAG2(B)中的B10开始从最小18.8时刻参与映射,B10和A4对比向下权值,A4大,优先选择映射,依次类推,将其他所有任务依次选择完成映射。
步骤(4):每一轮按照步骤(3)中选出的任务,基于HEFT的策略考虑任务间反向数据传递时延(父子任务关系交换),按照最早完成时间优先的思想选择资源。从而得到两个DAG中各个任务每个资源上具体结果见表4:
表4
步骤(5):按照公式(2)、公式(3)计算出多DAG中每个任务的最迟开始时间和子期限,这里两个公式中的期限均为最大期限D1。
由表中数据可知,出现过小的子期限,对应最迟开始时间出现负值,因此在一组固定资源中这两个DAG在期限约束下不能实现共同调度,这也进一步说明了多个DAG共同调度时最迟开始时间和子期限获取的重要性。当出现这种情况时只能选择扩展资源或者增大DAG期限。当将期限增大时,DAG1(A)的deadline提高到43.5,DAG2(A)deadline提高到33.7。
参考文献
[1]Arabnejad H,Barbosa J G.Multi-workflow QoS-Constrained Schedulingfor Utility Computing,International Conference on Computational Science andEngineering[C].IEEE,2015:137-144
[2]Topcuoglu H.,Hariri S.and Min-You W..Performance-effective andLow-complexity Task Scheduling for Heterogeneous Computing.IEEE Transactionson Parallel and Distributed Systems,2002(13):260-274.
[3]Jia Y,Buyya R,Chen K T.Cost-Based Scheduling of ScientificWorkflow Application on Utility Grids[C]//International Conference on E-Science and Grid Computing.DBLP,2006:8pp.-147.
[4]Abrishami S,Naghibzadeh M,Epema D H J.Deadline-constrainedworkflow scheduling algorithms for Infrastructure as a Service Clouds[J].Future Generation Computer Systems,2013,29(1):158-169.
Claims (1)
1.多工作流共享资源协同调度的子期限获取方法,其特征在于,步骤如下:
其中:表示任务的所有直接父任务,属于为任务的一个直接父任务,为任务在资源组R中各个资源上执行时间平均值,cp,i是任务和直接父任务之间的数据通信时间花费,为父任务的反向权值,由于反向权值需要迭代计算,需要首先计算入口任务的反向权值 为任务在R中每个资源上执行时间平均值;
假定一组DAG按期限从大到小排序各期限分别是(D1,D2,…,DN),多DAG中每个任务子期限的获取的具体步骤如下:
步骤(3):选择任务;
首先对整体期限倒序翻转,每个期限翻转后时刻对应允许一个反向DAG参与调度映射,已经参与调度的DAG需要共同选择任务;
对于最大期限的DAG(即期限为D1的DAG)首先从0时刻按任务顺序从开始选择,若某一轮次映射任务的最大完成时间超过(D1-D2)时,第二大期限的DAG从(D1-D2)时刻开始参与调度,若上一个DAG还没有执行完成,两个DAG的第一个任务按反向权值比较,更大的任务选择选择资源优先调度,依次类推,直到最小期限的DAG从(D1-DN)时刻开始参与,并对所有未执行完的多个DAG的第一个任务按反向权值比较找最大取出最紧急的任务
步骤(4):选择资源;
每一轮按照步骤(3)中选出的任务从所有资源中寻找具有最早能完成时间的任务的资源时隙;若为入口任务直接判定各资源可用时隙的最小完成执行时间就能找到资源;否则,由于反向,任务所有子任务均已经映射到资源,先要计算出任务所有子任务到每个资源的最大传递时间,然后找到每个资源上满足要求的时隙计算最早完成时间;从而得到任务的EST和EFT;
其中:D为DAG期限
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710120946.5A CN106951313B (zh) | 2017-03-02 | 2017-03-02 | 多工作流共享资源协同调度的子期限获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710120946.5A CN106951313B (zh) | 2017-03-02 | 2017-03-02 | 多工作流共享资源协同调度的子期限获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106951313A CN106951313A (zh) | 2017-07-14 |
CN106951313B true CN106951313B (zh) | 2021-04-23 |
Family
ID=59467057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710120946.5A Active CN106951313B (zh) | 2017-03-02 | 2017-03-02 | 多工作流共享资源协同调度的子期限获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106951313B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3072197B1 (fr) * | 2017-10-10 | 2019-10-11 | Krono-Safe | Procede d'execution de plans de sequencement assurant une communication a faible latence entre taches temps-reel |
CN108647084B (zh) * | 2018-05-08 | 2021-07-20 | 武汉轻工大学 | 能效云任务调度方法 |
CN110689262B (zh) * | 2019-09-25 | 2022-11-25 | 中国人民解放军战略支援部队航天工程大学 | 天基信息系统任务调度方法、装置和电子设备 |
CN111285132B (zh) * | 2020-03-18 | 2021-12-07 | 华润电力技术研究院有限公司 | 一种火电设备及其圆形煤场堆取料的控制方法及系统 |
CN115033373B (zh) * | 2022-03-08 | 2024-07-02 | 西安电子科技大学 | 一种移动边缘计算网络中逻辑依赖性任务的调度卸载方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838627A (zh) * | 2014-03-18 | 2014-06-04 | 北京工业大学 | 一种基于工作流吞吐量最大化的工作流调度方法 |
CN106447173A (zh) * | 2016-09-05 | 2017-02-22 | 北京理工大学 | 一种支持任意流程结构的云工作流调度方法 |
-
2017
- 2017-03-02 CN CN201710120946.5A patent/CN106951313B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838627A (zh) * | 2014-03-18 | 2014-06-04 | 北京工业大学 | 一种基于工作流吞吐量最大化的工作流调度方法 |
CN106447173A (zh) * | 2016-09-05 | 2017-02-22 | 北京理工大学 | 一种支持任意流程结构的云工作流调度方法 |
Non-Patent Citations (1)
Title |
---|
Hybrid Scheduling Deadline-Constrained Multi-DAGs Based on Reverse HEFT;Xiu-jie Xu等;《2016 International Conference on Information System and Artificial Intelligence》;20160626;第196-202页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106951313A (zh) | 2017-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951313B (zh) | 多工作流共享资源协同调度的子期限获取方法 | |
US11275609B2 (en) | Job distribution within a grid environment | |
Rahman et al. | A dynamic critical path algorithm for scheduling scientific workflow applications on global grids | |
Liu et al. | Multi-objective scheduling of scientific workflows in multisite clouds | |
WO2019179250A1 (zh) | 调度方法、调度器、存储介质及系统 | |
WO2016082370A1 (zh) | 一种分布式节点组内任务调度方法及系统 | |
US20130346994A1 (en) | Job distribution within a grid environment | |
Chauhan et al. | QoS guided heuristic algorithms for grid task scheduling | |
Zhu et al. | A cost-effective scheduling algorithm for scientific workflows in clouds | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
CN113495779A (zh) | 一种任务调度方法和装置、任务执行系统 | |
CN106934537A (zh) | 基于反向工作流调度的子期限获取优化方法 | |
Syed | HAMM: A hybrid algorithm of Min-Min and Max-Min task scheduling algorithms in cloud computing | |
Tarek et al. | Pso optimization algorithm for task scheduling on the cloud computing environment | |
Mazrekaj et al. | The Experiential Heterogeneous Earliest Finish Time Algorithm for Task Scheduling in Clouds. | |
Bessai et al. | Bi-criteria strategies for business processes scheduling in cloud environments with fairness metrics | |
CN106802822A (zh) | 一种基于飞蛾算法的云数据中心认知资源调度方法 | |
Kumar et al. | Load balancing algorithm to minimize the makespan time in cloud environment | |
Xu et al. | Expansion slot backfill scheduling for concurrent workflows with deadline on heterogeneous resources | |
Li et al. | On scheduling of high-throughput scientific workflows under budget constraints in multi-cloud environments | |
Zheng et al. | A randomized heuristic for stochastic workflow scheduling on heterogeneous systems | |
Gutierrez-Estevez et al. | Multi-resource schedulable unit for adaptive application-driven unified resource management in data centers | |
Arif | A Hybrid MinMin & Round Robin Approach for task scheduling in cloud computing | |
Wan et al. | Utility-driven share scheduling algorithm in hadoop | |
Toporkov et al. | Budget and Cost-aware Resources Selection Strategy in Cloud Computing Environments |
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 |