📜  slurm 特定节点约束 (1)

📅  最后修改于: 2023-12-03 15:20:09.781000             🧑  作者: Mango

Slurm特定节点约束

Slurm是一个流行的开源作业调度系统,旨在管理Linux和Unix操作系统上的高性能计算群集。在Slurm中,节点可以通过各种属性进行约束,例如节点的物理特性、已经运行的作业等等,本文将重点介绍Slurm中的节点约束。

节点约束

节点约束又称为节点限制,是Slurm作业调度系统中一种定义节点访问权限的机制。节点约束在运行作业时非常有用,因为它可以让调度程序根据指定的限制约束作业在哪些节点上运行,从而有效地控制系统资源的利用。Slurm中的节点约束由大括号{}、逗号和冒号决定,基本语法如下:

{<节点名称>[,<节点名称>][:<节点数量>]}

其中,节点名称是系统中定义的节点名称,可以是单一的节点名称或者多个节点名称以逗号分隔。而节点数量则是可选项,表示在节点列表中要使用的节点数量。如果省略了节点数量,则所有满足条件的节点都可以运行作业。下面是一个例子:

{s01,s02,s03:s04}

它将选择节点s01、s02和s03,以及其中的任意一个节点(s01、s02或s03)来运行作业。

使用节点约束

要使用节点约束,可以在Slurm作业中使用--nodelist-w选项,后跟需要的节点约束。例如:

sbatch --nodelist={node1,node2,node3}[2] run.sh

这个命令将在节点列表node1、node2和node3中选取两个节点来运行作业。

节点属性

在Slurm中,还可以使用节点属性来进行约束。节点属性可以查看节点属性列表(scontrol show node)并进行设置。可以使用sinfo命令来查看所有节点的属性。属性名称和值用等号分隔。例如,查看所有节点的物理内存和状态:

sinfo -o '%R %N %m %T'

也可以使用属性名称和值来约束节点。例如,选择所有物理内存大于2G的节点:

sbatch --constraint="mem > 2000" run.sh

除了物理内存之外,还有其他的节点属性,例如CPU数量、节点类型、CPU使用率、磁盘容量等等。完整的属性列表可以在Slurm文档中找到。

结论

节点约束是Slurm中非常有用的特性,可以让调度程序更有效地利用系统资源。本文介绍了基本的节点约束语法和使用方法,并提供了一些有用的Slurm命令来快速访问节点属性。如需详细了解,请参阅Slurm官方文档。