CN112764906A - 一种基于用户作业类型及节点性能偏向性的集群资源调度方法 - Google Patents
一种基于用户作业类型及节点性能偏向性的集群资源调度方法 Download PDFInfo
- Publication number
- CN112764906A CN112764906A CN202110100907.5A CN202110100907A CN112764906A CN 112764906 A CN112764906 A CN 112764906A CN 202110100907 A CN202110100907 A CN 202110100907A CN 112764906 A CN112764906 A CN 112764906A
- Authority
- CN
- China
- Prior art keywords
- node
- performance
- cluster
- master node
- user
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000003068 static effect Effects 0.000 claims abstract description 30
- 230000015654 memory Effects 0.000 claims description 23
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005094 computer simulation Methods 0.000 description 1
- 238000000586 desensitisation 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/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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/5055—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 software capabilities, i.e. software resources associated or available to the machine
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及集群调度技术领域,尤其涉及一种基于用户作业类型及节点性能偏向性的集群资源调度方法,包括以下步骤:1)Master节点收集集群中各节点的静态指标值,计算各节点静态性能;2)Master节点计算作业队列中当前将运行的用户作业类型;3)Master节点采集集群中各节点的动态状态数据,计算各节点的动态性能;4)根据各节点的动态与静态性能,Master节点计算各节点的性能偏向性;5)Master节点根据用户作业类型和节点的性能偏向性,将合适的节点资源分配给用户作业,作业完成,Master节点返回作业的执行结果;6)若所有用户作业执行完成,***运行结束;否则返回步骤2)。本发明的有益效果在于:有效提高集群的性能、缩短用户作业的执行时间。
Description
技术领域
本发明涉及集群调度技术领域,尤其涉及一种基于用户作业类型及节点性能偏向性的集群资源调度方法。
背景技术
随着大数据时代的到来,用户产生的数据呈指数级增长。单一节点和传统的计算模型已经无法满足大数据处理的性能和效率要求。Apache Spark由于其出色的性能和丰富的应用程序支持而成为最受欢迎的大数据处理平台。在Spark的Standalone模式中,默认对于多作业的资源调度方式采用spreadOut和非spreadOut两种调度算法。这两种资源调度算法采用了非常简单的逻辑,即通过对比作业的资源需求以及节点的可用资源来进行调度。这样的资源调度算法在为用户作业分配集群资源的时候未考虑作业的类型以及节点的处理能力特点(节点性能偏向性)。用户作业类型UAT根据运行作业所需的内存资源和CPU核数决定,这两个参数由用户在提交作业的时候给出。UAT≤1.1的时候,该作业为计算密集型,反之为内存密集型。节点性能偏向性NPT由节点的静态因素和动态因素决定。在多作业运行的时候,会造成一些节点在运行其不擅长类型的作业,导致集群较低的执行效率和较长的作业执行时间。
针对节点性能偏向性和用户作业类型之间的关系,展开了一系列的研究,如公开号为107038069的专利文献提供了一种将节点性能标签和作业类别标签进行动态匹配的调度方法。该方法中节点性能标签的获取是集群中每个节点都运行一定的任务,根据节点运行单个任务的时间与集群中所有节点运行时间平均值的大小关系将节点分成CPU型节点、磁盘IO型节点和普通型节点。进行节点标签的更新时仅考虑了其CPU和IO使用率,未考虑节点CPU核数、内存大小、磁盘容量和磁盘实时的读写速度等因素。由于确定作业类型标签需要预运行部分作业并使用朴素贝叶斯算法进行计算,该方法适合于数据文件大或者需要经常运行的重复作业。因此如何快速、准确地确定集群中节点和用户作业的类型,从而将作业分配到最适合的节点仍是一个亟待解决的问题。
发明内容
本发明为克服上述的不足之处,目的在于提供一种基于用户作业类型及节点性能偏向性的集群资源调度方法(ATNPA),能够快速准确地将最适合的节点分配给用户作业。
本发明是通过以下脱敏方案达到上述目的:一种基于用户作业类型及节点性能偏向性的集群资源调度方法,包括以下步骤:
1)Master节点收集集群中各节点的静态指标值,计算各节点静态性能;
2)Master节点计算作业队列中当前将运行的用户作业类型;
3)Master节点采集集群中各节点的动态状态数据,计算各节点的动态性能;
4)根据各节点的动态与静态性能,Master节点计算各节点的性能偏向性;
5)Master节点根据用户作业类型和节点的性能偏向性,将合适的节点资源分配给用户作业,作业完成,Master节点返回作业的执行结果;
6)若所有用户作业执行完成,***运行结束;否则返回步骤2)。
作为优选,当有新节点加入到集群,Master节点计算新节点的性能偏向性,执行步骤5)。
作为优选,所述步骤1)具体包括以下步骤:
1.1)Master节点收集集群中各节点静态性能指标,静态性能指标包括CPU核数、CPU速度、磁盘容量和内存大小;
1.2)Master节点计算集群中各节点的静态性能StaticResource:
StaticResource=α1Cores+α2Memory+α3Store+α4CpuSpeed (1)
其中α1,α2,α3,α4分别为CPU核数、内存容量、磁盘容量和CPU速度静态指标的权值,并且α1+α2+α3+α4=1。α1,α2,α3和α4的值使用层次分析法计算得到。
作为优选,所述步骤2)具体包括以下步骤:
2.1)Master节点获取完成当前即将运行的用户作业所需的CPU核数requiredCores和内存数量requiredMemory;
2.2)Master节点确定用户作业类型UAT:
作为优选,所述步骤3)具体包括以下步骤:
3.1)集群各节点采集自己的动态性能指标,包括CPU剩余率、内存剩余率、磁盘容量剩余率和当前磁盘读写速度;
3.2)Master节点通过心跳信息收集各节点的动态性能指标;
3.3)Master节点计算集群中各节点的动态性能DynamicResource:
DynamicResource=β1AvaiCores+β2AvaiMemory+β3AvaiSSdSpd+β4AvaiSSd (3)
其中β1,β2,β3,β4分别为CPU剩余率、内存剩余率、磁盘当前的读写速度和磁盘剩余率的权值,并且β1+β2+β3+β4=1,β1,β2,β3和β4的初值使用层次分析法计算得到,同时β1和β2的数值根据用户作业类型进行调整。
作为优选,所述步骤4)中节点的性能偏向NPT的计算公式如下:
NPT=αStaticResource+βDynamicResource (4)
其中α和β分别是StaticResource和DynamicResource的权值,使用层次分析法计算得到。
作为优选,所述步骤5)具体包括以下步骤:对各节点的性能偏向值进行排序,从优先级高的节点开始为用户作业分配适合的节点以满足作业需要的内存和CPU核数要求。
本发明的有益效果在于:本发明通过对用户作业类型的分析和对集群节点性能偏向性的实时计算,为用户作业找到最适合其特点的节点。提出的算法能够根据用户作业的特点和节点实时性能偏向性完成资源调度,通过充分发挥节点的性能优势,有效提高集群的性能、缩短用户作业的执行时间。
附图说明
图1是本发明方法的流程示意图;
图2是本发明的ATNPA算法实施架构图;
图3是本发明的ATNPA算法和Spark默认算法在Wordcount负载执行不同数据量用户作业完成时间比较示意图;
图4是本发明的ATNPA算法和Spark默认算法在Sort负载执行不同数据量用户作业完成时间比较示意图;
图5是本发明的ATNPA算法和Spark默认算法并行执行相同数据量不同种用户作业完成时间比较示意图。
具体实施方式
下面结合具体实施实例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
实施例:如图1、图2所示,一种基于用户作业类型及节点性能偏向性的集群资源调度方法,包括如下步骤:
(1)当集群处于空闲状态时,Master节点收集集群中各节点的静态指标值,计算节点静态性能:
(1.1)Master节点进行集群中各节点静态性能指标的采集,包括CPU核数、CPU速度、磁盘容量和内存大小;
(1.2)Master节点计算集群中各节点的静态性能
StaticResource=α1Cores+α2Memory+α3Store+α4CpuSpeed
其中α1,α2,α3,α4分别为CPU核数、内存容量、磁盘容量和CPU速度等静态因素的权值,并且α1+α2+α3+α4=1。α1,α2,α3和α4的值使用层次分析法计算得到,取值分别为0.113,0.641,0.073和0.173;
(2)Master节点计算作业队列中当前将运行的用户作业的类型:
(2.1)Master节点获取完成用户作业所需的CPU核数requiredCores和内存数量requiredMemory;
(2.2)Master节点确定用户作业类型UAT(User Application Type):
当UAT≤1.1的时候,该作业为计算密集型,反之为内存密集型;
(3)Master节点采集集群中各节点动态状态数据,计算节点的动态性能:
(3.1)集群各节点采集自己的动态性能指标,包括CPU剩余率、内存剩余率、磁盘容量剩余率和当前磁盘读写速度;
(3.2)Master节点通过心跳信息收集各节点的动态性能指标;
(3.3)Master节点计算集群中各节点的动态性能
DynamicResource=β1AvaiCores+β2AvaiMemory+β3AvaiSSdSpd+β4AvaiSSd
其中β1,β2,β3,β4分别为CPU剩余率、内存剩余率、磁盘当前的读写速度和磁盘剩余率的权值,并且β1+β2+β3+β4=1,β1,β2,β3和β4的初值使用层次分析法计算得到,同时β1和β2的数值根据用户作业类型进行调整。针对于CPU密集型,β1,β2,β3,β4对应的值分别为0.442,0.344,0.156和0.078;针对于内存密集型,β1,β2,β3,β4则分别取值为0.344,0.442,0.156和0.078;
(4)根据各节点的动态与静态性能,Master节点计算节点的性能偏向性:Master节点使用步骤(1)和(3)得到的集群中各节点的静态性能StaticResource和动态性能DynamicResource,计算各个节点的性能偏向NPT=αStaticResource+βDynamicResource,其中α和β分别是静态性能StaticResource和动态性能DynamicResource的权值,使用层次分析法计算得到,取值分别为0.5和0.5。
(5)Master节点根据用户作业类型和节点的性能偏向性,将合适的节点资源分配给用户作业:根据节点的性能偏向值排序,从优先级高的节点开始为用户作业分配适合的节点以满足作业需要的内存和CPU核数要求。
(6)当有作业完成,Master节点返回作业的执行结果;
(7)当有新的节点加入到集群,Master节点计算此节点的性能偏向性;
(8)若所有用户作业执行完成,***运行结束;否则返回步骤(2)。
综上所述,本发明分析每一个用户作业的类型,并根据集群中节点的运行状态,实时进行节点性能偏向性的计算,为用户作业分配最适合它的节点。如图3至图5所示,实验表明,相比Spark的默认调度算法,本发明提出的算法能够有效提高集群***的性能。当执行不同数据量的同种任务时,使用ATNPA算法集群性能平均提升8.56%;当并行执行不同种任务时,使用ATNPA算法集群性能平均提升8.33%。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
Claims (7)
1.一种基于用户作业类型及节点性能偏向性的集群资源调度方法,其特征在于,包括以下步骤:
1)Master节点收集集群中各节点的静态指标值,计算各节点静态性能;
2)Master节点计算作业队列中当前将运行的用户作业类型;
3)Master节点采集集群中各节点的动态状态数据,计算各节点的动态性能;
4)根据各节点的动态与静态性能,Master节点计算各节点的性能偏向性;
5)Master节点根据用户作业类型和节点的性能偏向性,将合适的节点资源分配给用户作业,作业完成,Master节点返回作业的执行结果;
6)若所有用户作业执行完成,***运行结束;否则返回步骤2)。
2.根据权利要求1所述的一种基于用户作业类型及节点性能偏向性的集群资源调度方法,其特征在于,当有新节点加入到集群,Master节点计算新节点的性能偏向性,执行步骤5)。
3.根据权利要求2所述的一种基于用户作业类型及节点性能偏向性的集群资源调度方法,其特征在于,所述步骤1)具体包括以下步骤:
1.1)Master节点收集集群中各节点静态性能指标,静态性能指标包括CPU核数、CPU速度、磁盘容量和内存大小;
1.2)Master节点计算集群中各节点的静态性能StaticResource:
StaticResource=α1Cores+α2Memory+α3Store+α4CpuSpeed (1)
其中α1,α2,α3,α4分别为CPU核数、内存容量、磁盘容量和CPU速度静态指标的权值,并且α1+α2+α3+α4=1。α1,α2,α3和α4的值使用层次分析法计算得到。
5.根据权利要求4所述的一种基于用户作业类型及节点性能偏向性的集群资源调度方法,其特征在于,所述步骤3)具体包括以下步骤:
3.1)集群各节点采集自己的动态性能指标,包括CPU剩余率、内存剩余率、磁盘容量剩余率和当前磁盘读写速度;
3.2)Master节点通过心跳信息收集各节点的动态性能指标;
3.3)Master节点计算集群中各节点的动态性能DynamicResource:
DynamicResource=β1AvaiCores+β2AvaiMemory+β3AvaiSSdSpd+β4AvaiSSd (3)
其中β1,β2,β3,β4分别为CPU剩余率、内存剩余率、磁盘当前的读写速度和磁盘剩余率的权值,并且β1+β2+β3+β4=1。β1,β2,β3和β4的初值使用层次分析法计算得到,同时β1和β2的数值根据用户作业类型进行调整。
6.根据权利要求5所述的一种基于用户作业类型及节点性能偏向性的集群资源调度方法,其特征在于,所述步骤4)中节点的性能偏向NPT的计算公式如下:
NPT=αStaticResource+βDynamicResource (4)
其中α和β分别是StaticResource和DynamicResource的权值,使用层次分析法计算得到。
7.根据权利要求6所述的一种基于用户作业类型及节点性能偏向性的集群资源调度方法,其特征在于,所述步骤5)具体包括以下步骤:对各节点的性能偏向值进行排序,从优先级高的节点开始为用户作业分配适合的节点以满足作业需要的内存和CPU核数要求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110100907.5A CN112764906B (zh) | 2021-01-26 | 2021-01-26 | 一种基于用户作业类型及节点性能偏向性的集群资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110100907.5A CN112764906B (zh) | 2021-01-26 | 2021-01-26 | 一种基于用户作业类型及节点性能偏向性的集群资源调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112764906A true CN112764906A (zh) | 2021-05-07 |
CN112764906B CN112764906B (zh) | 2024-03-15 |
Family
ID=75707360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110100907.5A Active CN112764906B (zh) | 2021-01-26 | 2021-01-26 | 一种基于用户作业类型及节点性能偏向性的集群资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764906B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170017521A1 (en) * | 2015-07-13 | 2017-01-19 | Palo Alto Research Center Incorporated | Dynamically adaptive, resource aware system and method for scheduling |
CN107832153A (zh) * | 2017-11-14 | 2018-03-23 | 北京科技大学 | 一种Hadoop集群资源自适应分配方法 |
CN108563497A (zh) * | 2018-04-11 | 2018-09-21 | 中译语通科技股份有限公司 | 一种高效的多维度算法调度方法、任务服务器 |
CN109960585A (zh) * | 2019-02-02 | 2019-07-02 | 浙江工业大学 | 一种基于kubernetes的资源调度方法 |
CN110413389A (zh) * | 2019-07-24 | 2019-11-05 | 浙江工业大学 | 一种资源不均衡Spark环境下的任务调度优化方法 |
-
2021
- 2021-01-26 CN CN202110100907.5A patent/CN112764906B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170017521A1 (en) * | 2015-07-13 | 2017-01-19 | Palo Alto Research Center Incorporated | Dynamically adaptive, resource aware system and method for scheduling |
CN107832153A (zh) * | 2017-11-14 | 2018-03-23 | 北京科技大学 | 一种Hadoop集群资源自适应分配方法 |
CN108563497A (zh) * | 2018-04-11 | 2018-09-21 | 中译语通科技股份有限公司 | 一种高效的多维度算法调度方法、任务服务器 |
CN109960585A (zh) * | 2019-02-02 | 2019-07-02 | 浙江工业大学 | 一种基于kubernetes的资源调度方法 |
CN110413389A (zh) * | 2019-07-24 | 2019-11-05 | 浙江工业大学 | 一种资源不均衡Spark环境下的任务调度优化方法 |
Non-Patent Citations (1)
Title |
---|
胡亚红;盛夏;毛家发;: "资源不均衡Spark环境任务调度优化算法研究", 计算机工程与科学, no. 02, 15 February 2020 (2020-02-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN112764906B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096349B (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
US8386463B2 (en) | Method and apparatus for dynamically associating different query execution strategies with selective portions of a database table | |
Khorasani et al. | Scalable simd-efficient graph processing on gpus | |
CN110321222B (zh) | 基于决策树预测的数据并行作业资源分配方法 | |
US11893014B2 (en) | Method and database system for initiating execution of a query and methods for use therein | |
US20070250517A1 (en) | Method and Apparatus for Autonomically Maintaining Latent Auxiliary Database Structures for Use in Executing Database Queries | |
CN113157421B (zh) | 一种基于用户作业流程的分布式集群资源调度方法 | |
CN113821311A (zh) | 任务执行方法及存储设备 | |
US20060074875A1 (en) | Method and apparatus for predicting relative selectivity of database query conditions using respective cardinalities associated with different subsets of database records | |
CN116302574B (zh) | 一种基于MapReduce的并发处理方法 | |
CN111414961A (zh) | 一种基于任务并行的细粒度分布式深度森林训练方法 | |
CN114217930A (zh) | 一种基于混合任务调度的加速器***资源优化管理方法 | |
CN112764906B (zh) | 一种基于用户作业类型及节点性能偏向性的集群资源调度方法 | |
CN115391047A (zh) | 资源调度方法及装置 | |
Ismaeel et al. | A systematic cloud workload clustering technique in large scale data centers | |
CN115033389A (zh) | 一种电网信息***节能型任务资源调度方法和装置 | |
CN115576924A (zh) | 一种数据迁移的方法 | |
CN111813512B (zh) | 一种基于动态分区的高能效Spark任务调度方法 | |
CN116932156A (zh) | 一种任务处理方法、装置及*** | |
CN110415162B (zh) | 大数据中面向异构融合处理器的自适应图划分方法 | |
JP2716019B2 (ja) | ジョブクラス判定方式 | |
CN109947530B (zh) | 一种针对云平台的多维度虚拟机映射方法 | |
CN110058812B (zh) | 一种云环境下科学工作流数据放置方法 | |
CN111694668B (zh) | 查询任务路由方法、装置、设备及存储介质 | |
CN112363808A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |