一种hpc集群作业调度方法及装置的制造方法

文档序号:8430594阅读:999来源:国知局
一种hpc集群作业调度方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据处理技术,特别涉及一种HPC集群作业调度方法及装置。
【背景技术】
[0002]HPC(高性能计算,High Performance Computing)集群是通过高性能网络连接起来的一组服务器,该组服务器可协同工作,共同完成数据分析或科学计算任务。随着集群系统在科学计算、商业运营等方面的广泛应用,集群系统发挥的作用也越来越重要,逐渐成为科学计算、商业服务中不可或缺的工具。使用集群来完成计算任务的用户越来越多,同一个集群会同时有上百用户使用,每个用户会提交多个计算任务,当集群的计算资源不足时,这些作业会处于排队等待状态。
[0003]对于这些排队等待的任务,需要统一由HPC集群作业调度系统进行资源分配,目前常用的作业调度方法一般为优先级调度方法,其主要包括:按照用户的优先级,HPC集群调度系统首先执行优先级高的用户提交的作业,待优先级高的用户的作业执行完成后,再执行优先级较低的用户提交的作业。
[0004]虽然这种调度方法在一定程度上解决了集群作业排队的问题。但是,在一些情况中,上述方法不能很好地对资源进行分配,例如:用户A同时提交了上百个作业,这些作业排队等候处理,把集群的计算资源占满,用户B提交的作业会一直分配不到资源,直到用户A的任务全部执行完毕,才能执行用户B的作业,这就造成了资源分配的不合理。

【发明内容】

[0005]本发现提供一种HPC集群作业调度方法及装置,能够对集群计算资源进行更合理的分配。
[0006]本发明提供了一种HPC集群作业调度方法,设定分组规则,设定分组排序规则,设定条件,所述设定条件包括:就当前HPC集群中剩余的资源,分组中包括至少一个作业能够被执行;还包括:
[0007]根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,其中,每个分组中至少包括一个作业;
[0008]根据设定的所述分组排序规则,将多个分组进行排序;
[0009]根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,其中,当前HPC集群中剩余的资源满足取出的该作业的执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件;
[0010]在确定所有分组中包括满足所述设定条件的分组时,针对确定的该分组执行所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,直至所有作业执行结束。
[0011]优选地,针对每一个分组,执行如下操作:判断分组中是否包括至少一个作业在当前HPC集群中剩余资源的条件下能够被执行,若是,则确定该分组满足设定条件,并获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识;若否,则确定该分组不满足设定条件;
[0012]进一步包括:根据所述获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识,从满足所述设定条件的分组中取出一个作业进行执行。
[0013]优选地,在所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行之前进一步包括:
[0014]设定分组内部作业排序规则,并根据设定的所述分组内部作业排序规则,将满足所述设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序;其中,所述从满足所述设定条件的分组中取出一个作业进行执行,包括:根据各分组中所述HPC集群中剩余资源条件下能够被执行的作业的排序结果,选择排序第一的作业进行执行。
[0015]优选地,所述根据设定的所述分组内部作业排序规则,将满足所述设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序,包括:根据排队时间、资源需求和优先级中的一种或多种进行排序。
[0016]优选地,所述根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,包括:根据用户、用户组或队列将HPC集群中所有作业分为多个分组。
[0017]本发明还提供了一种HPC集群作业调度装置,包括:
[0018]存储单元,用于存储分组规则、储存分组排序规则和存储设定条件;
[0019]判断单元,用于根据设定条件,判断分组属性;
[0020]分割单元,用于根据设定的所述分组规则,将HPC集群中所有作业分为多个分组,其中,每个分组中至少包括一个作业;
[0021]第一排序单元,用于根据设定的所述分组排序规则,将多个分组进行排序;
[0022]调度单元,用于根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,其中,当前HPC集群中剩余的资源满足取出的该作业的执行,并在所有分组均被轮询之后,重复执行本步骤,直至所有分组均不满足所述设定条件;
[0023]所述调度单元,用于在确定所有分组中包括满足所述设定条件的分组时,针对确定的该分组执行所述根据排序后的多个分组,依次轮询每个分组,并从满足所述设定条件的分组中取出一个作业进行执行,直至所有作业执行结束。
[0024]优选地,所述判断单元,用于针对每一个分组,执行如下操作:判断分组中是否包括至少一个作业在当前HPC集群中剩余资源的条件下能够被执行,若是,则确定该分组满足设定条件,并获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识;若否,则确定该分组不满足设定条件;
[0025]所述调度单元,用于根据所述获取该分组中就当前HPC集群中剩余资源条件下能够被执行的作业的标识,从满足所述设定条件的分组中取出一个作业进行执行。
[0026]优选地,所述存储单元,用于存储分组内部作业排序规则;
[0027]进一步包括:第二排序单元,用于根据设定的所述分组内部作业排序规则,将满足所述设定条件的分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序;
[0028]所述调度单元,用于根据各分组中所述HPC集群中剩余资源条件下能够被执行的作业的排序结果,选择排序第一的作业进行执行。
[0029]优选地,所述存储单元,用于存储根据排队时间排序、根据资源需求排序和根据优先级排序中的一种或多种所述分组内部作业排序规则;
[0030]所述第二排序单元,用于根据所述分组内部作业排序规则中的一种或多种对每一个分组中所包括的就当前HPC集群中剩余资源条件下能够被执行的作业进行排序。
[0031]优选地,所述存储单元,用于存储根据用户分组、根据用户组分组或根据队列分组中的一种分组规则;
[0032]所述分割单元,用于根据所述分组规则的一种,将HPC集群中所有作业分为多个分组。
[0033]本发明实施例提供了一种HPC集群作业调度方法及装置,将HPC集群中所有作业分为包括至少一个作业的多个分组,并将分成的多个分组按照特定的规则进行排序,根据多个分组的排序结果,依次从每个分组中选取一个满足条件的作业进行执行,这样将轮流执行各分组中的作业,避免同一用户提交过多作业,占据计算资源,导致其他用户提交的作业不能得到及时执行的情况发生,从而实现集群计算资源的合理有效分配。
【附图说明】
[0034]图1是本发明实施例提供的一种HPC集群作业调度方法流程图;
[0035]图2是本发明另一个实施例提供的一种HPC集群作
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1