我正在管理一个 PBS/torque HPC 集群,现在我正在使用SLURM设置另一个集群。在 PBS 集群上,我可以设置一个队列以仅接受交互式作业,qmgr -c "set queue interactive_q disallowed_types = batch"
并仅接受批处理作业qmgr -c "set queue cu disallowed_types = interactive"
。
但是,在浏览官方 SLURM 文档后,我找不到与 SLURM 等效的设置。
如何在 SLURM 集群上设置分区以仅接受交互式或批处理作业?
从 Slurm 20 开始,没有任何直接的方法可以将交互式作业与分区中的批处理作业分开。
但是,可以使用可以通过多种方式区分两者的作业提交插件;批处理作业有一个与之关联的作业脚本(
job_desc.script
在Lua中),而交互式作业则没有。一些交互式作业有PTY。我认为 Slurm 20 中也可能有一个新的标志集。一旦作业提交插件将作业识别为交互式或批处理作业,它可以拒绝给定分区的作业,也可以更改要发送到的分区,或者以其他适当的方式修改作业(例如在最终提交之前为其分配“交互式”许可证或更改 QOS)。
如果您修改作业,那么额外的 Slurm 配置可能会影响基于此的作业。