了解回填

回填有助于最大程度地提高群集利用率和吞吐量,方法是允许在队列前面的等待作业之前运行较小的作业,前提是前端的作业不会因此延迟。 HPC 作业计划程序服务在尝试利用资源进行回填之前,将正在运行的作业增加到其请求的最大资源。 有关如何更改配置选项的信息,请参阅 配置 HPC 作业计划程序服务

默认情况下启用回填,回填看起来 设置为 1000 个作业。 回填查找设置确定 HPC 作业计划程序服务搜索的作业数,以查找可在计划中填补空白的作业。 以下配置选项允许修改或禁用回填:

  • 允许从队列的一部分进行回填(在指定的回填查找中)

  • 允许从整个队列进行回填

  • 不允许回填

注意

仅当提交到群集的作业指定了最长运行时时,回填才有效。

可以使用作业模板定义所有作业的最大运行时。 例如,可以分别创建一系列名为 BigJob、MediumJob 和 SmallJob 的作业模板,其最大运行时间分别为一天、一小时和一分钟。 有关详细信息,请参阅 作业模板

还可以编写一个作业提交筛选器,用于检查运行时作业属性是否未设置为无限。 有关详细信息,请参阅 了解激活和提交筛选器

回填的工作原理

当作业到达队列的顶部时,可能无法使用足够数量的节点来满足其最低核心要求。 发生这种情况时,作业将保留立即可用的任何节点,并等待当前正在运行的作业完成。

然后,回填会利用保留的空闲节点,如下所示:

  1. 根据为当前运行的作业指定的运行时,将建立等待作业的开始时间。

  2. 开始时间用于定义节点 (n) x 时间 (t) 回填窗口。 例如,15 分钟空闲的四个节点将创建 4 x 15 回填窗口。

  3. HPC 作业计划程序服务在队列中搜索可在回填窗口中完成的第一个作业。 例如,需要至少 8 个核心(假设双核节点)且运行时间为 10 分钟的作业完全适合 4 x 15 窗口。

  4. 如果找到适合窗口的作业,则会在等待队列顶部的作业之前激活并运行该作业。

其他参考