一种HPC集群作业调度方法及装置.pdf

上传人:62****3 文档编号:149213 上传时间:2018-01-29 格式:PDF 页数:14 大小:909.99KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510176544.8

申请日:

2015.04.14

公开号:

CN104750556A

公开日:

2015.07.01

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/48申请日:20150414|||公开

IPC分类号:

G06F9/48

主分类号:

G06F9/48

申请人:

浪潮电子信息产业股份有限公司

发明人:

邸双朋

地址:

250100山东省济南市高新区浪潮路1036号

优先权:

专利代理机构:

济南信达专利事务所有限公司37100

代理人:

李世喆

PDF下载: PDF下载
内容摘要

本发明提供一种HPC集群作业调度方法及装置,该方法包括:设定分组规则,设定分组排序规则,设定判断分组的条件;根据设定的所述分组规则,将HPC集群中所有作业分为多个分组;根据设定的所述分组排序规则,将多个分组进行排序;根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件,待HPC集群中剩余计算资源恢复至有分组满足设定条件时,根据分组排序,执行所述从满足所述设定条件的分组中取出一个作业进行执行,直至所有作业执行结束。本发明能够实现HPC集群计算资源的合理分配。

权利要求书

1.  一种HPC集群作业调度方法,其特征在于,设定分组规则,设定分组排序规则,设定条件,所述设定条件包括:就当前HPC集群中剩余的资源,分组中包括至少一个作业能够被执行;还包括:
根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,其中,每个分组中至少包括一个作业;
根据设定的所述分组排序规则,将多个分组进行排序;
根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,其中,当前HPC集群中剩余的资源满足取出的该作业的执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件;
在确定所有分组中包括满足所述设定条件的分组时,针对确定的该分组执行所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,直至所有作业执行结束。

2.
  根据权利要求1所述的方法,其特征在于,所述轮询每个分组包括:针对每一个分组,执行如下操作:判断分组中是否包括至少一个作业在当前HPC集群中剩余资源的条件下能够被执行,若是,则确定该分组满足设定条件,并获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识;若否,则确定该分组不满足设定条件;
进一步包括:根据所述获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识,从满足所述设定条件的分组中取出一个作业进行执行。

3.
  根据权利要求1所述的方法,其特征在于,
在所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行之前进一步包括:设定分组内部作业排序规则,并根据设定的所述分组内部作业排序规则,将满足所述设定条件的 分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序;
所述从满足所述设定条件的分组中取出一个作业进行执行,包括:根据各分组中所述HPC集群中剩余资源条件下能够被执行的作业的排序结果,选择排序第一的作业进行执行。

4.
  根据权利要求3所述的方法,其特征在于,所述根据设定的所述分组内部作业排序规则,将满足所述设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序,包括:根据排队时间、资源需求和优先级中的一种或多种进行排序。

5.
  根据权利要求1至4中任一所述的方法,其特征在于,所述根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,包括:根据用户、用户组或队列将HPC集群中所有作业分为多个分组。

6.
  一种HPC集群作业调度装置,其特征在于,包括:
存储单元,用于存储分组规则、存储分组排序规则和存储设定条件;
判断单元,用于根据设定条件,判断分组属性;
分割单元,用于根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,其中,每个分组中至少包括一个作业;
第一排序单元,用于根据设定的所述分组排序规则,将多个分组进行排序;
调度单元,用于根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,其中,当前HPC集群中剩余的资源满足取出的该作业的执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件;
所述调度单元,用于在确定所有分组中包括满足所述设定条件的分组时,针对确定的该分组执行所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,直至所有作业执行结束。

7.
  根据权利要求6所述的装置,其特征在于,
所述判断单元,用于针对每一个分组,执行如下操作:判断分组中是否包括至少一个作业在当前HPC集群中剩余资源的条件下能够被执行,若是,则确定该分组满足设定条件,并获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识;若否,则确定该分组不满足设定条件;
所述调度单元,用于根据所述获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识,从满足所述设定条件的分组中取出一个作业进行执行。

8.
  根据权利要求6所述的装置,其特征在于,
所述存储单元,用于存储分组内部作业排序规则;
进一步包括:第二排序单元,用于根据设定的所述分组内部作业排序规则,将满足所述设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序;
所述调度单元,用于根据各分组中所述HPC集群中剩余资源条件下能够被执行的作业的排序结果,选择排序第一的作业进行执行。

9.
  根据权利要求8所述的装置,其特征在于,该装置包括:
所述存储单元,用于存储根据排队时间排序、根据资源需求排序和根据优先级排序中的一种或多种所述分组内部作业排序规则;
所述第二排序单元,用于根据所述分组内部作业排序规则中的一种或多种对每一个分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序。

