在计算节点上分配对作业的处理制造技术

技术编号:33514001 阅读:17 留言:0更新日期:2022-05-19 01:22
本公开涉及在计算节点上分配对作业的处理。一种技术包括接收在集群上处理作业的请求。作业包括多个排名,集群包括多个节点,并且多个排名能够在多个节点的最小节点子集之间平均划分,使得所有处理核和最小节点集对应于多个排名。该技术包括响应于该请求来调度对作业的处理。对作业的处理的调度包括在多个节点的节点数量大于所述最小节点子集的节点集上分配对多个排名的处理。分配对多个排名的处理。分配对多个排名的处理。

【技术实现步骤摘要】
在计算节点上分配对作业的处理

技术介绍

[0001]高性能并行处理计算系统可以包括一组计算节点和调度由计算节点执行的工作的调度器。每个计算节点可以包含一组处理核(例如,中央处理单元(CPU)核);并且该工作可以被组织为可以由应用提交的作业(例如,消息传递接口(MPI)作业)。可以将给定的作业划分为一组排名(例如,MPI排名)或进程。给定作业的每个排名可以与作业的其他排名并行处理。调度器将每个作业的排名调度或指派给计算系统的不同处理核。
附图说明
[0002]图1是根据示例实施方式的系统的示意图。
[0003]图2是根据示例实施方式的包括针对每个计算节点的不同数量的作业的基于作业条带化的调度(job striping

based scheduling)的作业调度的图示。
[0004]图3是根据示例实施方式的图1的集群的计算节点的图示。
[0005]图4是描绘了根据示例实施方式的由图1的集群的调度器对作业进行调度的流程图。
[0006]图5是根据示例实施方式的基于作业条带化的调度的图示,以及基于作业条带化的调度与基于节点打包的调度(node packing

based scheduling)的比较。
[0007]图6是描绘了根据示例实施方式的用于调度节点上的作业的处理的过程的流程图。
[0008]图7是根据示例实施方式的用于调度节点上的作业的处理的系统的示意图。
[0009]图8是根据示例实施方式的存储在非暂态存储介质上的机器可读指令的图示,该机器可读指令在由机器执行时使机器调度节点上的作业的处理。
具体实施方式
[0010]诸如高性能集群的高性能计算系统可以包含计算节点集。在此上下文中,“节点(node)”或“计算节点(compute node)”是指包括多个处理核(例如,中央处理单元(CPU)核、图形处理单元(GPU)核、现场可编程门阵列(FPGA)或其他节点加速器核)并且对应于单个操作系统(OS)实例的实体。通常,应用可以向计算系统提交称为“作业(job)”的工作单元,并且计算系统的调度器调度要由计算系统的一个或多个计算节点的处理核来执行的作业的不同部分。
[0011]根据示例实施方式,可以将每个“作业”划分为一组并行进程或“排名(rank)”。根据示例实施方式,每个排名对应于一个进程,并且对应于可以由处理核(或一组处理核)执行或处理的机器可执行指令的单元;并且作业的排名可以由分别指派给排名的处理核并行处理。作为更具体的示例,对于具有分布式存储器环境并遵守消息传递接口(MPI)协议通信标准的计算系统,作业可以是具有多个MPI排名的MPI作业。
[0012]出于将作业的排名指派或调度到处理核的目的,计算系统可以具有工作负荷调度器或“调度器”。作为示例,特定应用可以具有一组计算密集型的任务(例如,与流体动力学
计算相对应的任务),并且该应用可以将作业提交给计算系统,其中,作业的排名对应于执行这些计算密集型的任务时所涉及的不同并行进程。通常,调度器将每个排名指派给一个处理核。
[0013]在任何时候,计算系统可以正在处理多个作业;并且可以有多个作业正在等待被处理。可以将等待的作业布置在批作业队列中(例如,先进先出(FIFO)队列),其中,批作业队列具有不同的优先级。作为示例,可以在具有要在计算系统上处理的作业的客户端上执行脚本。脚本可以例如选择特定的批作业队列并将作业提交到所选的批作业队列。如本文进一步描述的,脚本还可以选择在作业调度中要由调度器使用的作业调度策略(job scheduling policy)的一个或多个偏好。对于给定的传入作业,调度器可以在考虑所请求的调度策略偏好的情况下,将特定的作业标识符(JID)指派给作业,将JID传送回客户端,并调度对作业的处理。
[0014]调度器在多个处理核上调度作业的排名,并且可以在多个计算节点上调度对排名的处理,即,一个或多个计算节点的处理核可以并行处理作业的排名。调度器可以一次调度作业组,例如存在于批作业队列中的一批作业。
[0015]出于在处于空闲或在对作业的处理开始时将要空闲的特定组计算节点上调度任务的目的,调度器可以应用作业调度策略。在此上下文中,“作业调度策略”是指调度器在将一个或多个作业的排名指派给集群的不同处理核时所应用的标准。
[0016]调度器调度一批作业以在一组计算节点上进行处理的一种可能方式是应用本文中所说的“基于节点打包的调度”。在基于节点打包的调度的情况下,目标是将作业打包在可以处理作业的最少数量的计算节点上;并且在基于节点打包的调度的情况下,可以调度每个计算节点以处理单个作业(即,每个计算节点一个作业)的排名。此外,因为作业的排名的数量可能超过每个计算节点的处理核的数量,所以基于节点打包的调度可以将单个作业指派给多个计算节点,其中,每个计算节点处理针对作业的不同组排名。
[0017]作为基于节点打包的调度的示例,如果每个计算节点有三十二个处理核,则对于具有六十四个排名的作业,调度器可以选择两个空闲的计算节点,并且可以将所有六十四个排名指派给这两个计算节点,即,调度器可以例如将三十二个排名指派给一个计算节点的三十二个处理核,并将其他三十二个排名指派给另一个计算节点的三十二个处理核。作为另一示例,如果特定作业具有四十八个排名,则根据基于节点打包的调度,调度器可以将三十二个排名指派给一个计算节点的三十二个处理核,并将其余的十六个排名指派给另一个计算节点的十六个处理核。
[0018]通常,基于节点打包的调度基于这样的前提:通过在作业的处理中最小化计算节点间的通信(即,最小化“节点外(off node)”通信)来增强作业处理性能。换言之,基于节点打包的调度假设通过将作业的排名打包到最小的计算节点集中,最大化每个计算节点上的资源(例如,存储器)的共享,这可能得到最佳的作业处理性能(例如,针对作业的整体处理时间最少)。
[0019]根据本文描述的示例实施方式,调度器使用基于作业条带化的调度。在此上下文中,“基于作业条带化的调度”是指在计算节点集上分配或“条带化”作业排名的调度,其中,该计算节点集的数量大于可以容纳对作业的排名中的所有排名的处理的最小计算节点集的数量。作为基于作业条带化的调度的结果,给定的计算节点可以同时处理多个作业的排
名。
[0020]由于在超过最小计算节点集(即,超过基于节点打包的调度所使用的最小计算节点集)的计算节点上处理排名,因此,利用基于作业条带化的调度会增加节点外通信。然而,基于作业条带化的调度具有处理性能增强因素,该处理性能增强因素可以抵消或超过由于增加的节点外通信而导致的任何处理性能损害。例如,基于作业条带化的调度导致各个计算节点各自并行处理不同作业的排名,从而增加了另外的并行度。例如,假设在同一计算节点上并行执行作业A的十六个排名和作业B的十六个排名,则与例如在计算节点上并行执行同一作业的三十个排名相比,作业A的排名相对于作业B的排名的异步性质可以导致对计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:接收在集群上处理第一作业的请求,其中,所述第一作业包括多个排名,所述集群包括多个节点,并且所述多个排名能够在所述多个节点的最小节点子集之间被平均划分,使得所述最小节点集的所有处理核对应于所述多个排名;以及响应于所述请求,调度对所述第一作业的处理,其中,对所述第一作业的处理的调度包括在所述多个节点的节点数量大于所述最小节点子集的节点集上分配对所述多个排名的处理。2.如权利要求1所述的方法,进一步包括调度对第二作业的处理,其中,对所述第二作业的处理的调度包括在所述节点集上分配对所述第二作业的多个排名的处理,其中,在相同的节点上,对所述第一作业的所述多个排名的处理与对所述第二作业的所述多个排名的处理在时间上重叠。3.如权利要求2所述的方法,其中,所述调度进一步包括使所述第一作业的所述多个排名的开始时间相对于所述第二作业的所述多个排名错开。4.如权利要求1所述的方法,其中:所述多个节点进一步包括多个非统一存储器访问(NUMA)域;并且调度对所述第一作业的处理进一步包括利用所述NUMA域中的至少一些NUMA域来分配对所述多个排名中的多个排名的处理。5.如权利要求1所述的方法,其中,所述节点集中的每个节点对应于多个操作系统实例中的不同操作系统实例。6.如权利要求1所述的方法,其中,所述调度进一步包括基于所述节点集中的在对所述第一作业的处理开始之前处于空闲的每个节点来选择用于所述调度的所述节点集。7.如权利要求1所述的方法,其中,所述第一作业是要被调度的多个作业之一,并且所述调度进一步包括:确定针对所述多个作业的第一调度策略;尝试基于所述第一调度策略来调度所述第一作业;确定所述第一作业不能根据所述第一调度策略进行调度;基于所述第一作业的特性和所述第一调度策略来确定第二调度策略;以及基于所述第二调度策略来调度所述第一作业。8.如权利要求1所述的方法,进一步包括:确定第一调度策略;以及基于观察到的所述集群的性能来修改所述第一调度策略以提供第二调度策略。9.如权利要求1所述的方法,其中,所述调度进一步包括选择所述节点集的节点数量以与用户指定的每个作业条带的节点数量的偏好一致。10.如权利要求1所述的方法,其中,所述多个节点中的每个节点包括多个中央处理单元(CPU)封装、多个图形处理单元(GPU)封装、现场可编程门阵列(FPGA)或其他节点加速器。11.如权利要求1所述的方法,其中,所述第一作业是要被调度的多个作业的一部分,并且所述方法进一步包括:基于所述集群的至少一个特性和所述多个作业的至少一个特性来确定调度策略;以及响应于所述调度策略来执行所述调度。
12.一种系统,包括:处理器;以及存储器,所述存储器用于存储指令,所述指令在由所述处理器执行时使所述处理器进行以下操作:接收在集群上处理第一作业的请求,其中,所述第一...

【专利技术属性】
技术研发人员:D
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1