1

我有一个集群,该集群主要由 CPU+GPU 节点和几个仅 CPU 节点组成。目前它们分别位于两个分区中,分别为'gpuNodes''cpuNodes'。我们的需求在增长,我们的纯 CPU 作业需要使用 CPU+GPU 节点以及纯 CPU 节点才能及时完成。我正在考虑创建一个包含来自前两个节点的节点的“全部”分区。理想情况下,我想在向 CPU+GPU 节点提交作业之前填写仅 CPU 节点。

这引出了我的问题。有没有办法为分区内的一组节点设置优先级/首选项,以便分配给分区的批处理作业首先填写首选节点?或者,如果您知道实现我的目标的更好方法,我不会设置在上面提到的“全部”分区上。

如果它有助于为我的节点命名架构,请遵循以下语法:

具有 CPU + GPU 的节点:gn001-gn100
仅具有 CPU 的节点:n001-n20

预先感谢您的帮助!

4

1 回答 1

1

这通常使用weight参数 inslurm.conf

slurm.conf 手册页

在所有条件相同的情况下,作业将被分配到满足其要求的权重最低的节点。

在你的情况下,你会设置类似

NodeName=n[001-200] ... Weight=10
NodeName=gn[001-100] ... Weight=100

不请求 GPU 的作业将首先分配 CPU-only 节点,只有当没有 CPU-only 节点时,才会分配 CPU+GPU 节点。请求 GPU 的作业当然只会分配 CPU+GPU 节点。

于 2020-06-28T20:44:58.623 回答