SLURM:如何仅在特定节点上 运行 30 个作业?

SLURM: How to run 30 jobs on particular nodes only?

您需要 运行,比如 30 s运行 个作业,但要确保每个作业都 运行 在特定节点列表(具有相同的性能,以公平地比较时间)。 你会怎么做?

我尝试了什么:

想法?

你可以反方向使用sbatch--exclude选项:

srun --exclude=machineN[4-XX] <some_cmd>

然后 slurm 将只考虑未在排除列表中列出的节点。如果列表又长又复杂,可以保存在文件中。

另一个选项 是检查 Slurm 配置是否包含“功能”和

sinfo  --format "%20N %20f"

如果 'features' 列显示每个节点具有的以逗号分隔的功能列表(可能是 CPU 家庭、网络连接类型等),您可以 select使用

具有特定特征的节点子集
srun --constraint=<some_feature> <some_cmd>

您可以使用-w 选项。它在 slurm 版本 17.11.10

中进行了测试

例如:

srun -p partition  -w node10 hostname