CN116467076A - 一种基于集群可用资源的多集群调度方法及系统 - Google Patents
一种基于集群可用资源的多集群调度方法及系统 Download PDFInfo
- Publication number
- CN116467076A CN116467076A CN202310361691.7A CN202310361691A CN116467076A CN 116467076 A CN116467076 A CN 116467076A CN 202310361691 A CN202310361691 A CN 202310361691A CN 116467076 A CN116467076 A CN 116467076A
- Authority
- CN
- China
- Prior art keywords
- cluster
- task
- scheduling
- tasks
- scheduling decision
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004364 calculation method Methods 0.000 claims description 29
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001550 time effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/5044—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 hardware capabilities
-
- 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
-
- 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/5021—Priority
-
- 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)
- Multi Processors (AREA)
Abstract
本发明公开了一种基于集群可用资源的多集群调度方法及系统,属于大数据集群技术领域,收集各个集群的资源使用情况,通过协方差、相关性系数计算出任务所需资源值和集群可用资源值的相关性系数大小,并对该系数进行加权得出调度决策评分,根据调度决策评分为任务调度选择一个最优的子集群,依据节点的负载情况,协同调度任务;该方法的实现包括:通过调度器计算调度决策评分,根据调度决策评分调度任务,调度器将调度决策评分下发给执行器,执行器根据调度决策评分将任务调度到最优子集群。本发明通过一种计算任务所需资源大小和集群的可用剩余资源大小来将任务合理均衡的分配到各个集群上,任务调度分配更合理,资源利用率更高。
Description
技术领域
本发明涉及通信网络光纤管理技术领域,具体地说是一种基于集群可用资源的多集群调度方法及系统。
背景技术
随着通信技术和互联网技术的不断融合、发展,上网用户规模不断扩大,随之产生的上网数据呈现爆发式增长,电信运营商为分析优化网络质量,开始搭建Hadoop集群对这些数据进行存储、处理分析,不同部门不同业务拥有自己的集群,不同集群的资源利用率参差不齐,造成资源浪费,且任务执行效率低下,因此对多个集群进行资源的合理调度任务十分重要,任务调度是否合理直接影响各个集群的利用率和任务执行效率。
提升各个集群的资源利用率,加速计算任务的执行效率,降低集群的硬件成本,是目前各电信运营商非常关注的一块内容。现有的技术方案在进行任务调度的时候是根据任务的使用场景进行调度,对于高并发及低延时的联机数据访问的数据使用场景,利用Hadoop联机处理集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;对于面向多张大表进行表关联或交互式查询的数据访问的数据使用场景,利用分布式数据库集群获取并处理基础数据共享区的数据,以提供相应的数据访问服务,并完成数据处理流程;对于无访问时效要求的数据服务需求的数据使用场景,利用Hadoop集群获取并处理基础共享区的数据,以提供相应的数据访问服务,并完成数据处理流程。该方案优点是考虑到了不同任务的使用场景,为不同场景的任务选择了合理的计算引擎,但缺点在于调度任务的时候只是简单地根据任务的使用场景进行调度,没有考虑到各个集群当前的资源利用率,任务无法得到合理的分配,某些集群被分配的任务过多或者过少,进而导致多集群整体的计算资源无法得到充分利用,造成资源的极大浪费,整体的任务执行效率降低。
发明内容
本发明的技术任务是针对以上不足之处,提供一种基于集群可用资源的多集群调度方法及系统,通过一种计算任务所需资源大小和集群的可用剩余资源大小来将任务合理均衡的分配到各个集群上,任务调度分配更合理,资源利用率更高。
本发明解决其技术问题所采用的技术方案是:
一种基于集群可用资源的多集群调度方法,收集各个集群的资源使用情况,通过协方差、相关性系数计算出任务所需资源值和集群可用资源值的相关性系数大小,并对该系数进行加权得出调度决策评分,根据调度决策评分为任务调度选择一个最优的子集群,依据节点的负载情况,协同调度任务;该方法的实现包括:
通过调度器计算调度决策评分,包括评估任务运行所需资源大小,收集各集群可用资源大小,相关性计算及加权计算;
根据调度决策评分调度任务,调度器将调度决策评分下发给执行器,执行器根据调度决策评分将任务调度到最优子集群。
该方法从基于各集群资源使用情况为分析依据,综合考虑提高多集群整体资源利用率和加速任务运行速度的运行环境。
在多集群环境下基于任务提交运行所需资源大小和各个集群可用资源大小相结合的判断方法,为任务调度生成一个最优策略,将任务调度到计算资源更为空闲的集群上,实现了合理的任务调度,使各个集群的资源得到了更为充分的利用,加快了任务的执行速度。
优选的,所述各个集群的资源包括CPU、内存、磁盘IO、网络IO。
进一步的,所述评估任务运行所需资源大小方式如下:
获取计算任务x读取的数据源位置,计算数据源大小,根据数据源的block数量计算出任务所需的线程数量,进而计算得出任务所需的CPU数量,用Cx表示,任务x所需的内存大小用Mx表示;
设置X是二元向量,表示任务所需的CPU、内存;则
X=(Cx,Mx)
其中,Cx是任务所需处理器核数,Mx表示任务所需的内存大小;
同时对任务读取的数据源大小以及运算逻辑进行分析,判断任务是属于计算密集型还是IO密集型作业,用标签L表示;
最后根据任务的优先级大小对任务排序,生成任务队列,优先对优先级高的任务调度。
进一步的,收集各集群可用资源大小;
首先从CPU、内存两个维度综合考虑评估集群的计算能力,最终计算得出各个子集群的计算能力评分Y,通过收集Hadoop Metric的监控指标,设置Y为二元向量,Cy表示该子集群剩余的CPU核数,My表示该子集群剩余可用的内存大小,则
Y=(Cy,My)。
优选的,所述Hadoop Metric的监控指标包括:
availableMB:可用内存量,以MB为单位;
availableVirtualCores:可用虚拟核心数;
集群网络IO;
集群磁盘IO。
进一步的,相关性计算过程如下:
计算任务所需资源和集群可用资源之间的相关性大小,用ρx,y表示任务x和集群y的资源相关性,ρx,y的表示如下:根据公式计算得出任务和集群资源之间的相关性:
ρx,y=cov(X,Y)/σxσy
其中,cov为协方差,σ为标准差。
ρx,y采用线性相关系数来计算任务x和集群y的相关性,值越大,任务x与集群y之间的资源相关性越大,即如果将任务调度至该子集群,预期可以减少任务的处理时间。
进一步的,加权计算过程如下:
计算得出集群和任务之间的相关性之后,还要考虑将计算密集型和IO密集型作业分配到相应的集群上,根据任务标签L判断作业负载类型,如果该作业为计算密集型作业,则直接选取相关性系数最大的子集群进行作业分配;如果是IO密集型作业,则利用磁盘IO空闲率和网络IO空闲率对相关性系数进行加权,加权系数为p1,加权值范围为[0.5,1],磁盘IO空闲率和网络IO空闲率越大则加权值p1越大,此外还要考虑数据本地性的问题,因为如果任务调度的集群与数据所在的位置网络距离较近的话,可以极大的减少网络IO的使用,提高数据传输的效率;
采用系数p2来对任务和集群之间的相关性系数进行再次加权,系数p2的取值范围为:[0.5,1],这样最终得出调度决策评分:
Score=ρx,y·p1·p2。
进一步的,根据调度决策评分调度任务过程如下:
步骤一:任务调度器根据调度决策评分为每个任务生成任务调度列表,该列表包含待调度的任务,且根据任务的优先级从大到小排序,每个任务信息包括任务id、各个集群与该任务的资源的调度决策评分大小,并按照调度决策评分大小对各个子集群从高到低排序;
步骤二:任务执行器读取任务调度列表,获取该任务调度决策评分最大的子集群的信息,该信息包括:集群Yarn地址和端口、剩余CPU数量、剩余内存大小、正在运行的任务数量;
步骤三:任务执行器与该集群的Yarn建立连接,将任务调度至该集群;等待任务执行完成且返回结果。
本发明还要求保护一种基于集群可用资源的多集群调度装置,包括调度器和执行器;通过调度器计算调度决策评分;根据调度决策评分调度任务,调度器将调度决策评分下发给执行器,执行器根据调度决策评分将任务调度到最优子集群,实现依据节点的负载情况,协同调度任务;
该系统实现上述的基于集群可用资源的多集群调度方法。
本发明还要求保护一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的基于集群可用资源的多集群调度方法。
本发明的一种基于集群可用资源的多集群调度方法及系统与现有技术相比,具有以下有益效果:
本方法可对多个Hadoop集群进行可用资源的调度,以CPU、内存等计算资源为分析依据,目前对某省的多个Hadoop集群通过该种基于集群可用资源的多集群调度算法进行任务调度,将各集群整体的资源利用率由原先的50%提高到了约70%,任务的整体运行速度提升了约20%,任务的提交等待时间降低了约10%,使得集群的资源得到了最大化利用。
附图说明
图1是本发明实施例提供的基于集群可用资源的多集群调度方法的原理示图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
一种基于集群可用资源的多集群调度方法,收集各个集群的资源使用情况,包括CPU、内存、磁盘IO、网络IO;通过协方差、相关性系数计算出任务所需资源值和集群可用资源值的相关性系数大小,并对该系数进行加权得出调度决策评分,根据调度决策评分为任务调度选择一个最优的子集群,依据节点的负载情况,协同调度任务;该方法的实现包括:
通过调度器计算调度决策评分,包括评估任务运行所需资源大小,收集各集群可用资源大小,相关性计算及加权计算;
根据调度决策评分调度任务,调度器将调度决策评分下发给执行器,执行器根据调度决策评分将任务调度到最优子集群。
该方法从基于各集群资源使用情况为分析依据,综合考虑提高多集群整体资源利用率和加速任务运行速度的运行环境。
在多集群环境下基于任务提交运行所需资源大小和各个集群可用资源大小相结合的判断方法,为任务调度生成一个最优策略,将任务调度到计算资源更为空闲的集群上,实现了合理的任务调度,使各个集群的资源得到了更为充分的利用,加快了任务的执行速度。
一、调度器计算调度决策评分
1、评估任务运行所需资源大小:
获取计算任务x读取的数据源位置,计算数据源大小,根据数据源的block数量计算出任务所需的线程数量,进而计算得出任务所需的CPU数量,用Cx表示,任务x所需的内存大小用Mx表示;
设置X是二元向量,表示任务所需的CPU、内存;则
X=(Cx,Mx)
其中,Cx是任务所需处理器核数,Mx表示任务所需的内存大小;
同时对任务读取的数据源大小以及运算逻辑进行分析,判断任务是属于计算密集型还是IO密集型作业,用标签L表示;
最后根据任务的优先级大小对任务排序,生成任务队列,优先对优先级高的任务调度。
2、收集各集群可用资源大小:
首先从CPU、内存两个维度综合考虑评估集群的计算能力,最终计算得出各个子集群的计算能力评分Y,通过收集Hadoop Metric的监控指标,比如availableMB(可用内存量,以MB为单位)、availableVirtualCores(可用虚拟核心数)、集群网络IO、集群磁盘IO等指标;
设置Y为二元向量,Cy表示该子集群剩余的CPU核数,My表示该子集群剩余可用的内存大小,则
Y=(Cy,My)。
3、相关性计算:
计算任务所需资源和集群可用资源之间的相关性大小,用ρx,y表示任务x和集群y的资源相关性,ρx,y的表示如下:根据公式计算得出任务和集群资源之间的相关性:
ρx,y=cov(X,Y)/σxσy
其中,cov为协方差,σ为标准差。
ρx,y采用线性相关系数来计算任务x和集群y的相关性,值越大,任务x与集群y之间的资源相关性越大,即如果将任务调度至该子集群,预期可以减少任务的处理时间。
4、加权计算:
计算得出集群和任务之间的相关性之后,还要考虑将计算密集型和IO密集型作业分配到合理的集群上,根据任务标签L判断作业负载类型,如果该作业为计算密集型作业,则直接选取相关性系数最大的子集群进行作业分配;如果是IO密集型作业,则利用磁盘IO空闲率和网络IO空闲率对相关性系数进行加权,加权系数为p1,加权值范围为[0.5,1],磁盘IO空闲率和网络IO空闲率越大则加权值p1越大,此外还要考虑数据本地性的问题,因为如果任务调度的集群与数据所在的位置网络距离较近的话,可以极大的减少网络IO的使用,提高数据传输的效率;
采用系数p2来对任务和集群之间的相关性系数进行再次加权,系数p2的取值范围为:[0.5,1],这样最终得出调度决策评分:
Score=ρx,y·p1·p2。
二、根据调度决策评分调度任务过程如下:
步骤一:任务调度器根据调度决策评分为每个任务生成任务调度列表,该列表包含待调度的任务,且根据任务的优先级从大到小排序,每个任务信息包括任务id、各个集群与该任务的资源的调度决策评分大小,并按照调度决策评分大小对各个子集群从高到低排序;
步骤二:任务执行器读取任务调度列表,获取该任务调度决策评分最大的子集群的信息,该信息包括:集群Yarn地址和端口、剩余CPU数量、剩余内存大小、正在运行的任务数量;
步骤三:任务执行器与该集群的Yarn建立连接,将任务调度至该集群;等待任务执行完成且返回结果。
本发明实施例还提供一种基于集群可用资源的多集群调度装置,包括调度器和执行器;通过调度器计算调度决策评分,包括评估任务运行所需资源大小,收集各集群可用资源大小,相关性计算及加权计算;根据调度决策评分调度任务,调度器将调度决策评分下发给执行器,执行器根据调度决策评分将任务调度到最优子集群,实现依据节点的负载情况,协同调度任务;
该系统实现上述实施例所述的基于集群可用资源的多集群调度方法。
通过调度器计算调度决策评分,包括评估任务运行所需资源大小,收集各集群可用资源大小,相关性计算及加权计算;
根据调度决策评分调度任务,调度器将调度决策评分下发给执行器,执行器根据调度决策评分将任务调度到最优子集群。
一、调度器计算调度决策评分
1、评估任务运行所需资源大小:
获取计算任务x读取的数据源位置,计算数据源大小,根据数据源的block数量计算出任务所需的线程数量,进而计算得出任务所需的CPU数量,用Cx表示,任务x所需的内存大小用Mx表示;
设置X是二元向量,表示任务所需的CPU、内存;则
X=(Cx,Mx)
其中,Cx是任务所需处理器核数,Mx表示任务所需的内存大小;
同时对任务读取的数据源大小以及运算逻辑进行分析,判断任务是属于计算密集型还是IO密集型作业,用标签L表示;
最后根据任务的优先级大小对任务排序,生成任务队列,优先对优先级高的任务调度。
2、收集各集群可用资源大小:
首先从CPU、内存两个维度综合考虑评估集群的计算能力,最终计算得出各个子集群的计算能力评分Y,通过收集Hadoop Metric的监控指标,比如availableMB(可用内存量,以MB为单位)、availableVirtualCores(可用虚拟核心数)、集群网络IO、集群磁盘IO等指标;
设置Y为二元向量,Cy表示该子集群剩余的CPU核数,My表示该子集群剩余可用的内存大小,则
Y=(Cy,My)。
3、相关性计算:
计算任务所需资源和集群可用资源之间的相关性大小,用ρx,y表示任务x和集群y的资源相关性,ρx,y的表示如下:根据公式计算得出任务和集群资源之间的相关性:
ρx,y=cov(X,Y)/σxσy
其中,cov为协方差,σ为标准差。
ρx,y采用线性相关系数来计算任务x和集群y的相关性,值越大,任务x与集群y之间的资源相关性越大,即如果将任务调度至该子集群,预期可以减少任务的处理时间。
4、加权计算:
计算得出集群和任务之间的相关性之后,还要考虑将计算密集型和IO密集型作业分配到合理的集群上,根据任务标签L判断作业负载类型,如果该作业为计算密集型作业,则直接选取相关性系数最大的子集群进行作业分配;如果是IO密集型作业,则利用磁盘IO空闲率和网络IO空闲率对相关性系数进行加权,加权系数为p1,加权值范围为[0.5,1],磁盘IO空闲率和网络IO空闲率越大则加权值p1越大,此外还要考虑数据本地性的问题,因为如果任务调度的集群与数据所在的位置网络距离较近的话,可以极大的减少网络IO的使用,提高数据传输的效率;
采用系数p2来对任务和集群之间的相关性系数进行再次加权,系数p2的取值范围为:[0.5,1],这样最终得出调度决策评分:
Score=ρx,y·p1·p2。
二、根据调度决策评分调度任务过程如下:
步骤一:任务调度器根据调度决策评分为每个任务生成任务调度列表,该列表包含待调度的任务,且根据任务的优先级从大到小排序,每个任务信息包括任务id、各个集群与该任务的资源的调度决策评分大小,并按照调度决策评分大小对各个子集群从高到低排序;
步骤二:任务执行器读取任务调度列表,获取该任务调度决策评分最大的子集群的信息,该信息包括:集群Yarn地址和端口、剩余CPU数量、剩余内存大小、正在运行的任务数量;
步骤三:任务执行器与该集群的Yarn建立连接,将任务调度至该集群;等待任务执行完成且返回结果。
本发明实施例还提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述实施例中所述的基于集群可用资源的多集群调度方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (10)
1.一种基于集群可用资源的多集群调度方法,其特征在于,收集各个集群的资源使用情况,通过协方差、相关性系数计算出任务所需资源值和集群可用资源值的相关性系数大小,并对该系数进行加权得出调度决策评分,根据调度决策评分为任务调度选择一个最优的子集群,依据节点的负载情况,协同调度任务;该方法的实现包括:
通过调度器计算调度决策评分,包括评估任务运行所需资源大小,收集各集群可用资源大小,相关性计算及加权计算;
根据调度决策评分调度任务,调度器将调度决策评分下发给执行器,执行器根据调度决策评分将任务调度到最优子集群。
2.根据权利要求1所述的一种基于集群可用资源的多集群调度方法,其特征在于,所述各个集群的资源包括CPU、内存、磁盘IO、网络IO。
3.根据权利要求1或2所述的一种基于集群可用资源的多集群调度方法,其特征在于,所述评估任务运行所需资源大小方式如下:
获取计算任务x读取的数据源位置,计算数据源大小,根据数据源的block数量计算出任务所需的线程数量,进而计算得出任务所需的CPU数量,用Cx表示,任务x所需的内存大小用Mx表示;
设置X是二元向量,表示任务所需的CPU、内存;则
X=(Cx,Mx)
其中,Cx是任务所需处理器核数,Mx表示任务所需的内存大小;
同时对任务读取的数据源大小以及运算逻辑进行分析,判断任务是属于计算密集型还是IO密集型作业,用标签L表示;
最后根据任务的优先级大小对任务排序,生成任务队列,优先对优先级高的任务调度。
4.根据权利要求3所述的一种基于集群可用资源的多集群调度方法,其特征在于,收集各集群可用资源大小;
首先从CPU、内存两个维度综合考虑评估集群的计算能力,最终计算得出各个子集群的计算能力评分Y,通过收集Hadoop Metric的监控指标,设置Y为二元向量,Cy表示该子集群剩余的CPU核数,My表示该子集群剩余可用的内存大小,则
Y=(Cy,My)。
5.根据权利要求4所述的一种基于集群可用资源的多集群调度方法,其特征在于,所述Hadoop Metric的监控指标包括:
availableMB:可用内存量,以MB为单位;
availableVirtualCores:可用虚拟核心数;
集群网络IO;
集群磁盘IO。
6.根据权利要求4所述的一种基于集群可用资源的多集群调度方法,其特征在于,相关性计算过程如下:
计算任务所需资源和集群可用资源之间的相关性大小,用ρx,y表示任务x和集群y的资源相关性,ρx,y的表示如下:
ρx,y=cov(X,Y)/σxσy
其中,cov为协方差,σ为标准差。
ρx,y采用线性相关系数来计算任务x和集群y的相关性,值越大,任务x与集群y之间的资源相关性越大。
7.根据权利要求4所述的一种基于集群可用资源的多集群调度方法,其特征在于,加权计算过程如下:
计算得出集群和任务之间的相关性之后,将计算密集型和IO密集型作业分配到相应的集群上,根据任务标签L判断作业负载类型,如果该作业为计算密集型作业,则直接选取相关性系数最大的子集群进行作业分配;如果是IO密集型作业,则利用磁盘IO空闲率和网络IO空闲率对相关性系数进行加权,加权系数为p1,加权值范围为[0.5,1],磁盘IO空闲率和网络IO空闲率越大则加权值p1越大;
采用系数p2来对任务和集群之间的相关性系数进行再次加权,系数p2的取值范围为:[0.5,1],这样最终得出调度决策评分:
Score=ρx,y·p1·p2。
8.根据权利要求7所述的一种基于集群可用资源的多集群调度方法,其特征在于,根据调度决策评分调度任务过程如下:
步骤一:任务调度器根据调度决策评分为每个任务生成任务调度列表,该列表包含待调度的任务,且根据任务的优先级从大到小排序,每个任务信息包括任务id、各个集群与该任务的资源的调度决策评分大小,并按照调度决策评分大小对各个子集群从高到低排序;
步骤二:任务执行器读取任务调度列表,获取该任务调度决策评分最大的子集群的信息,该信息包括:集群Yarn地址和端口、剩余CPU数量、剩余内存大小、正在运行的任务数量;
步骤三:任务执行器与该集群的Yarn建立连接,将任务调度至该集群;等待任务执行完成且返回结果。
9.一种基于集群可用资源的多集群调度系统,其特征在于,包括调度器和执行器,通过调度器计算调度决策评分,根据调度决策评分调度任务,调度器将调度决策评分下发给执行器,执行器根据调度决策评分将任务调度到最优子集群,实现依据节点的负载情况,协同调度任务;
该系统实现权利要求1至8任一所述的方法。
10.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361691.7A CN116467076A (zh) | 2023-04-03 | 2023-04-03 | 一种基于集群可用资源的多集群调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310361691.7A CN116467076A (zh) | 2023-04-03 | 2023-04-03 | 一种基于集群可用资源的多集群调度方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116467076A true CN116467076A (zh) | 2023-07-21 |
Family
ID=87183632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310361691.7A Pending CN116467076A (zh) | 2023-04-03 | 2023-04-03 | 一种基于集群可用资源的多集群调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467076A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820897A (zh) * | 2023-08-31 | 2023-09-29 | 山东省地质测绘院 | 一种集群计算机运行调度控制方法 |
CN117112180A (zh) * | 2023-09-27 | 2023-11-24 | 广州有机云计算有限责任公司 | 一种基于任务的集群自动化控制方法 |
CN117729204A (zh) * | 2024-02-06 | 2024-03-19 | 山东大学 | 一种基于监控感知的k8s容器调度方法及系统 |
-
2023
- 2023-04-03 CN CN202310361691.7A patent/CN116467076A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116820897A (zh) * | 2023-08-31 | 2023-09-29 | 山东省地质测绘院 | 一种集群计算机运行调度控制方法 |
CN116820897B (zh) * | 2023-08-31 | 2023-11-21 | 山东省地质测绘院 | 一种集群计算机运行调度控制方法 |
CN117112180A (zh) * | 2023-09-27 | 2023-11-24 | 广州有机云计算有限责任公司 | 一种基于任务的集群自动化控制方法 |
CN117112180B (zh) * | 2023-09-27 | 2024-03-29 | 广州有机云计算有限责任公司 | 一种基于任务的集群自动化控制方法 |
CN117729204A (zh) * | 2024-02-06 | 2024-03-19 | 山东大学 | 一种基于监控感知的k8s容器调度方法及系统 |
CN117729204B (zh) * | 2024-02-06 | 2024-05-10 | 山东大学 | 一种基于监控感知的k8s容器调度方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096349B (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
CN116467076A (zh) | 一种基于集群可用资源的多集群调度方法及系统 | |
CN108182115B (zh) | 一种云环境下的虚拟机负载均衡方法 | |
CN107992359B (zh) | 一种云环境下代价感知的任务调度方法 | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN108170530B (zh) | 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法 | |
CN108804227A (zh) | 基于移动云计算的计算密集型任务卸载和最佳资源配置的方法 | |
CN109857535B (zh) | 面向Spark JDBC的任务优先级控制的实现方法及装置 | |
CN105373432B (zh) | 一种基于虚拟资源状态预测的云计算资源调度方法 | |
CN110308967A (zh) | 一种基于混合云的工作流成本-延迟最优化任务分配方法 | |
CN107861796A (zh) | 一种支持云数据中心能耗优化的虚拟机调度方法 | |
CN115220916B (zh) | 视频智能分析平台的自动算力调度方法、装置及系统 | |
CN114327811A (zh) | 一种任务调度方法、装置、设备及可读存储介质 | |
CN115543624A (zh) | 异构算力编排调度方法、系统、设备及存储介质 | |
CN117349026B (zh) | 一种用于aigc模型训练的分布式算力调度系统 | |
CN110084507A (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
Li et al. | A QoS-based scheduling algorithm for instance-intensive workflows in cloud environment | |
CN116909751B (zh) | 一种云计算系统中的资源分配方法 | |
CN113867907A (zh) | 一种基于cpu资源在工程领域调度系统及优化算法 | |
CN111367632B (zh) | 一种基于周期特征的容器云调度方法 | |
CN116028193B (zh) | 一种混部集群的大数据任务动态高能效调度方法和系统 | |
CN112433807A (zh) | 面向数据中心全局能耗优化的气流感知型虚拟机调度方法 | |
CN116521372A (zh) | 一种服务器集群的管理方法及相关组件 | |
Eswari et al. | Expected completion time based scheduling algorithm for heterogeneous processors | |
CN113946440A (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 |