允许具有 运行 时间限制的作业将在指定时间结束?

Permit jobs with run time limit that will end by specified time?

我们将所有 SLURM 节点设置为 "drain" 以准备维护 windows,之后所有新作业都将保持挂起状态,直到节点恢复。不过,我们在维护 window 之前很好地完成了这项工作,因此所有 运行ning 作业都可以完成。这浪费了相当多的集群时间。有没有办法指定节点只接受带有 --time=x 参数的批处理作业,这样 job start time + x 将小于给定时间?例如,如果计划在周五晚上进行维护中断,则在周三以 --time=2-0 到达队列顶部的作业将 运行,但在周四以 --time=2-0 提交的作业则不会。

您可能应该为所有节点创建预留空间。以下命令(未经测试)应该可以解决问题

scontrol create reservation reservationname="maintenance1" start=03/31T08:00 Duration=10-00 Nodes=ALL Users=root

这将为从 3 月 31 日开始为期 10 天的所有节点创建仅供 root 使用的预留。这也是一个很好的做法,因为一旦维护完成,您就可以提交一些作业来测试集群是否按预期工作。

您可以通过以下方式删除预订:

scontrol remove reservationname="maintenance1"