10.
  根据权利要求6至9任一所述的装置,其特征在于,
所述存储单元,用于存储根据用户分组、根据用户组分组或根据队列分组中的一种分组规则;
所述分割单元,用于根据所述分组规则的一种,将HPC集群中所有作业分为多个分组。

说明书

一种HPC集群作业调度方法及装置
技术领域
本发明涉及数据处理技术,特别涉及一种HPC集群作业调度方法及装置。
背景技术
HPC(高性能计算,High Performance Computing)集群是通过高性能网络连接起来的一组服务器,该组服务器可协同工作,共同完成数据分析或科学计算任务。随着集群系统在科学计算、商业运营等方面的广泛应用,集群系统发挥的作用也越来越重要,逐渐成为科学计算、商业服务中不可或缺的工具。使用集群来完成计算任务的用户越来越多,同一个集群会同时有上百用户使用,每个用户会提交多个计算任务,当集群的计算资源不足时,这些作业会处于排队等待状态。
对于这些排队等待的任务,需要统一由HPC集群作业调度系统进行资源分配,目前常用的作业调度方法一般为优先级调度方法,其主要包括:按照用户的优先级,HPC集群调度系统首先执行优先级高的用户提交的作业,待优先级高的用户的作业执行完成后,再执行优先级较低的用户提交的作业。
虽然这种调度方法在一定程度上解决了集群作业排队的问题。但是,在一些情况中,上述方法不能很好地对资源进行分配,例如:用户A同时提交了上百个作业,这些作业排队等候处理,把集群的计算资源占满,用户B提交的作业会一直分配不到资源,直到用户A的任务全部执行完毕,才能执行用户B的作业,这就造成了资源分配的不合理。
发明内容
本发现提供一种HPC集群作业调度方法及装置,能够对集群计算资源进行更合理的分配。
本发明提供了一种HPC集群作业调度方法,设定分组规则,设定分组排序规则,设定条件,所述设定条件包括:就当前HPC集群中剩余的资源,分组中包括至少一个作业能够被执行;还包括:
根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,其中,每个分组中至少包括一个作业;
根据设定的所述分组排序规则,将多个分组进行排序;
根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,其中,当前HPC集群中剩余的资源满足取出的该作业的执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件;
在确定所有分组中包括满足所述设定条件的分组时,针对确定的该分组执行所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,直至所有作业执行结束。
优选地,针对每一个分组,执行如下操作:判断分组中是否包括至少一个作业在当前HPC集群中剩余资源的条件下能够被执行,若是,则确定该分组满足设定条件,并获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识;若否,则确定该分组不满足设定条件;
进一步包括:根据所述获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识,从满足所述设定条件的分组中取出一个作业进行执行。
优选地,在所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行之前进一步包括:
设定分组内部作业排序规则,并根据设定的所述分组内部作业排序规则, 将满足所述设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序;其中,所述从满足所述设定条件的分组中取出一个作业进行执行,包括:根据各分组中所述HPC集群中剩余资源条件下能够被执行的作业的排序结果,选择排序第一的作业进行执行。
优选地,所述根据设定的所述分组内部作业排序规则,将满足所述设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序,包括:根据排队时间、资源需求和优先级中的一种或多种进行排序。
优选地,所述根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,包括:根据用户、用户组或队列将HPC集群中所有作业分为多个分组。
本发明还提供了一种HPC集群作业调度装置,包括:
存储单元,用于存储分组规则、储存分组排序规则和存储设定条件;
判断单元,用于根据设定条件,判断分组属性;
分割单元,用于根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,其中,每个分组中至少包括一个作业;
第一排序单元,用于根据设定的所述分组排序规则,将多个分组进行排序;
调度单元,用于根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,其中,当前HPC集群中剩余的资源满足取出的该作业的执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件;
所述调度单元,用于在确定所有分组中包括满足所述设定条件的分组时,针对确定的该分组执行所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,直至所有作业执行结束。
优选地,所述判断单元,用于针对每一个分组,执行如下操作:判断分 组中是否包括至少一个作业在当前HPC集群中剩余资源的条件下能够被执行,若是,则确定该分组满足设定条件,并获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识;若否,则确定该分组不满足设定条件;
所述调度单元,用于根据所述获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识,从满足所述设定条件的分组中取出一个作业进行执行。
优选地,所述存储单元,用于存储分组内部作业排序规则;
进一步包括:第二排序单元,用于根据设定的所述分组内部作业排序规则,将满足所述设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序;
所述调度单元,用于根据各分组中所述HPC集群中剩余资源条件下能够被执行的作业的排序结果,选择排序第一的作业进行执行。
优选地,所述存储单元,用于存储根据排队时间排序、根据资源需求排序和根据优先级排序中的一种或多种所述分组内部作业排序规则;
所述第二排序单元,用于根据所述分组内部作业排序规则中的一种或多种对每一个分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序。
优选地,所述存储单元,用于存储根据用户分组、根据用户组分组或根据队列分组中的一种分组规则;
所述分割单元,用于根据所述分组规则的一种,将HPC集群中所有作业分为多个分组。
本发明实施例提供了一种HPC集群作业调度方法及装置,将HPC集群中所有作业分为包括至少一个作业的多个分组,并将分成的多个分组按照特定的规则进行排序,根据多个分组的排序结果,依次从每个分组中选取一个满足条件的作业进行执行,这样将轮流执行各分组中的作业,避免同一用户提交过多作业,占据计算资源,导致其他用户提交的作业不能得到及时执行 的情况发生,从而实现集群计算资源的合理有效分配。
附图说明
图1是本发明实施例提供的一种HPC集群作业调度方法流程图;
图2是本发明另一个实施例提供的一种HPC集群作业调度方法流程图;
图3是本发明本发明实施例提供的一种HPC集群作业调度装置所在设备的一种硬件结构图;
图4是本发明实施例提供的一种HPC集群作业调度装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种HPC集群作业调度方法,该方法可以包括以下步骤:
步骤101:设定分组规则,设定分组排序规则,设定条件,所述设定条件包括:就当前HPC集群中剩余的资源,分组中包括至少一个作业能够被执行;
步骤102:根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,其中,每个分组中至少包括一个作业;
步骤103:根据设定的所述分组排序规则,将多个分组进行排序;
步骤104:根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,其中,当前HPC集群中剩余的资源满足取出的该作业的执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件;
步骤105:在确定所有分组中包括满足所述设定条件的分组时,针对确 定的该分组执行所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,直至所有作业执行结束。
通过本发明提供的一种HPC集群作业调度方法,将HPC集群中所有作业分为包括至少一个作业的多个分组,并将分成的多个分组按照特定的规则进行排序,根据多个分组的排序结果,依次从每个分组中选取一个满足条件的作业进行执行,这样将轮流执行各分组中的作业,避免同一用户提交过多作业,占据计算资源,导致其他用户提交的作业不能得到及时执行的情况发生,从而实现集群计算资源的合理分配。
本发明的实施例中,设定分组内部作业排序规则,并根据设定的分组内部作业排序规则,将满足设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序,根据各分组中所述HPC集群中剩余资源条件下能够被执行的作业的排序结果,选择排序第一的作业进行执行,其中,分组内部作业排序规则可以为按排队时间排序,这样,在同一个分组中,排队时间长的作业将比排队时间较短的作业优先执行,从而相对缩短作业的排队时间,使HPC集群资源分配更加公平。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
如图2所示,本发明实施例提供了一种HPC集群作业调度方法,该方法可以包括以下步骤:
步骤201:设定分组规则,设定分组排序规则,设定条件。
在本实施例中,可以通过下述分组规则实现对集群中所有作业的分组:按照用户分组、按照用户组分组或按照队列分组。例如:
按照用户对所有作业进行分组的方式可以包括:集群中的所有作业是由用户A、用户B、用户C分别提交的,那么就可以将集群中所有作业分为3组,第一组作业均是由用户A所提交,第二组作业均是由用户B所提交,第三组作业均是由用户C所提交。
按照用户组对所有作业进行分组的方式可以包括:集群中的所有作业是 由用户A、用户B、用户C和用户D分别提交的,其中用户A和用户B属于一个部门,用户C和用户D属于另一个部门,那么就可以将集群中所有作业分为两组,第一组作业是由用户A和用户B所提交,第二组作业是由用户C和用户D所提交。
按照队列对所有作业进行分组的方式可以包括:集群中包括A、B、C、D、E共五个作业,其中作业A和作业B属于化学领域,作业C和作业D属于电学领域,作业E属于文学领域,那么就可以将集群中所有作业分为3组,第一组作业包括作业A和作业B,第二组作业包括作业C和作业D,第三组作业包括作业E。
在本实施例中,可以通过下述分组排序规则对所有分组进行排序:按照字母顺序进行排序。例如:集群中所有作业是由用户A、用户B和用户C所提交,并按照用户将所有作业进行分组,每组以用户名进行命名,那么分组的排序则结果为分组A-分组B-分组C。
在本实施例中,设定条件,用以判断分组属性,设定条件可以包括:就当前HPC集群中剩余的资源,分组中包括至少一个作业能够被执行。例如,当前HPC集群中剩余的资源为20个单位,轮询到分组C时,需要对分组C进行判断,其中分组C中包括100个作业,如果这100个作业中任一个作业执行时需要的HPC集群资源都大于20个单位,那么分组C则不满足设定条件;如果当前HPC集群中剩余的资源能够满足分组C中的作业1的执行,或者当前HPC集群中剩余的资源能够满足分组C中的作业2的执行,那么分组C则满足设定条件。
步骤202:根据设定的分组规则,将HPC集群中所有作业分为多个分组。
在本实施例中,可以对HPC集群中所有作业按照用户进行分组,例如,HPC集群中所有作业是由用户A、用户B、用户C提交,将所有作业根据提交用户不同,分组三组,第一组内为用户A提交的所有作业,第二组内为用户B提交的所有作业,第三组内为用户C提交的所有作业。
步骤203:根据设定的分组排序规则,将多个分组进行排序。
在本实施例中,可以按照字母顺序对所有分组进行排序,例如,将分组A、分组B和分组C按照字母顺序排序,其排序结果为分组A-分组B-分组C。
步骤204:依据分组排序结果,依次对各个分组进行判断,如果分组内至少有一个作业能够在当前HPC集群剩余资源的条件下进行执行,则该分组满足设定条件,则执行步骤205,否则不满足设定条件,继续对下一分组执行步骤204。
在本实施例中,分组B中包括作业1、作业2、作业3、…作业N,判断分组B是否满足设定条件的步骤可以包括:依次判断分组B中的每一个作业在当前HPC集群剩余资源的条件下能否进行执行,若是,返回相应作业的标识;若分组B中任一个作业在当前HPC集群剩余资源的条件均不能进行执行,则确定分组B不满足设定条件。例如,当前HPC集群剩余资源为20个单位,依次判断分组B中每一个作业在分别进行执行时所需要的HPC集群资源,如果分组B中存在至少一个作业在执行时所需要的HPC集群资源小于或等于20个单位,则分组B满足设定条件;如果分组B中所有作业中的任何一个作业在执行时需要的HPC集群资源均大于20个单位,则分组B不满足设定条件,根据分组排序,对分组B的下一分组C进行判断,即从分组C开始继续执行本步骤,重复这一过程,直至所有分组均不满足设定条件。
步骤205:根据排序后的多个分组,依次从满足设定条件的分组中取出一个作业进行执行,其中,取出的该作业在执行时能够被当前HPC集群剩余资源所满足。
在本实施例中,假设分组B满足设定条件,则根据分组B中所返回的作业标识,例如,作业1和作业2的标识,从分组B中,取出一个能够在当前HPC集群剩余资源的条件下进行执行的作业,例如,取出作业1,并执行作业1。
在本发明的一个优选实施例中,可以对每一个分组进行内部作业排序,其中,可以根据下述分组内部作业排序规则中的一个或多个对每一个分组内部作业进行排序:按排队时间排序、按资源需求排序或按优先级排序。例如:
按排队时间对分组内部就当前HPC集群中剩余资源条件下能够被执行的作业进行排序可以包括:分组B内包括两个就当前HPC集群中剩余资源条件下能够被执行的作业1和作业2,其中作业1的提交时间比作业2的提交时间早,那么排序结果为作业1-作业2。
按资源需求对分组内部就当前HPC集群中剩余资源条件下能够被执行的作业进行排序可以包括:分组A内包括两个就当前HPC集群中剩余资源条件下能够被执行的作业1和作业2,其中作业1执行时需要的HPC集群资源比作业2的多,如果按照资源需求从大到小的原则,那么排序结果为作业1-作业2,如果按照资源需求从小到大的原则,那么排序结果为作业2-作业1。
按优先级对分组内部就当前HPC集群中剩余资源条件下能够被执行的作业进行排序可以包括:分组C内包括两个就当前HPC集群中剩余资源条件下能够被执行的作业1和作业2,其中作业1由会员用户提交,作业2由普通用户提交,那么作业1的优先级大于作业2,排序结果为作业1-作业2。
进一步地,在对每一个分组内部作业进行排序之后,可以根据分组中排序后的作业进行选取,其中,以按照排队时间对分组内部作业进行排序为例,分组B中作业2的排队时间大于作业1的排队时间,则从分组B中取出作业2进行执行。
需要说明的是,利用分组内部作业排序规则对每一个分组中所包括的作业进行排序的步骤可以插入步骤202与步骤203之间、步骤203与步骤204之间,步骤204与步骤205之间或步骤205中,本实施例对此不作具体限定。若将该利用分组内部作业排序规则对每一个分组中所包括的作业进行排序的步骤插入到步骤202与步骤203之间、或插入到步骤203与步骤204之间,且是按照资源需求对每一个分组中所包括的作业进行排序,在步骤204中判断分组B是否满足设定条件时,可以是先判断资源需求最小的作业1,若该资源需要最小的作业1在执行时满足HPC资源需求,那么判断该分组B满足设定条件,否则,分组B不满足设定条件。
步骤206:如果集群中某一个或多个作业执行完毕,HPC集群中剩余资 源将增加,则执行步骤204,直至所有作业执行结束。
比如,根据分组排序,执行完毕第3分组中的作业B后,所有分组均不能满足设定条件,则停止调度作业,待某一个或多个作业执行完毕后,HPC集群中剩余资源增加,则从第4分组开始,继续执行步骤204,直到所有作业均被执行结束。
如图3、图4所示,本发明实施例提供了一种HPC集群作业调度装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例一种HPC集群作业调度装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的HPC集群作业调度装置40包括:
存储单元401,用于存储分组规则、储存分组排序规则和存储设定条件;
判断单元402,用于根据设定条件,判断分组属性;
分割单元403,用于根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,其中,每个分组中至少包括一个作业;
第一排序单元404,用于根据设定的所述分组排序规则,将多个分组进行排序;
调度单元405,用于根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,其中,当前HPC集群中剩余的资源满足取出的该作业的执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件;
所述调度单元405,用于在确定所有分组中包括满足所述设定条件的分组时,针对确定的该分组执行所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,直至所有作业 执行结束。
进一步地,
所述判断单元402,用于针对每一个分组,执行如下操作:判断分组中是否包括至少一个作业在当前HPC集群中剩余资源的条件下能够被执行,若是,则确定该分组满足设定条件,并获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识;若否,则确定该分组不满足设定条件;
所述调度单元405,用于根据所述获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识,从满足所述设定条件的分组中取出一个作业进行执行。
进一步地,
所述存储单元401,用于存储分组内部作业排序规则;
进一步包括:第二排序单元406,用于根据设定的所述分组内部作业排序规则,将满足所述设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序;
所述调度单元405,用于根据各分组中所述HPC集群中剩余资源条件下能够被执行的作业的排序结果,选择排序第一的作业进行执行。
进一步地,
所述存储单元401,用于存储根据排队时间排序、根据资源需求排序和根据优先级排序中的一种或多种所述分组内部作业排序规则;
所述第二排序单元406,用于根据所述分组内部作业排序规则中的一种或多种对每一个分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序。
进一步地,
所述存储单元401,用于存储根据用户分组、根据用户组分组或根据队列分组中的一种分组规则;
所述分割单元403,用于根据所述分组规则的一种,将HPC集群中所有作业分为多个分组。
根据上述方案,本发明的实施例所提供的一种HPC集群作业调度方法及装置,至少具有如下有益效果:
1、本发明中,将HPC集群中所有作业分为包括至少一个作业的多个分组,并将多个分组进行排序,根据分组排序结果循环各分组,依次从各个分组中取出一个作业进行执行,避免同一用户提交过多作业,占据计算资源,导致其他用户提交的作业不能得到及时执行的情况发生,从而实现集群计算资源的合理有效分配。
2、本发明中,将各个分组内部的作业进行排序,排序依据可以为排队时间、资源需求或优先级,执行依次从每组中取出一个作业执行的步骤时,按照分组内部作业顺序抽取,因此保证了排队时间长、资源需求大或优先级高的作业得到及时的执行,从而实现用户提交的作业得到公平、及时的处理。
3、本发明中,当一个分组中的所有作业被执行完毕,再次轮流到该组时则跳过该组,根据分组排序,执行下一个包含作业的分组;同时,如果当前剩余计算资源不满足目标作业的执行,则跳过该作业,根据分组内部作业排序,执行目标作业下一个作业,因而避免计算资源的浪费,实现计算资源利用率最大化。
上述设备内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另 外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

一种HPC集群作业调度方法及装置.pdf_第1页
第1页 / 共14页
一种HPC集群作业调度方法及装置.pdf_第2页
第2页 / 共14页
一种HPC集群作业调度方法及装置.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种HPC集群作业调度方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种HPC集群作业调度方法及装置.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明提供一种HPC集群作业调度方法及装置,该方法包括:设定分组规则,设定分组排序规则,设定判断分组的条件;根据设定的所述分组规则,将HPC集群中所有作业分为多个分组;根据设定的所述分组排序规则,将多个分组进行排序;根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件,待HPC集群中剩余。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1