Slurm 配置问题:运行进程会阻塞整个节点的核心而不是分配的核心

问题描述 投票:0回答:1

我在分布式计算环境中配置 Slurm 时遇到问题。当我启动一个只应使用 4 个核心的进程时,它最终会阻塞节点上的所有 128 个可用核心,从而阻止我将它们用于其他任务。

我的 Slurm 配置包括使用 --nodes、--ntasks 和 --cpus-per-task 等指令进行资源分配。尽管如此,该进程似乎占用了节点上的所有核心,而不是遵守特定的分配。

关于为什么会发生这种情况的任何想法,或者我应该注意的任何其他配置,以防止进程占用节点上的所有核心?

我感谢任何解决此问题的指导或建议。谢谢!

parallel-processing slurm hpc sbatch
1个回答
0
投票

发生这种情况的两个主要原因通常是 (a) 您隐式/不知不觉地请求计算节点的所有资源,或者 (b) 集群配置为不共享计算节点。

关于 (a),通常,内存需求是罪魁祸首。如果集群或分区配置了

DefMemPerCPU
DefMemPerNode
并且您没有在提交脚本中覆盖它,您将阻止其他作业使用该节点。还要确保您的环境不包含影响资源分配的变量,例如
$SBATCH_EXCLUSIVE

关于(b),请检查

SelectType
不是
select/linear
并且分区配置没有
OverSubscribe=EXCLUSIVE
。如果设置了其中一个,则节点在作业之间不可共享。

© www.soinside.com 2019 - 2024. All rights reserved.