CN114385337B - 一种用于分布式工作流系统的任务分组调度方法 - Google Patents
一种用于分布式工作流系统的任务分组调度方法 Download PDFInfo
- Publication number
- CN114385337B CN114385337B CN202210020680.8A CN202210020680A CN114385337B CN 114385337 B CN114385337 B CN 114385337B CN 202210020680 A CN202210020680 A CN 202210020680A CN 114385337 B CN114385337 B CN 114385337B
- Authority
- CN
- China
- Prior art keywords
- task
- workflow
- group
- node
- path
- 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 21
- 238000010586 diagram Methods 0.000 claims abstract description 6
- 230000010076 replication Effects 0.000 claims abstract description 4
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 239000002243 precursor Substances 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- 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/508—Monitor
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种用于分布式工作流系统的任务分组调度方法,以实现复杂工作流地有效预处理以及工作流任务地合理调度。本发明首先对记录工作流信息的工作流图进行分析,计算出每个任务的累计工作量;其次,找出累计工作量最大的关键任务组然后再对剩余任务节点进行分组;随后,根据分组数据对任务组进行分配;最后,对于运行任务产生偏差或是新增的运行资源采用一种基于任务复制的负载均衡策略,进一步加强了调度方法整体稳定性。
Description
技术领域
本发明涉及工作流管理领域,涉及一种用于分布式工作流系统的任务分组调度方法,以实现按时执行工作流任务以及优化资源利用率。
背景技术
在当今网络系统上执行的许多大规模科学应用程序都表示为复杂的电子科学工作流,工作流是由一组依靠数据依赖项链接的有序任务组成。工作流任务调度作为工作流管理领域一项技术,主要是在一个复杂的分布式工作流系统中协调多个运行资源以确保工作流任务正确执行的基础上对系统性能进行优化。调度的目的是将工作流中的任务映射到最合适的运行资源,以便按时执行工作流任务并优化资源利用率。
此外,现代系统要求调度是动态和实时执行的,同时还需要考虑多任务同时执行以及发生大量数据交换的情况,这对工作流任务调度技术提出了挑战。大量研究针对不同的优化目标提出了许多工作流任务调度方法。然而,其中大多数方法是静态的,只在给定运行资源当前状态的情况下生成良好的调度方法,并没有考虑运行资源的可用性变化。同时大多数方法只针对较为简单的工作流和变化较少的运行环境进行分析。因此,针对复杂的工作流以及多变的运行环境进行任务调度方法的研究是重要趋势。
发明内容
本发明的目的是为了克服分布式工作流系统中任务调度方法存在的:对于较为复杂的工作流预处理效果不佳、对于多变的运行环境适应性不足导致调度效果下降等问题,提出一种用于分布式工作流系统的任务分组调度方法
本发明步骤如下:
步骤1:对于表示工作流的有向无环图进行分析,找出图中关键任务节点。
步骤2:确定关键任务组,并从关键任务节点出发,对工作流中的其它任务按照数据依赖进行分组,并计算不同任务组的总工作量。
步骤3:检查运行环境变化状况,对于可用的运行资源,根据任务组总工作量、运行资源运算能力和网络传输速度预估数据传输时间和任务组处理时间,根据计算结果分配任务组。
步骤4:对于运行资源的执行偏差,采用一种负载均衡策略。
本发明具有的有益效果是:
1、本发明在工作流的分析阶段,从定位特殊的关键任务节点出发将任务节点划分为一个个任务组,与常见的分析算法相比,对于任务的划分更加细致,同时在工作流更为复杂、具有更多的分支、聚合结构时仍然可以获得有效的预处理结果。
2、任务按组进行调度有效减少了组内任务之间的数据交换时间,同时保留了任务执行的并行性。对于运行资源当前运行状况以及总体运行环境变化的监控保证了工作流任务调度的动态性和适应性。对于任务组完成时间的预估在尽量不延缓工作流最早完成时间的基础上,确保了并行任务组间完成时间相接近。
3、在运行资源出现高负载或者空闲的状况时采用基于任务复制的负载均衡策略,在对任务组执行时间影响尽可能小的情况下保证了分布式系统整体的运行资源合理分配。
附图说明
图1为表示工作流的有向无环图。
图2为分析后的工作流图。
图3为任务组映射运行资源图。
具体实施方式
下面结合附图,对本发明的具体实施方案作进一步详细描述。
本发明包括以下步骤:
步骤1:对表示工作流的有向无环图进行分析。
如图1所示,工作流是由一组依靠数据依赖项链接的有序任务组成的,常常将其表示为这样的有向无环图。一般工作流图中都会定义一个起点和一个终点,它们不代表具体的工作流任务。工作流任务上通常具有输入、输出、工作任务等一些附着信息。对于工作流的分析从起点出发,首先赋予每个任务节点一个累计工作量属性,将起点的累计工作量赋值为0。对于一个任务节点(累计工作量为T0),将其后继任务节点(任务量为TS1,累计工作量为T1,T1初始为0)的累计工作量属性赋值为T0+TS1和T1中较大的一个。若一个任务节点有多个后继节点或者前驱节点,则将该节点标记为关键任务节点,终点也为关键任务节点。
步骤2:确定关键任务组,并对工作流中的其他任务进行分组。
如图2所示,经过上一步的处理,工作流图中标记出了关键任务节点以及每个任务节点的累计工作量。从终点开始向前遍历,其中存在一条任务节点路径,路径中除起点外每个任务节点的累计工作量都等于其路径前驱任务节点的累计工作量与当前节点任务量之和,则称这条路径为关键路径,关键路径上的任务节点分为一组,称其为关键任务组。其他任务的分组从工作流终点开始,对于每个关键任务节点,它的每个前驱节点都会对应一条它到前面关键任务节点或者起点的路径,将这样的路径中的一部分(不包括当前关键任务节点和前面的关键任务节点)划分为一组,若欲生成的分组为关键任务组的一个子集,则不会生成这个分组。在遍历的过程中,对于每个欲分组节点的任务量进行累加得出每个分组的总工作量,同时记录从关键路径上的关键任务节点到每个任务组第一个任务节点的总工作量,称之为分支总工作量GB。
步骤3:检查运行环境状况,并分配任务组。
如图3所示,每个运行资源都有其运行状态信息,包括运行资源的运算能力、运行资源正在处理的任务进度、运行资源待处理任务列队以及由这些信息可估算出的运行资源完成所有任务时间。对于运行环境的检查包括与运行资源进行通信更新运行资源信息以及检查有无新增的运行资源连接请求,若存在则将其纳入运行资源列表,同时对其进行运行测试,包括运算能力、数据传输速度等估算。
确认运行资源列表之后,首先对关键任务组进行分配。若运行资源运算能力为NC、待处理任务总工作量为NT、任务组总工作量为GT,则该任务组在该运行资源上执行预计的完成时间为(NT+GT)/NC。对于所有运行资源,分别计算关键任务组分配在其上运行的预计完成时间,选择预计完成时间最早的运行资源,以确保工作流整体尽可能早的完成执行。根据运行资源运算能力更新关键路径上关键任务节点的预计完成时间。其余任务组,根据记录的分支总工作量、任务组总工作量可计算出当前任务组所占总分支工作量的比重,并计算出在运行资源上的预计完成时间,可以根据关键任务组的预计完成时间选择耗时相近的运行资源,在不影响工作流整体完成时间的同时合理调节不同运行资源之间的运算能力差距、任务执行状况差距。
步骤4:对于运行资源执行偏差,采用一种负载均衡策略。
虽然对于任务组的分配基于估算的完成时间可以较好的协调各个运行资源之间的运行,合理利用每一个运行资源,但是不能排除运行资源执行时间因特殊状况产生较大偏差或是需要临时加入、减少运行资源的可能性。对于此种状况产生的运行资源高负载或是空闲问题,需要对其检查判定并进行处理。
在检查运行资源的待处理任务以及当前执行任务进度时,基于之前的调度方法,各个运行资源间待处理任务完成时间应当处在同一水平内。若某个运行资源待处理任务完成时间与环境基准待处理任务完成时间的比值为α,若α处在一个预设的范围内,则认为其处在正常水平,若大于范围右边界则认为其负载高,小于范围左边界则认为其空闲。
对于负载高的运行资源,则将其部分预计完成时间靠后的待执行任务移交给α相对较小的运行资源;对于空闲的资源,则检查全局的工作流记录表中预计完成时间较为靠前的工作流,对其任务组完成情况进行检查,选择还未处理的任务组进行任务移交。所述任务移交采用任务复制的方式,原执行资源仍然能够执行该任务(任务的执行状态具有全局记录,不会发生重复任务重复运行),这种方式在确保每个运行资源都能有效利用的前提下保证了任务组最终执行时间不会产生太大偏差。关于任务复制,为了防止任务副本过多影响完成时间的估算,可预设值限定其副本数量,同时某个运行资源若检查到任务组已处在执行状态则将其从待办任务队列移除,然后对运行资源运行状态进行更新。
Claims (3)
1.一种用于分布式工作流系统的任务分组调度方法,其特征在于该方法包括以下步骤:
步骤1:对于表示工作流的有向无环图进行分析,找出图中关键任务节点;
步骤2:确定关键任务组,并从关键任务节点出发,对工作流中的其它任务组,计算不同任务组的总工作量;
步骤3:检查运行环境变化状况,对于可用的运行资源,根据任务组总工作量、运行资源运算能力和网络传输速度预估数据传输时间和任务组处理时间,根据计算结果分配任务组;
步骤4:对于运行资源的执行偏差,采用一种负载均衡策略,即在检查运行资源的待处理任务量时,若某个运行资源待处理任务完成时间与环境基准待处理任务完成时间的比值为α,若α处在一个预设的范围内,则认为其处在正常水平,若大于范围右边界则认为其负载高,小于范围左边界则认为其空闲;
对于负载高的运行资源,则将其部分预计完成时间靠后的待执行任务移交给α小于范围右边界的运行资源;
对于空闲的资源,则检查全局的工作流记录表中预计完成时间较为靠前的工作流,对其任务组完成情况进行检查,选择还未处理的任务组进行任务移交给空闲的运行资源;所述任务移交采用任务复制的方式,原执行资源仍然能够执行该任务,且任务的执行状态具有全局记录,不会发生重复任务重复运行;
所述的步骤1中所述对于表示工作流的有向无环图进行分析,即对工作流图进行遍历,在遍历的过程中为每个任务节点添加累计工作量属性;同时标记出有多个前驱任务结点或者后继任务节点的任务节点,记为关键任务节点;
所述的步骤2中所述的确定关键任务组,即在步骤1处理完的工作流图中找出一条任务节点路径,路径中除起点外每个任务节点的累计工作量都等于其路径前驱任务节点的累计工作量与路径当前节点任务量之和,将路径中所有节点分为一组,称之为关键任务组。
2.根据权利要求1所述的一种用于分布式工作流系统的任务分组调度方法,其特征在于:所述的步骤2中所述的对工作流中的其他任务组,即在得出关键任务组后,在工作流图中对于每个关键任务节点,它的每个前驱节点都会对应一条它到前面关键任务节点或者起点的路径,将路径中的一部分划分为一组,若欲生成的分组为关键任务组的一个子集,则不会生成这个分组,所述路径中的一部分不包括当前关键任务节点和前面的关键任务节点。
3.根据权利要求1所述的一种用于分布式工作流系统的任务分组调度方法,其特征在于:所述的步骤3中所述根据计算结果分配任务组,即对每个任务组在每个运行资源上的预计完成时间进行计算,根据计算结果选择合适的运行资源;
设运行资源运算能力为NC、待处理任务总工作量为NT、任务组总工作量为GT,则该任务组在该运行资源上执行预计的完成时间为(NT+GT)/NC。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210020680.8A CN114385337B (zh) | 2022-01-10 | 2022-01-10 | 一种用于分布式工作流系统的任务分组调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210020680.8A CN114385337B (zh) | 2022-01-10 | 2022-01-10 | 一种用于分布式工作流系统的任务分组调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114385337A CN114385337A (zh) | 2022-04-22 |
CN114385337B true CN114385337B (zh) | 2023-10-20 |
Family
ID=81199049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210020680.8A Active CN114385337B (zh) | 2022-01-10 | 2022-01-10 | 一种用于分布式工作流系统的任务分组调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385337B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034614A (zh) * | 2012-12-19 | 2013-04-10 | 哈尔滨理工大学 | 基于关键路径和任务复制的单任务多核调度方法 |
CN103235742A (zh) * | 2013-04-07 | 2013-08-07 | 山东大学 | 多核集群服务器上基于依赖度的并行任务分组调度方法 |
CN103995735A (zh) * | 2013-02-14 | 2014-08-20 | 韩国电子通信研究院 | 用于调度工作流作业的设备和方法 |
CN107301500A (zh) * | 2017-06-02 | 2017-10-27 | 北京工业大学 | 一种基于关键路径任务前瞻的工作流调度方法 |
CN108920259A (zh) * | 2018-03-30 | 2018-11-30 | 华为技术有限公司 | 深度学习作业调度方法、系统和相关设备 |
CN112306642A (zh) * | 2020-11-24 | 2021-02-02 | 安徽大学 | 一种基于稳定匹配博弈理论的工作流调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180121311A1 (en) * | 2016-10-28 | 2018-05-03 | Linkedin Corporation | Identifying request-level critical paths in multi-phase parallel tasks |
-
2022
- 2022-01-10 CN CN202210020680.8A patent/CN114385337B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034614A (zh) * | 2012-12-19 | 2013-04-10 | 哈尔滨理工大学 | 基于关键路径和任务复制的单任务多核调度方法 |
CN103995735A (zh) * | 2013-02-14 | 2014-08-20 | 韩国电子通信研究院 | 用于调度工作流作业的设备和方法 |
CN103235742A (zh) * | 2013-04-07 | 2013-08-07 | 山东大学 | 多核集群服务器上基于依赖度的并行任务分组调度方法 |
CN107301500A (zh) * | 2017-06-02 | 2017-10-27 | 北京工业大学 | 一种基于关键路径任务前瞻的工作流调度方法 |
CN108920259A (zh) * | 2018-03-30 | 2018-11-30 | 华为技术有限公司 | 深度学习作业调度方法、系统和相关设备 |
CN112306642A (zh) * | 2020-11-24 | 2021-02-02 | 安徽大学 | 一种基于稳定匹配博弈理论的工作流调度方法 |
Non-Patent Citations (2)
Title |
---|
主-微网多目标联合调度研究;李玉;《电工技术》;第10-14页 * |
基于CART与SlopeOne的服务质量预测算法;殷昱煜 等;《计算机集成制造系统》;第23卷(第5期);第1080-1090页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114385337A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10585889B2 (en) | Optimizing skewed joins in big data | |
CN112114960B (zh) | 一种适应互联网场景的遥感影像并行集群处理的调度策略 | |
CN106294757A (zh) | 一种基于超图划分的分布式数据库及其集群分区方法 | |
CN104778077A (zh) | 基于随机和连续磁盘访问的高速核外图处理方法及系统 | |
CN107992358B (zh) | 一种适用于核外图处理系统的异步io执行方法及系统 | |
Convolbo et al. | DRASH: A data replication-aware scheduler in geo-distributed data centers | |
Fang et al. | Integrating workload balancing and fault tolerance in distributed stream processing system | |
Hefny et al. | Comparative study load balance algorithms for map reduce environment | |
CN114385337B (zh) | 一种用于分布式工作流系统的任务分组调度方法 | |
US8650571B2 (en) | Scheduling data analysis operations in a computer system | |
CN104346220A (zh) | 一种任务调度方法与系统 | |
Han et al. | An adaptive scheduling algorithm for heterogeneous Hadoop systems | |
CN112395052A (zh) | 一种面向混合负载基于容器的集群资源管理方法及系统 | |
CN111580950A (zh) | 一种提升云可靠性的自适应反馈资源调度方法 | |
Tang et al. | A network load perception based task scheduler for parallel distributed data processing systems | |
CN114675969A (zh) | 基于自适应负载分区的弹性缩放流处理方法及系统 | |
US20230161620A1 (en) | Pull mode and push mode combined resource management and job scheduling method and system, and medium | |
Mao et al. | A fine-grained and dynamic MapReduce task scheduling scheme for the heterogeneous cloud environment | |
CN110597809B (zh) | 一种支持树状数据结构的一致性算法系统及其实现方法 | |
Cheng et al. | Towards Network-aware Query Execution Systems in Large Datacenters | |
CN111880923A (zh) | 一种云环境下的资源调度策略方法 | |
CN114217733B (zh) | 一种面向io转发系统的io处理框架及io请求处理方法 | |
CN115834669B (zh) | 一种分布式ai服务引擎系统 | |
Baccouche | An overview of MOA, a multi-class overload architecture for real-time database systems: framework and algorithms | |
Li et al. | Improved Load Balancing Algorithm for a Novel Distributed Computing Framework Based on MultiObjective Optimization Algorithm |
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 |