CN113157421B - 一种基于用户作业流程的分布式集群资源调度方法 - Google Patents
一种基于用户作业流程的分布式集群资源调度方法 Download PDFInfo
- Publication number
- CN113157421B CN113157421B CN202110472138.1A CN202110472138A CN113157421B CN 113157421 B CN113157421 B CN 113157421B CN 202110472138 A CN202110472138 A CN 202110472138A CN 113157421 B CN113157421 B CN 113157421B
- Authority
- CN
- China
- Prior art keywords
- sub
- job
- jobs
- execution
- resource allocation
- 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 18
- 238000013468 resource allocation Methods 0.000 claims abstract description 53
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 238000010845 search algorithm Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000003066 decision tree Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000002474 experimental method Methods 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 abstract 1
- 238000011156 evaluation Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 101001095088 Homo sapiens Melanoma antigen preferentially expressed in tumors Proteins 0.000 description 1
- 102100037020 Melanoma antigen preferentially expressed in tumors Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003399 chemotactic effect Effects 0.000 description 1
- 230000007547 defect Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及一种基于用户作业流程的分布式集群资源调度方法。本发明首先分析作业所包含的各个子作业间的执行顺序约束关系,确定子作业的串并行执行顺序。再根据子作业的执行顺序为其进行资源的逻辑分配并预测在此资源配置下各子作业的执行时间,进而通过计算作业流程中的关键路径预测出作业的执行时间。通常用户提交的作业具有完成时间的约束,因此预测的作业完成时间可以作为集群能否及时为用户提供服务的依据。实验证明,相对于Spark默认的资源分配算法,本发明提出的算法能够缩短16.81%的作业执行时间。本发明提出的算法能够提高子作业运行的并行度、缩短作业执行时间,有助于提升云服务平台、超算中心和数据中心等机构的服务质量。
Description
技术领域
本发明涉及分布式计算领域,尤其涉及一种基于用户作业流程的分布式集群资源调度方法。
背景技术
超算中心、云服务提供商等越来越注重提高自身的服务质量(QoS,Quality ofService),按时完成用户提交的作业是高质量服务的基本保证。因此在为用户提供服务前,预测用户作业的执行时间非常有必要。如果预测出的作业完成时间不能满足用户的需求,则超算中心等应该告知用户,方便用户决定是否仍旧提交作业。
为了预测作业的运行时间,常用方法是先运行作业的一部分,再按照作业数量的比例计算得到用户作业执行时间的预测值。由于作业执行时间与作业量之间并非线性关系,这样得到的预测结果准确性偏低。
大规模科学计算等用户作业包含内在的作业流程,即作业可以划分为多个子作业,各子作业间由于存在数据依赖关系而具有执行顺序的约束。如何根据子作业的执行顺序约束和集群的实时资源进行资源调度,从而提高子作业执行并行度、缩短用户作业执行时间是一个值得研究的问题。
常用的对于包含内在流程的用户作业的资源调度算法是静态的,没有充分考虑分布式集群的实时资源状态和子作业之间的执行顺序关系,无法最大限度地发挥集群的性能。
发明内容
本发明为克服上述的不足之处,目的在于提供一种基于用户作业流程的分布式集群资源调度方法。本发明首先根据子作业间的执行顺序约束关系,为子作业进行资源的逻辑分配并预测在此资源配置下各子作业的执行时间,进而通过计算作业流程中的关键路径预测出作业的执行时间。预测的作业完成时间可以作为能否为用户提供服务的依据。
本发明是通过以下技术方案达到上述目的:一种基于用户作业流程的分布式集群资源调度方法,包括如下步骤:
(1)对用户作业进行分析,生成并行应用有向无环图PAD(Parallel ApplicationDirected Acyclic Graph),确定各子作业的执行顺序约束;
(2)通过正向和逆向的广度优先搜索,得到两组子作业的串并行执行关系;
(3)根据正向和逆向的子作业串并行执行关系,分别为子作业进行逻辑资源分配,得到资源分配方案1(对应正向搜索得到的子作业串并行执行关系)和资源分配方案2(对应逆向搜索得到的子作业串并行执行关系);
(4)分别在资源分配方案1和资源分配方案2下预测各子作业的执行时间;
(5)分别计算出资源分配方案1和资源分配方案2下PAD中的关键路径。执行时间较短的关键路径即为完成作业的关键路径,其对应的各子作业完成时间之和为预测的用户作业执行时间;
(6)若作业预测执行时间满足用户要求,按照资源分配方案为作业分配集群资源并运行作业;否则告知用户,请用户选择是否继续提交作业。
作为优选,所述步骤(1)具体如下:
为了处理含有内部数据依赖关系的用户作业,建立了并行应用有向无环图PAD模型。图中的节点ai表示事件子作业i完成,节点a0是定义的一个空作业节点,表示整个用户作业的开始事件,它没有前趋。图中的最后一个节点表示最后一个子作业的完成事件,它没有后继节点。PAD中的有向边<ai,aj>表示子作业i是子作业j的前趋作业,仅当子作业i执行结束,子作业j才可以开始运行。有向边上的权值表示子作业j的执行时间,此时间由作业运行时间预测模型预测得到。
作为优选,所述步骤(2)具体如下:
(2.1)将PAD中节点a0作为起始点,运行广度优先搜索算法,确定每一个子作业i所在的层次,即从a0到节点ai的路径的长度。层次相同的子作业之间没有数据依赖关系,可以并行执行。
(2.2)根据各子作业的层次关系,得到正向的子作业串并行执行关系。
(2.3)将PAD中最后一个节点作为起始点,运行广度优先搜索算法,确定每一个子作业i所在的层次。层次相同的子作业之间没有数据依赖关系,可以并行执行。
(2.4)根据各子作业的层次关系,得到逆向的子作业串并行执行关系。
作为优选,所述步骤(3)具体如下:
(3.1)确定集群中实时的资源量,包括CPU核数、内存容量和磁盘容量等。
(3.2)根据正向搜索得到的子作业串并行执行关系,执行步骤(3.3)到步骤(3.6)。
(3.3)判断是否每一个子作业都已经分配了集群资源,若是,得到资源分配方案1,转至执行步骤(3.7);否则执行(3.4)。
(3.4)处理子作业,计算出与此子作业层次相同的子作业的个数,即层次的宽度W。
(3.5)根据同一层次各子作业的数据量大小和作业类型,将集群资源逻辑分配给这W个处于同一层次的子作业。
(3.6)执行步骤(3.3)。
(3.7)根据逆向搜索得到的子作业串并行执行关系,执行步骤(3.8)至步骤(3.11)。
(3.8)判断是否每一个子作业都已经分配了集群资源,若是,得到资源分配方案2,继续执行步骤(4);否则执行(3.9)。
(3.9)处理子作业,计算出与此子作业层次相同的子作业的个数,即层次的宽度W。
(3.10)根据同一层次各子作业的数据量大小和作业类型,将集群资源逻辑分配给这W个处于同一层次的子作业。
(3.11)执行步骤(3.8)。
作为优选,所述步骤(4)具体为:
(4.1)收集各种用户作业在集群不同的资源配置(包括CPU核数、内存容量、磁盘容量等)和作业参数(如作业的数据量等)下的运行时间数据,并对收集的数据进行预处理。
(4.2)使用预处理后的数据训练梯度提升决策树GBDT(Gradient Boost DecisionTree)以生成作业运行时间预测模型GTPM(GBDT based Time Prediction Model)。
(4.3)将各子作业的资源配置和作业参数作为GTPM的输入,利用模型预测得到子作业执行时间。
作为优选,所述步骤(5)具体如下:
(5.1)使用关键路径计算算法,根据正向子作业串并行执行关系下每个子作业的预测执行时间,寻找出关键路径。关键路径上每个子作业的预测执行时间之和为用户作业在资源分配方案1下的执行时间t1。
(5.2)使用关键路径计算算法,根据逆向子作业串并行执行关系下每个子作业的预测执行时间,寻找出关键路径。关键路径上每个子作业的预测执行时间之和为用户作业在资源分配方案2下的执行时间t2。
(5.3)比较t1和t2,取时间较小值作为用户作业预测执行时间。
本发明的有益效果在于:本发明使用并行应用有向无环图对包含有数据依赖关系子作业的用户作业进行表示,进而使用广度优先搜索算法得到各个子作业间的串并行执行顺序。根据子作业的串并行关系进行集群资源的逻辑分配,预测出每个子作业的执行时间。再进一步计算出子作业执行的关键路径,从而完成用户作业执行时间的预测。提出的算法能够提高子作业执行的并行度,并且提升集群的服务质量。
附图说明
图1是本发明实施例使用场景说明;
图2是本发明的方法流程示意图;
图3是本发明的并行应用有向无环图PAD的示例图;
图4是本发明的正向和逆向搜索得到的子作业层次和串并行执行关系示例;
图5是本发明的作业运行时间预测模型使用流程图;
图6是使用本发明的两种资源分配方案及Spark默认调度算法的作业完成时间对比图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
实施例:本实施例的应用场景如图1所示。用户向云服务提供商提交作业申请,并给出了完成作业的截止时间。为了保证服务质量,云服务提供商需要根据当前集群系统的资源情况预测作业的完成时间。当确认可以在用户规定的时间内完成作业时,云服务提供商使用最优化的资源配置进行用户作业的执行。
本实施例中,用户向云服务提供商提交的作业为学生学业分析评价,要求10小时内完成。这个作业可以分解为6个子作业,它们之间的相互关系如表1所示,各个子作业间有数据依赖关系。只有当前趋作业完成后,后继作业才能开始执行。
表1“学生学业分析评价”作业的内在流程
云服务提供商的集群现有节点信息如表2所示。
表2集群可用资源信息
本实施例完成云服务提供商对于学生学业分析评价这一用户作业的完成时间预测及作业在最优资源配置下的执行。目前的资源调度方法没有充分考虑分布式集群的实时资源状态和用户作业的各个子作业的执行顺序关系,本发明通过构建并行应用有向无环图,确定子作业的串并行执行关系,再根据子作业运行时间预测,预测出用户作业的执行时间。本发明能够提升子作业运行的并行度、缩短用户作业执行时间,同时提高云服务提供商的服务质量。
如图2所示,一种云用户作业执行时间预测方法,包括如下步骤:
(1)根据学生学业分析评价作业的内在子作业流程,生成并行应用有向无环图PAD,确定各子作业的执行顺序约束。
为了处理学生学业分析评价这个用户作业,建立了并行应用有向无环图PAD模型,图3给出了此作业的PAD示意图。图中的节点ai表示事件子作业i完成,如a1表示作业“学生学业数据预处理”执行完成。为了方便后续的处理,定义了节点a0表示一个空作业0的完成事件,它是整个用户作业的开始事件。空作业的执行时间为0,不会影响第一个子作业“学生学业数据预处理”的开始执行时间。图3中的最后一个节点a6表示最后一个子作业的完成事件,它没有后继节点。此例中作业6进行学生学业情况分析,最终给出学生学业等级,完成作业6后,整个学生学业分析评价作业也就完成了。PAD中的有向边<ai,aj>表示子作业i是子作业j的前趋作业,仅当子作业i执行结束,子作业j才可以开始运行。有向边上的权值表示子作业j的执行时间,此时间由作业运行时间预测模型预测得到。如<a1,a3>表示子作业1是子作业3的前趋作业,仅当子作业1执行结束,产生子作业3需要的数据,子作业3才可以开始运行。
(2)通过正向和逆向的广度优先搜索,得到两组子作业的串并行执行关系。图4给出了使用正序和逆序搜索算法,分别对学生学业分析评价作业的PAD进行搜索得到的两组子作业的层次和串并行执行关系。
(2.1)将PAD中节点a0作为起始点,运行广度优先搜索算法,确定每一个子作业i所在的层次,即从a0到节点ai的路径的长度。层次相同的子作业之间没有数据依赖关系,可以并行执行。本实施例中,a0的层次为0,a1是a0的后继,则a1的层次为1。a1有3个直接后继a2,a3和a4,则它们的层次都为2。依次类推就可以得到每个子作业所在的层次。
(2.2)根据各子作业的层次,得到正向的子作业串并行执行关系。只有当一个子作业的前趋作业都运行结束,该子作业才能够开始执行。本实施例中,先执行子作业1进行学生学业数据预处理;在它运行结束后,并行执行子作业a2“根据课程考试成绩计算绩点”,a3“计算学生课外科技竞赛加分”和a4“计算学生参加志愿者等活动加分”;之后执行a5“学生学习成绩汇总”,当它完成后,执行最后一个子作业a6,即根据课程考试成绩计算绩点。
(2.3)将PAD中最后一个节点a6作为起始点,运行广度优先搜索算法,确定每一个子作业i所在的层次。层次相同的子作业之间没有数据依赖关系,可以并行执行。本实施例中,a6的层次为0,a4和a5是a6的直接前趋,它们的层次为1,由于这两个作业没有数据依赖关系,因此它们可以并行执行。a5有两个直接前趋作业a2,a3,则它们的层次都为2,可以并行执行。a1是a2,a3和a4的前趋,所以它的层次为3。
(2.4)根据各子作业的层次关系,得到逆向的子作业串并行执行关系。本实施例中,先执行子作业1,进行学生学业数据预处理;在它运行结束后,并行执行子作业a2和a3,分别计算学生课程绩点和科技竞赛加分;之后并行执行a4和a5,进行志愿者活动的加分计算和学生学习成绩的汇总。当这些子作业都完成后,就可以执行最后一个子作业a6,完成对学生的学业评价。
(3)根据正向和逆向的子作业串并行执行关系,分别为学生学业分析评价作业的各个子作业进行逻辑资源分配,得到资源分配方案1(对应正向的子作业串并行执行关系,如表3所示)和资源分配方案2(对应逆向的子作业串并行执行关系,如表4所示)。
(3.1)确定云服务提供商的集群实时资源量,包括CPU核数、内存容量和磁盘容量等。表2给出了集群当前可用的资源情况。
(3.2)根据正向搜索得到的学生学业分析评价作业中子作业的串并行执行关系,执行步骤(3.3)到步骤(3.6)。
(3.3)判断是否每一个子作业都已经分配了集群资源,若是,得到学生学业分析评价作业的资源分配方案1,转至执行步骤(3.7);否则执行(3.4)。
(3.4)处理子作业,计算出与此子作业层次相同的子作业的个数,即层次的宽度W。
(3.5)根据同一层次各子作业的数据量大小和作业类型,将集群资源逻辑分配给这W个处于同一层次的子作业。
(3.6)执行步骤(3.3)。
表3学生学业分析评价作业的资源分配方案1
(3.7)根据逆向搜索得到的学生学业分析评价作业的各个子作业串并行执行关系,执行步骤(3.8)至步骤(3.11)。
(3.8)判断是否每一个子作业都已经分配了集群资源,若是,得到学生学业分析评价作业的资源分配方案2,继续执行步骤(4);否则执行(3.9)。
(3.9)处理子作业,计算出与此子作业层次相同的子作业的个数,即层次的宽度W。
(3.10)根据同一层次各子作业的数据量大小和作业类型,将集群资源逻辑分配给这W个处于同一层次的子作业。
(3.11)执行步骤(3.8)。
表4学生学业分析评价作业的资源分配方案2
(4)分别在资源分配方案1和资源分配方案2下预测各子作业的执行时间。使用图5所示的流程预测“学生学业分析评价”作业的运行时间。
(4.1)收集不同用户作业在云服务集群的各种资源配置(包括CPU核数、内存容量、硬盘容量等)和作业参数(如作业的数据量等)条件下的运行时间数据,并对收集的数据进行预处理。
(4.2)使用预处理后的数据训练梯度提升决策树GBDT以生成作业运行时间预测模型GTPM。
(4.3)按照表3和表4给出的学生学业分析评价作业的资源分配方案,将各子作业的资源配置和作业参数输入到作业时间预测模型GTPM,得到各子作业的预测执行时间。本实施例中,在资源分配方案1下,各子作业的预测运行时间见表3;在资源分配方案2下,各子作业的预测运行时间见表4。
(5)在资源分配方案1和资源分配方案2下,分别计算出学生学业分析评价作业对应的PAD中的关键路径。执行时间较短的关键路径即为完成作业的关键路径,其对应的各子作业完成时间之和为预测的用户作业执行时间。
(5.1)获取学生学业分析评价作业在资源分配方案1下每个子作业的预测运行时间,使用关键路径计算算法,寻找出PAD的关键路径。本例中,关键路径有两条,分别为a0→a1→a2→a5→a6和a0→a1→a3→a5→a6,它们的长度一样,都为524分钟。则在资源分配方案1下,完成学生学业分析评价作业的时间t1为524分钟。
(5.2)获取学生学业分析评价作业在资源分配方案2下每个子作业的预测运行时间,使用关键路径计算算法,寻找出PAD的关键路径。本例中,关键路径有两条,分别为a0→a1→a2→a5→a6和a0→a1→a3→a5→a6,它们的长度一样,都为503分钟。则在资源分配方案2下,完成学生学业分析评价作业的时间t2为503分钟。
(5.3)比较t1和t2,可得到在云服务提供商当前的集群状态下,学生学业分析评价作业预测的执行时间为503分钟。
(6)用户要求学生学业分析评价作业在10小时内完成。根据预测,云服务集群能够用503分钟(8.38小时)完成作业的执行,因此可以接受用户的作业申请。集群按资源分配方案2的配置,为学生学业分析评价作业的各个子作业分配资源,开始作业执行。
其中上述方法是基于图2的流程实施的,本发明方法与Spark集群默认调度算法的实验结果对比如图6所示。
综上所述,本发明在建立并行应用有向无环图的基础上,使用广度优先搜索算法从正向和逆向分别搜索出学生学业分析评价作业中各个子作业的串并行执行顺序。进一步使用GBDT算法对子作业的执行时间进行了预测,在此基础上通过计算关键路径得到学生学业分析评价作业的执行时间。实验表明,本发明提出的算法对于作业运行时间预测准确度高。在资源分配方案1下,算法预测学生学业分析评价作业的执行时间为524分钟,作业实际完成时间为543.74分钟,平均绝对值百分比误差(MAPE,Mean Absolute PercentageError)为3.63%。在资源分配方案2下,算法预测学生学业分析评价作业的执行时间为503分钟,作业实际完成时间为518.82分钟,平均绝对值百分比误差仅为3.05%。与Spark默认的资源分配算法相比,使用Spark默认算法执行学生学业分析评价作业的时间为623.63分钟,本发明算法运行此作业的时间为518.82分钟,缩短了16.81%。因此本发明提出的算法能够有效提高子作业执行的并行度、缩短用户作业的执行时间,提高云服务提供商的服务质量。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
Claims (1)
1.一种基于用户作业流程的分布式集群资源调度方法,其特征在于,包括如下步骤:
(1)对用户作业进行分析,生成并行应用有向无环图PAD(Parallel ApplicationDirected Acyclic Graph),确定各子作业的执行顺序约束;
(2)通过正向和逆向的广度优先搜索,得到两组子作业的串并行执行关系;
(3)根据正向和逆向的子作业串并行执行关系,分别为子作业进行逻辑资源分配,得到资源分配方案1和资源分配方案2,其中资源分配方案1与正向搜索得到的子作业串并行执行关系对应,资源分配方案2与逆向搜索得到的子作业串并行执行关系对应;
(4)分别在资源分配方案1和资源分配方案2下预测各子作业的执行时间;
(5)分别计算出资源分配方案1和资源分配方案2下PAD中的关键路径;执行时间较短的关键路径即为完成作业的关键路径,其对应的各子作业完成时间之和为预测的用户作业执行时间;
(6)若作业预测执行时间满足用户要求,按照资源分配方案为作业分配集群资源并运行作业;否则告知用户,请用户选择是否继续提交作业;
所述步骤(1)具体如下:
为了处理含有内部数据依赖关系的用户作业,建立了并行应用有向无环图PAD模型;图中的节点ai表示事件子作业i完成,节点a0是定义的一个空作业节点,表示整个用户作业的开始事件,它没有前趋;图中的最后一个节点表示最后一个子作业的完成事件,它没有后继节点;PAD中的有向边<ai,aj>表示子作业i是子作业j的前趋作业,仅当子作业i执行结束,子作业j才可以开始运行;有向边上的权值表示子作业j的执行时间,此执行时间由作业运行时间预测模型预测得到;
所述步骤(2)具体如下:
(2.1)将PAD中节点a0作为起始点,运行广度优先搜索算法,确定每一个子作业i所在的层次,即从a0到节点ai的路径的长度;层次相同的子作业之间没有数据依赖关系,可以并行执行;
(2.2)根据各子作业的层次关系,得到正向的子作业串并行执行关系;
(2.3)将PAD中最后一个节点作为起始点,运行广度优先搜索算法,确定每一个子作业i所在的层次;层次相同的子作业之间没有数据依赖关系,可以并行执行;
(2.4)根据各子作业的层次关系,得到逆向的子作业串并行执行关系;
所述步骤(3)具体如下:
(3.1)确定集群中实时的资源量,包括CPU核数、内存容量和磁盘容量等;
(3.2)根据正向搜索得到的子作业串并行执行关系,执行步骤(3.3)到步骤(3.6);
(3.3)判断是否每一个子作业都已经分配了集群资源,若是,得到资源分配方案1,转至执行步骤(3.7);否则执行(3.4);
(3.4)处理子作业,计算出与此子作业层次相同的子作业的个数,即层次的宽度W;
(3.5)根据同一层次各子作业的数据量大小和作业类型,将集群资源逻辑分配给这W个处于同一层次的子作业;
(3.6)执行步骤(3.3);
(3.7)根据逆向搜索得到的子作业串并行执行关系,执行步骤(3.8)至步骤(3.11);
(3.8)判断是否每一个子作业都已经分配了集群资源,若是,得到资源分配方案2,继续执行步骤(4);否则执行(3.9);
(3.9)处理子作业,计算出与此子作业层次相同的子作业的个数,即层次的宽度W;
(3.10)根据同一层次各子作业的数据量大小和作业类型,将集群资源逻辑分配给这W个处于同一层次的子作业;
(3.11)执行步骤(3.8);
所述步骤(4)具体为:
(4.1)收集各种用户作业在集群不同的资源配置和作业参数下的运行时间数据,并对收集的数据进行预处理;
(4.2)使用预处理后的数据训练梯度提升决策树GBDT(Gradient Boost DecisionTree)以生成作业运行时间预测模型GTPM(GBDT based Time Prediction Model);
(4.3)将各子作业的资源配置和作业参数作为GTPM的输入,利用模型预测得到子作业执行时间;
所述步骤(5)具体如下:
(5.1)使用关键路径计算算法,根据正向子作业串并行执行关系下每个子作业的预测执行时间,寻找出关键路径;关键路径上每个子作业的预测执行时间之和为用户作业在资源分配方案1下的执行时间t1;
(5.2)使用关键路径计算算法,根据逆向子作业串并行执行关系下每个子作业的预测执行时间,寻找出关键路径;关键路径上每个子作业的预测执行时间之和为用户作业在资源分配方案2下的执行时间t2;
(5.3)比较t1和t2,取时间较小值作为用户作业预测执行时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110472138.1A CN113157421B (zh) | 2021-04-29 | 2021-04-29 | 一种基于用户作业流程的分布式集群资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110472138.1A CN113157421B (zh) | 2021-04-29 | 2021-04-29 | 一种基于用户作业流程的分布式集群资源调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157421A CN113157421A (zh) | 2021-07-23 |
CN113157421B true CN113157421B (zh) | 2024-04-09 |
Family
ID=76872185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110472138.1A Active CN113157421B (zh) | 2021-04-29 | 2021-04-29 | 一种基于用户作业流程的分布式集群资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157421B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220050728A1 (en) * | 2020-08-11 | 2022-02-17 | International Business Machines Corporation | Dynamic data driven orchestration of workloads |
WO2023030230A1 (en) * | 2021-09-03 | 2023-03-09 | International Business Machines Corporation | Using a machine learning module to determine a group of execution paths of program code and a computational resource allocation to use to execute the group of execution paths |
CN114153482B (zh) * | 2022-02-09 | 2022-05-17 | 深圳市爱云信息科技有限公司 | 基于数字孪生DaaS平台的深度学习编程方法及系统 |
CN114510333A (zh) * | 2022-02-16 | 2022-05-17 | 中银金融科技有限公司 | 一种系统作业处理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096349A (zh) * | 2019-04-10 | 2019-08-06 | 山东科技大学 | 一种基于集群节点负载状态预测的作业调度方法 |
CN112596886A (zh) * | 2020-12-29 | 2021-04-02 | 中国建设银行股份有限公司 | 一种批处理调度资源调节方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183038B2 (en) * | 2010-11-10 | 2015-11-10 | Hitachi, Ltd. | Job management system that determines if master data has been updated, then re-executes a sub-job based on available executing computers and data sharing status |
-
2021
- 2021-04-29 CN CN202110472138.1A patent/CN113157421B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096349A (zh) * | 2019-04-10 | 2019-08-06 | 山东科技大学 | 一种基于集群节点负载状态预测的作业调度方法 |
CN112596886A (zh) * | 2020-12-29 | 2021-04-02 | 中国建设银行股份有限公司 | 一种批处理调度资源调节方法及装置 |
Non-Patent Citations (1)
Title |
---|
面向多用户环境的MapReduce集群调度算法研究;陈重韬;;高技术通讯;20170415(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113157421A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113157421B (zh) | 一种基于用户作业流程的分布式集群资源调度方法 | |
US10402225B2 (en) | Tuning resources based on queuing network model | |
Auer et al. | Optimal project feature weights in analogy-based cost estimation: Improvement and limitations | |
Mahmoud et al. | Multiobjective task scheduling in cloud environment using decision tree algorithm | |
Kim et al. | Delayed-Dynamic-Selective (DDS) prediction for reducing extreme tail latency in web search | |
CN103701886A (zh) | 一种云计算环境下的服务及资源分层调度方法 | |
CN113391913A (zh) | 一种基于预测的分布式调度方法和装置 | |
Chakravarthi et al. | TOPSIS inspired cost-efficient concurrent workflow scheduling algorithm in cloud | |
Mansouri et al. | Hierarchical data replication strategy to improve performance in cloud computing | |
Hua et al. | Hadoop configuration tuning with ensemble modeling and metaheuristic optimization | |
Nadeem et al. | Optimizing execution time predictions of scientific workflow applications in the grid through evolutionary programming | |
Li et al. | Trust-based and qos demand clustering analysis customizable cloud workflow scheduling strategies | |
CN110084507A (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
Wang et al. | A study on heuristic task scheduling optimizing task deadline violations in heterogeneous computational environments | |
CN110119268B (zh) | 基于人工智能的工作流优化方法 | |
Shang et al. | TM-DG: a trust model based on computer users' daily behavior for desktop grid platform | |
Banicescu et al. | Towards the robustness of dynamic loop scheduling on large-scale heterogeneous distributed systems | |
CN113504966B (zh) | Gpu集群调度策略模拟方法及gpu集群模拟器 | |
Zhiyong et al. | An improved container cloud resource scheduling strategy | |
Liu et al. | Multivariate modeling and two-level scheduling of analytic queries | |
CN115033389A (zh) | 一种电网信息系统节能型任务资源调度方法和装置 | |
CN116800610A (zh) | 一种分布式的数据平面资源优化方法与系统 | |
CN111309821B (zh) | 基于图数据库的任务调度方法、装置及电子设备 | |
Stamatakis et al. | SheerMP: Optimized Streaming Analytics-as-a-Service over Multi-site and Multi-platform Settings. | |
Capannini et al. | A job scheduling framework for large computing farms |
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 |