CN112015549B - 一种基于服务器集群的调度节点的选择抢占方法及系统 - Google Patents
一种基于服务器集群的调度节点的选择抢占方法及系统 Download PDFInfo
- Publication number
- CN112015549B CN112015549B CN202010788342.XA CN202010788342A CN112015549B CN 112015549 B CN112015549 B CN 112015549B CN 202010788342 A CN202010788342 A CN 202010788342A CN 112015549 B CN112015549 B CN 112015549B
- Authority
- CN
- China
- Prior art keywords
- task
- preemption
- combination
- node
- nodes
- 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 16
- 238000012544 monitoring process Methods 0.000 claims abstract description 13
- 238000012163 sequencing technique Methods 0.000 claims abstract description 7
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000012216 screening Methods 0.000 claims description 7
- 238000013468 resource allocation Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000008676 import Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction 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/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
-
- 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/5061—Partitioning or combining of resources
-
- 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
Abstract
本发明涉及服务器资源分配技术领域,提供一种基于服务器集群的调度节点的选择抢占方法及系统,方法包括:对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点;计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合;将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的最终最适合抢占的任务组合反馈给调度器,从而实现结合任务数量和优先级将集群内提交的紧急任务能够合理的抢占运行的任务资源,增强集群运行的稳定性。
Description
技术领域
本发明属于服务器资源分配技术领域,尤其涉及一种基于服务器集群的调度节点的选择抢占方法及系统。
背景技术
另一种资源协调者(YetAnother Resource Negotiator,YARN)是Hadoop(hadoop是一个由Apache基金会所开发的分布式系统基础架构)中的资源管理系统,是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度,其主要包括资源管理器ResourceManager、应用程序ApplicationMaster以及节点控制器NodeManager。YARN不仅限于MapReduce一种框架使用,也可以供其他框架使用,比如Spark等。资源管理器ResourceManager在YARN内负责集群中所有资源的统一管理和分配,它接受来自各个节点的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationMaster)。
在服务器正常正常运转过程中,当集群内接收到提交的紧急任务时,系统就默认抢占较小优先级任务的资源,但如果优先级较小的任务组合内任务数量远高于其他组合,则此时抢占该组合则容易造成集群整体任务运行不稳定。
发明内容
针对现有技术中的缺陷,本发明提供了一种基于服务器集群的调度节点的选择抢占方法,旨在解决现有技术中当集群内接收到提交的紧急任务时,系统就默认抢占较小优先级任务的资源,容易造成集群整体任务运行不稳定的问题。
本发明所提供的技术方案是:一种基于服务器集群的调度节点的选择抢占方法,所述方法包括下述步骤:
对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点;
计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合;
将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器。
作为一种改进的方案,所述对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点的步骤具体包括下述步骤:
对集群内的所有节点的属性指标进行采集,所述节点的属性指标包括节点所拥有的资源总量和节点上未被占用的资源总量;
将集群内所有节点的节点所拥有的资源总量与紧急任务申请的资源总量进行比较,判断所述节点是否为预选节点;
当节点所拥有的资源总量大于等于紧急任务申请的资源总量时,判定当前节点为预选节点,否则判定为非预选节点;
将获取到的预选节点导入资源管理器。
作为一种改进的方案,所述计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合的步骤具体包括下述步骤:
从预选节点中获取所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
根据计算得到的所述算数平均值,确定第一判断阈值,所述第一判断阈值用于判断当前节点内最适合抢占的任务组合;
依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合。
作为一种改进的方案,所述依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合的步骤具体包括下述步骤:
在当前预选节点内,将其中两个任务组合的算数平均值进行做差运算,得到该其中两个任务组合的优先级之间的距离;
将计算得到的两个任务组合的优先级之间的距离与所述第一判断阈值进行比较,判断优先级之间的距离是否大于等于所述第一判断阈值;
当判定优先级之间的距离大于等于所述第一判断阈值时,则选取算数平均值较大的任务组合为更适合被抢占的任务组合;
当判定优先级之间的距离小于所述第一判断阈值时,则选取任务数量较低的任务组合作为更适合被抢占的任务组合;
其中,当所有的任务组合均比较完成后得到的任务组合即最适合抢占的任务组合。
作为一种改进的方案,所述将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器的步骤具体包括下述步骤:
获取每一个节点确定的节点内最适合抢占的任务组合;
根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合;
将获取到的所述最终最适合抢占的任务组合反馈给调度器。
作为一种改进的方案,所述根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合的步骤具体包括下述步骤:
获取每一个节点的最适合抢占的任务组合的所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
根据计算得到的所述算数平均值,确定第二判断阈值,所述第二判断阈值用于判断集群内最终最适合抢占的任务组合;
在集群内,将其中两个最适合抢占的任务组合的算数平均值进行做差运算,得到该其中两个最适合抢占的任务组合的优先级之间的距离;
将计算得到的两个最适合抢占的任务组合的优先级之间的距离与所述第二判断阈值进行比较,判断优先级之间的距离是否大于等于所述第二判断阈值;
当判定优先级之间的距离大于等于所述第二判断阈值时,则选取算数平均值较大的最适合抢占的任务组合为最终最适合被抢占的任务组合;
当判定优先级之间的距离小于所述第二判断阈值时,则选取任务数量较低的最适合抢占的任务组合作为最终最适合被抢占的任务组合;
其中,当所有预选节点的最适合抢占的任务组合均比较完成后得到的任务组合即最终最适合抢占的任务组合。
本发明的另一目的在于提供一种基于服务器集群的调度节点的选择抢占系统,所述系统包括:
预选节点获取模块,用于对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点;
节点内最适合抢占任务组合确定模块,用于计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合;
最终最适合抢占任务组合确定模块,用于将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器。
作为一种改进的方案,所述预选节点获取模块具体包括:
属性指标采集模块,用于对集群内的所有节点的属性指标进行采集,所述节点的属性指标包括节点所拥有的资源总量和节点上未被占用的资源总量;
资源总量比较模块,用于将集群内所有节点的节点所拥有的资源总量与紧急任务申请的资源总量进行比较,判断所述节点是否为预选节点;
节点判定模块,用于当节点所拥有的资源总量大于等于紧急任务申请的资源总量时,判定当前节点为预选节点,否则判定为非预选节点;
预选节点导入模块,用于将获取到的预选节点导入资源管理器。
作为一种改进的方案,所述节点内最适合抢占任务组合确定模块具体包括:
第一算数平均值计算模块,用于从预选节点中获取所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
第一判断阈值确定模块,用于根据计算得到的所述算数平均值,确定第一判断阈值,所述第一判断阈值用于判断当前节点内最适合抢占的任务组合;
第一两两比较模块,用于依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合;
所述第一两两比较模块具体包括:
第一差运算模块,用于在当前预选节点内,将其中两个任务组合的算数平均值进行做差运算,得到该其中两个任务组合的优先级之间的距离;
第一判断阈值比较模块,用于将计算得到的两个任务组合的优先级之间的距离与所述第一判断阈值进行比较,判断优先级之间的距离是否大于等于所述第一判断阈值;
第一选取模块,用于当判定优先级之间的距离大于等于所述第一判断阈值时,则选取算数平均值较大的任务组合为更适合被抢占的任务组合;
第二选取模块,用于当判定优先级之间的距离小于所述第一判断阈值时,则选取任务数量较低的任务组合作为更适合被抢占的任务组合;
其中,当所有的任务组合均比较完成后得到的任务组合即最适合抢占的任务组合。
作为一种改进的方案,所述最终最适合抢占任务组合确定模块具体包括:
任务组合获取模块,用于获取每一个节点确定的节点内最适合抢占的任务组合;
比较筛选模块,用于根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合;
任务组合反馈模块,用于将获取到的所述最终最适合抢占的任务组合反馈给调度器;
所述比较筛选模块具体包括:
第二算数平均值计算模块,用于获取每一个节点的最适合抢占的任务组合的所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
第二判断阈值确定模块,用于根据计算得到的所述算数平均值,确定第二判断阈值,所述第二判断阈值用于判断集群内最终最适合抢占的任务组合;
第二差运算模块,用于在集群内,将其中两个最适合抢占的任务组合的算数平均值进行做差运算,得到该其中两个最适合抢占的任务组合的优先级之间的距离;
第二判断阈值比较模块,用于将计算得到的两个最适合抢占的任务组合的优先级之间的距离与所述第二判断阈值进行比较,判断优先级之间的距离是否大于等于所述第二判断阈值;
第三选取模块,用于当判定优先级之间的距离大于等于所述第二判断阈值时,则选取算数平均值较大的最适合抢占的任务组合为最终最适合被抢占的任务组合;
第四选取模块,用于当判定优先级之间的距离小于所述第二判断阈值时,则选取任务数量较低的最适合抢占的任务组合作为最终最适合被抢占的任务组合;
其中,当所有预选节点的最适合抢占的任务组合均比较完成后得到的任务组合即最终最适合抢占的任务组合。
在本发明实施例中,对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点;计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合;将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器,从而实现结合任务数量和优先级将集群内提交的紧急任务能够合理的抢占运行的任务资源,增强集群运行的稳定性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1是本发明提供的基于服务器集群的调度节点的选择抢占方法的实现流程图;
图2是本发明提供的对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点的实现流程图;
图3是本发明提供的计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合的实现流程图;
图4是本发明提供的依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合的实现流程图;
图5是本发明提供的将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器的实现流程图;
图6是本发明提供的根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合的实现流程图;
图7是本发明提供的基于服务器集群的调度节点的选择抢占系统的结构框图;
图8是本发明提供的预选节点获取模块的结构框图;
图9是本发明提供的节点内最适合抢占任务组合确定模块的结构框图;
图10是本发明提供的第一两两比较模块的结构框图;
图11是本发明提供的最终最适合抢占任务组合确定模块的结构框图;
图12是本发明提供的比较筛选模块的结构框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的、技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
图1是本发明提供的基于服务器集群的调度节点的选择抢占方法的实现流程图,其具体包括下述步骤:
在步骤S101中,对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点;
在步骤S102中,计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合;
在步骤S103中,将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器。
本发明实施例主要通过改进YARN调度器的抢占方式,在评估抢占引发的损失阶段,将被抢占任务数量与优先级考虑在内,保证集群内提交的紧急任务(优先级较高的任务)能够更加合理的抢占其他运行中的任务资源,避免由于单一的抢占机制导致的任务损失过大的问题。调度器将根据优先级与任务数量两个因素构建决策模型来决定最后抢占哪个节点的资源,确保在不同节点任务优先级相差不大的情况下,调度器能优先抢占较少数量的任务,从而增强集群整体的任务运行稳定性。
如图2所示,对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点的步骤具体包括下述步骤:
在步骤S201中,对集群内的所有节点的属性指标进行采集,所述节点的属性指标包括节点所拥有的资源总量和节点上未被占用的资源总量;
在该步骤中,该属性指标例如:实时采集集群节点1所拥有的总资源量(总内存量为64G、CPU总核数为6个)和节点1资源空闲率(节点未使用资源占上节点总资源的百分比)等信息。
在步骤S202中,将集群内所有节点的节点所拥有的资源总量与紧急任务申请的资源总量进行比较,判断所述节点是否为预选节点;
在该步骤中,提交任务为网络服务,申请的任务资源为10G内存,若集群的节点1资源总量为20G(大于申请资源),则表示满足紧急任务的资源需求,可以认定节点1为预选节点,若节点1总资源为7G内存,则判断该节点为非预选节点。
在步骤S203中,当节点所拥有的资源总量大于等于紧急任务申请的资源总量时,判定当前节点为预选节点,否则判定为非预选节点;
在步骤S204中,将获取到的预选节点导入资源管理器,即将包含节点1的预选节点名单直接载入资源管理器(RM)。
如图3所示,计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合的步骤具体包括下述步骤:
在步骤S301中,从预选节点中获取所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
在步骤S302中,根据计算得到的所述算数平均值,确定第一判断阈值,所述第一判断阈值用于判断当前节点内最适合抢占的任务组合;
在该步骤中,假设节点1上有两个可抢占组合,具体为:组合甲包括任务1、2,组合乙包括任务3、4、5,将其中任意单个组合抢占都可满足紧急任务的资源需求;
经计算组合甲两个任务的平均优先级为5,乙的平均优先级为3,选择较大的平均优先级的70%为第一判断阈值,也就是3.5(5*0.7)。
在步骤S303中,依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合。
在该步骤中,例如上述,甲组合与乙组合的平均优先级差值为2,小于阈值3.5,故判定甲组合更适合被抢占。
在该实施例中,如图4所示,依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合的步骤具体包括下述步骤:
在步骤S401中,在当前预选节点内,将其中两个任务组合的算数平均值进行做差运算,得到该其中两个任务组合的优先级之间的距离;
在步骤S402中,将计算得到的两个任务组合的优先级之间的距离与所述第一判断阈值进行比较,判断优先级之间的距离是否大于等于所述第一判断阈值;
在步骤S403中,当判定优先级之间的距离大于等于所述第一判断阈值时,则选取算数平均值较大的任务组合为更适合被抢占的任务组合;
在步骤S404中,当判定优先级之间的距离小于所述第一判断阈值时,则选取任务数量较低的任务组合作为更适合被抢占的任务组合;
其中,当所有的任务组合均比较完成后得到的任务组合即最适合抢占的任务组合。
其中,组合甲有2个任务,组合乙有3个任务,组合甲与组合乙的平均优先级差值为2,小于阈值3.5,故判定组合甲更适合被抢占。
如图5所示,将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器的步骤具体包括下述步骤:
在步骤S501中,获取每一个节点确定的节点内最适合抢占的任务组合;
在步骤S502中,根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合;
在步骤S503中,将获取到的所述最终最适合抢占的任务组合反馈给调度器。
在该实施例中,假设集群有node1、node2、node3三个预选节点,node1节点最优组合的平均优先级为5,组合任务数为3;node3节点平均优先级为7,组合任务数为2;node2节点平均优先级为8,组合任务数为3。先将node2节点与node3节点比较,判定node3更优。然后,将node3节点与node1进行比较,判定node3节点为集群最优节点。此时,将node3节点上的hdfs和mysql服务所占用15G内存资源放掉,然后将该15G内存分配给紧急任务(如网络服务等)。
如图6所示,根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合的步骤具体包括下述步骤:
在步骤S601中,获取每一个节点的最适合抢占的任务组合的所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
在步骤S602中,根据计算得到的所述算数平均值,确定第二判断阈值,所述第二判断阈值用于判断集群内最终最适合抢占的任务组合;
在步骤S603中,在集群内,将其中两个最适合抢占的任务组合的算数平均值进行做差运算,得到该其中两个最适合抢占的任务组合的优先级之间的距离;
在步骤S604中,将计算得到的两个最适合抢占的任务组合的优先级之间的距离与所述第二判断阈值进行比较,判断优先级之间的距离是否大于等于所述第二判断阈值;
在步骤S605中,当判定优先级之间的距离大于等于所述第二判断阈值时,则选取算数平均值较大的最适合抢占的任务组合为最终最适合被抢占的任务组合;
在步骤S606中,当判定优先级之间的距离小于所述第二判断阈值时,则选取任务数量较低的最适合抢占的任务组合作为最终最适合被抢占的任务组合;
其中,当所有预选节点的最适合抢占的任务组合均比较完成后得到的任务组合即最终最适合抢占的任务组合。
该实施例的实现过程与上述图4所示的方案相近,在此不再赘述。
在本发明实施例中,通过监控系统采集节点资源状况等信息并识别适合抢占的预选节点;根据可抢占任务组合的优先级和任务数量对所有组合进行排序,从而选择最适合抢占的组合并发送给YARN调度器;根据所有预选节点最优组合的优先级和任务数量,选择出最适合抢占的调度节点并将该节点的最优组合发送给YARN调度器,从而尽可能保证集群上抢占较少数量的任务,增强集群整体的任务运行稳定性。
图7示出了本发明提供的基于服务器集群的调度节点的选择抢占系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
基于服务器集群的调度节点的选择抢占系统包括:
预选节点获取模块11,用于对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点;
节点内最适合抢占任务组合确定模块12,用于计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合;
最终最适合抢占任务组合确定模块13,用于将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器。
其中,如图8所示,预选节点获取模块11具体包括:
属性指标采集模块14,用于对集群内的所有节点的属性指标进行采集,所述节点的属性指标包括节点所拥有的资源总量和节点上未被占用的资源总量;
资源总量比较模块15,用于将集群内所有节点的节点所拥有的资源总量与紧急任务申请的资源总量进行比较,判断所述节点是否为预选节点;
节点判定模块16,用于当节点所拥有的资源总量大于等于紧急任务申请的资源总量时,判定当前节点为预选节点,否则判定为非预选节点;
预选节点导入模块17,用于将获取到的预选节点导入资源管理器。
如图9所示,节点内最适合抢占任务组合确定模块12具体包括:
第一算数平均值计算模块18,用于从预选节点中获取所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
第一判断阈值确定模块19,用于根据计算得到的所述算数平均值,确定第一判断阈值,所述第一判断阈值用于判断当前节点内最适合抢占的任务组合;
第一两两比较模块20,用于依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合;
如图10所示,第一两两比较模块20具体包括:
第一差运算模块21,用于在当前预选节点内,将其中两个任务组合的算数平均值进行做差运算,得到该其中两个任务组合的优先级之间的距离;
第一判断阈值比较模块22,用于将计算得到的两个任务组合的优先级之间的距离与所述第一判断阈值进行比较,判断优先级之间的距离是否大于等于所述第一判断阈值;
第一选取模块23,用于当判定优先级之间的距离大于等于所述第一判断阈值时,则选取算数平均值较大的任务组合为更适合被抢占的任务组合;
第二选取模块24,用于当判定优先级之间的距离小于所述第一判断阈值时,则选取任务数量较低的任务组合作为更适合被抢占的任务组合;
其中,当所有的任务组合均比较完成后得到的任务组合即最适合抢占的任务组合。
如图11所示,所述最终最适合抢占任务组合确定模块13具体包括:
任务组合获取模块25,用于获取每一个节点确定的节点内最适合抢占的任务组合;
比较筛选模块26,用于根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合;
任务组合反馈模块27,用于将获取到的所述最终最适合抢占的任务组合反馈给调度器;
如图12所示,比较筛选模块26具体包括:
第二算数平均值计算模块28,用于获取每一个节点的最适合抢占的任务组合的所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
第二判断阈值确定模块29,用于根据计算得到的所述算数平均值,确定第二判断阈值,所述第二判断阈值用于判断集群内最终最适合抢占的任务组合;
第二差运算模块30,用于在集群内,将其中两个最适合抢占的任务组合的算数平均值进行做差运算,得到该其中两个最适合抢占的任务组合的优先级之间的距离;
第二判断阈值比较模块31,用于将计算得到的两个最适合抢占的任务组合的优先级之间的距离与所述第二判断阈值进行比较,判断优先级之间的距离是否大于等于所述第二判断阈值;
第三选取模块32,用于当判定优先级之间的距离大于等于所述第二判断阈值时,则选取算数平均值较大的最适合抢占的任务组合为最终最适合被抢占的任务组合;
第四选取模块33,用于当判定优先级之间的距离小于所述第二判断阈值时,则选取任务数量较低的最适合抢占的任务组合作为最终最适合被抢占的任务组合;
其中,当所有预选节点的最适合抢占的任务组合均比较完成后得到的任务组合即最终最适合抢占的任务组合。
其中,上述各个模块的功能如上述方法实施例所记载,在此不再赘述。
在本发明实施例中,对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点;计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合;将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器,从而实现结合任务数量和优先级将集群内提交的紧急任务能够合理的抢占运行的任务资源,增强集群运行的稳定性。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (5)
1.一种基于服务器集群的调度节点的选择抢占方法,其特征在于,所述方法包括下述步骤:
对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点;
计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合;
将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器;
所述对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点的步骤具体包括下述步骤:
对集群内的所有节点的属性指标进行采集,所述节点的属性指标包括节点所拥有的资源总量和节点上未被占用的资源总量;
将集群内所有节点的节点所拥有的资源总量与紧急任务申请的资源总量进行比较,判断所述节点是否为预选节点;
当节点所拥有的资源总量大于等于紧急任务申请的资源总量时,判定当前节点为预选节点,否则判定为非预选节点;
将获取到的预选节点导入资源管理器;
所述计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合的步骤具体包括下述步骤:
从预选节点中获取所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
根据计算得到的所述算数平均值,确定第一判断阈值,所述第一判断阈值用于判断当前节点内最适合抢占的任务组合;
依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合;
所述将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器的步骤具体包括下述步骤:
获取每一个节点确定的节点内最适合抢占的任务组合;
根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合;
将获取到的所述最终最适合抢占的任务组合反馈给调度器。
2.根据权利要求1所述的基于服务器集群的调度节点的选择抢占方法,其特征在于,所述依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合的步骤具体包括下述步骤:
在当前预选节点内,将其中两个任务组合的算数平均值进行做差运算,得到该其中两个任务组合的优先级之间的距离;
将计算得到的两个任务组合的优先级之间的距离与所述第一判断阈值进行比较,判断优先级之间的距离是否大于等于所述第一判断阈值;
当判定优先级之间的距离大于等于所述第一判断阈值时,则选取算数平均值较大的任务组合为更适合被抢占的任务组合;
当判定优先级之间的距离小于所述第一判断阈值时,则选取任务数量较低的任务组合作为更适合被抢占的任务组合;
其中,当所有的任务组合均比较完成后得到的任务组合即最适合抢占的任务组合。
3.根据权利要求1所述的基于服务器集群的调度节点的选择抢占方法,其特征在于,所述根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合的步骤具体包括下述步骤:
获取每一个节点的最适合抢占的任务组合的所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
根据计算得到的所述算数平均值,确定第二判断阈值,所述第二判断阈值用于判断集群内最终最适合抢占的任务组合;
在集群内,将其中两个最适合抢占的任务组合的算数平均值进行做差运算,得到该其中两个最适合抢占的任务组合的优先级之间的距离;
将计算得到的两个最适合抢占的任务组合的优先级之间的距离与所述第二判断阈值进行比较,判断优先级之间的距离是否大于等于所述第二判断阈值;
当判定优先级之间的距离大于等于所述第二判断阈值时,则选取算数平均值较大的最适合抢占的任务组合为最终最适合被抢占的任务组合;
当判定优先级之间的距离小于所述第二判断阈值时,则选取任务数量较低的最适合抢占的任务组合作为最终最适合被抢占的任务组合;
其中,当所有预选节点的最适合抢占的任务组合均比较完成后得到的任务组合即最终最适合抢占的任务组合。
4.一种基于服务器集群的调度节点的选择抢占系统,其特征在于,所述系统包括:
预选节点获取模块,用于对集群内的所有节点进行资源监控和分析,获取集群内所有的预选节点;
节点内最适合抢占任务组合确定模块,用于计算每一个所述预选节点的所有可抢占组合优先级的算数平均值,并结合组合内任务数量确定节点内最适合抢占的任务组合;
最终最适合抢占任务组合确定模块,用于将选取到的每一个节点对应的最适合抢占的任务组合进行最优排序,获取最终最适合抢占的任务组合,并将获取到的所述最终最适合抢占的任务组合反馈给调度器;
所述预选节点获取模块具体包括:
属性指标采集模块,用于对集群内的所有节点的属性指标进行采集,所述节点的属性指标包括节点所拥有的资源总量和节点上未被占用的资源总量;
资源总量比较模块,用于将集群内所有节点的节点所拥有的资源总量与紧急任务申请的资源总量进行比较,判断所述节点是否为预选节点;
节点判定模块,用于当节点所拥有的资源总量大于等于紧急任务申请的资源总量时,判定当前节点为预选节点,否则判定为非预选节点;
预选节点导入模块,用于将获取到的预选节点导入资源管理器;
所述节点内最适合抢占任务组合确定模块具体包括:
第一算数平均值计算模块,用于从预选节点中获取所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
第一判断阈值确定模块,用于根据计算得到的所述算数平均值,确定第一判断阈值,所述第一判断阈值用于判断当前节点内最适合抢占的任务组合;
第一两两比较模块,用于依据确定的所述第一判断阈值,将当前预选节点内的所有可抢占组合进行两两比较,选出最适合抢占的任务组合;
所述第一两两比较模块具体包括:
第一差运算模块,用于在当前预选节点内,将其中两个任务组合的算数平均值进行做差运算,得到该其中两个任务组合的优先级之间的距离;
第一判断阈值比较模块,用于将计算得到的两个任务组合的优先级之间的距离与所述第一判断阈值进行比较,判断优先级之间的距离是否大于等于所述第一判断阈值;
第一选取模块,用于当判定优先级之间的距离大于等于所述第一判断阈值时,则选取算数平均值较大的任务组合为更适合被抢占的任务组合;
第二选取模块,用于当判定优先级之间的距离小于所述第一判断阈值时,则选取任务数量较低的任务组合作为更适合被抢占的任务组合;
其中,当所有的任务组合均比较完成后得到的任务组合即最适合抢占的任务组合;
所述最终最适合抢占任务组合确定模块具体包括:
任务组合获取模块,用于获取每一个节点确定的节点内最适合抢占的任务组合;
比较筛选模块,用于根据每一个节点的最适合抢占的任务组合,确定第二判断阈值,并将集群内的每一个节点对应的最适合抢占的任务组合进行两两比较,选出集群中最终最适合抢占的任务组合;
任务组合反馈模块,用于将获取到的所述最终最适合抢占的任务组合反馈给调度器。
5.根据权利要求4所述的基于服务器集群的调度节点的选择抢占系统 ,其特征在于,
所述比较筛选模块具体包括:
第二算数平均值计算模块,用于获取每一个节点的最适合抢占的任务组合的所有任务的优先级数据,并计算所有可抢占组合优先级的算数平均值;
第二判断阈值确定模块,用于根据计算得到的所述算数平均值,确定第二判断阈值,所述第二判断阈值用于判断集群内最终最适合抢占的任务组合;
第二差运算模块,用于在集群内,将其中两个最适合抢占的任务组合的算数平均值进行做差运算,得到该其中两个最适合抢占的任务组合的优先级之间的距离;
第二判断阈值比较模块,用于将计算得到的两个最适合抢占的任务组合的优先级之间的距离与所述第二判断阈值进行比较,判断优先级之间的距离是否大于等于所述第二判断阈值;
第三选取模块,用于当判定优先级之间的距离大于等于所述第二判断阈值时,则选取算数平均值较大的最适合抢占的任务组合为最终最适合被抢占的任务组合;
第四选取模块,用于当判定优先级之间的距离小于所述第二判断阈值时,则选取任务数量较低的最适合抢占的任务组合作为最终最适合被抢占的任务组合;
其中,当所有预选节点的最适合抢占的任务组合均比较完成后得到的任务组合即最终最适合抢占的任务组合。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010788342.XA CN112015549B (zh) | 2020-08-07 | 2020-08-07 | 一种基于服务器集群的调度节点的选择抢占方法及系统 |
PCT/CN2021/096403 WO2022028059A1 (zh) | 2020-08-07 | 2021-05-27 | 一种基于服务器集群的调度节点的选择抢占方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010788342.XA CN112015549B (zh) | 2020-08-07 | 2020-08-07 | 一种基于服务器集群的调度节点的选择抢占方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015549A CN112015549A (zh) | 2020-12-01 |
CN112015549B true CN112015549B (zh) | 2023-01-06 |
Family
ID=73500125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010788342.XA Active CN112015549B (zh) | 2020-08-07 | 2020-08-07 | 一种基于服务器集群的调度节点的选择抢占方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112015549B (zh) |
WO (1) | WO2022028059A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015549B (zh) * | 2020-08-07 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种基于服务器集群的调度节点的选择抢占方法及系统 |
CN114466022B (zh) * | 2021-12-31 | 2023-07-21 | 苏州浪潮智能科技有限公司 | 一种集群中获取服务器种子节点的方法、装置及介质 |
CN114666334B (zh) * | 2022-04-28 | 2024-01-26 | 深圳嘉业共创供应链管理有限公司 | 一种节点管理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320854A (zh) * | 2014-10-21 | 2015-01-28 | 中国联合网络通信集团有限公司 | 资源调度方法及装置 |
CN108769254A (zh) * | 2018-06-25 | 2018-11-06 | 星环信息科技(上海)有限公司 | 基于抢占式调度的资源共享使用方法、系统及设备 |
CN109213594A (zh) * | 2017-07-06 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 资源抢占的方法、装置、设备和计算机存储介质 |
CN110597621A (zh) * | 2019-08-09 | 2019-12-20 | 苏宁金融科技(南京)有限公司 | 集群资源的调度方法与系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937706B2 (en) * | 2005-08-22 | 2011-05-03 | Runtime Design Automation, Inc. | Method and system for performing fair-share preemption |
CN105847891A (zh) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种资源抢占方法和装置 |
CN110134521B (zh) * | 2019-05-28 | 2021-06-11 | 北京达佳互联信息技术有限公司 | 资源分配的方法、装置、资源管理器及存储介质 |
CN112015549B (zh) * | 2020-08-07 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种基于服务器集群的调度节点的选择抢占方法及系统 |
-
2020
- 2020-08-07 CN CN202010788342.XA patent/CN112015549B/zh active Active
-
2021
- 2021-05-27 WO PCT/CN2021/096403 patent/WO2022028059A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320854A (zh) * | 2014-10-21 | 2015-01-28 | 中国联合网络通信集团有限公司 | 资源调度方法及装置 |
CN109213594A (zh) * | 2017-07-06 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 资源抢占的方法、装置、设备和计算机存储介质 |
CN108769254A (zh) * | 2018-06-25 | 2018-11-06 | 星环信息科技(上海)有限公司 | 基于抢占式调度的资源共享使用方法、系统及设备 |
CN110597621A (zh) * | 2019-08-09 | 2019-12-20 | 苏宁金融科技(南京)有限公司 | 集群资源的调度方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112015549A (zh) | 2020-12-01 |
WO2022028059A1 (zh) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112015549B (zh) | 一种基于服务器集群的调度节点的选择抢占方法及系统 | |
CN109471705B (zh) | 任务调度的方法、设备及系统、计算机设备 | |
CN108632365B (zh) | 服务资源调整方法、相关装置和设备 | |
US10474504B2 (en) | Distributed node intra-group task scheduling method and system | |
US9417919B2 (en) | Computer cluster with objective-based resource sharing | |
CN105912399B (zh) | 一种任务处理方法、装置及系统 | |
CN112583861B (zh) | 服务部署方法、资源配置方法、系统、装置及服务器 | |
CN112162865A (zh) | 服务器的调度方法、装置和服务器 | |
CN112272203B (zh) | 一种集群业务节点选择方法、系统、终端及存储介质 | |
CN110659123B (zh) | 一种基于消息的分布式任务分发调度方法及装置 | |
US20120054768A1 (en) | Workflow monitoring and control system, monitoring and control method, and monitoring and control program | |
CN106851747B (zh) | 一种移动通信系统内动态资源分配方法和装置 | |
CN108965014A (zh) | QoS感知的服务链备份方法及系统 | |
CN102724103A (zh) | 代理服务器、分层次网络系统及分布式工作负载管理方法 | |
US11438271B2 (en) | Method, electronic device and computer program product of load balancing | |
US8972579B2 (en) | Resource sharing in computer clusters according to objectives | |
Shukla et al. | Fault tolerance based load balancing approach for web resources in cloud environment. | |
CN104702664B (zh) | 控制任务服务器的方法及系统 | |
CN111767145A (zh) | 容器调度系统、方法、装置和设备 | |
CN113242304B (zh) | 边缘侧多能源数据采集调度控制方法、装置、设备和介质 | |
CN117234733A (zh) | 一种分布式系统任务分配方法、系统、存储介质及设备 | |
CN117076117A (zh) | 一种基于新通信架构的媒体会场智能调度方法及系统 | |
CN114116157A (zh) | 一种边缘环境下多边缘集群云结构及负载均衡调度方法 | |
CN111459651B (zh) | 一种负载均衡方法、装置、存储介质及调度系统 | |
CN114706667A (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 |