在 SLURM 中设置 SJF

Setting up SJF in SLURM

我是 SLURM 的新手,正在尝试寻找配置,以便作业的优先级与作业完成时间成反比。换句话说,最短的工作应该有更多的优先权。我查看了文档,但没有发现任何有用的信息。我发现我可以根据几个参数设置 QOS,但这不包括作业 运行 时间。

如果有人能指导我就太好了。

谢谢

如果您使用的是 PriorityType=priority/multifactor 插件,则没有与(请求的)作业持续时间直接相关的因素,但 JobSize 因素 can be set

based upon not the job size alone, but the job's size divided by it's time limit.

通过设置 SMALL_RELATIVE_TO_TIME 标志。确保 PriorityWeightAge 为正,并且 PriorityFavorSmall 根据您的用例正确设置。

另一种选择是创建一个提供优先级提升但 imposes a smaller maximum wall time 的 QOS(查找 GrpWallMaxWallDurationPerJob 选项)。在这种情况下,要么让用户在提交时请求 QOS,要么编写一个 job_submit 插件,在请求的挂起时间低于限制时添加 QOS。