Slurm Partition 使用

发布时间: 更新时间: 总字数:1289 阅读时间:3m 作者:IP:上海 网址
专栏文章
  1. Slurm 开发
  2. Slurm rpmbuild
  3. Slurm 相关术语
  4. Slurm QoS 使用
  5. Slurm Job
  6. Slurm Partition 使用(当前)
  7. Slurm REST API 使用
  8. Slurm scontrol 命令
  9. Slurm sacct/sacctmgr 命令
  10. Slurm 命令使用说明
  11. Slurm sreport 命令
  12. Slurm FaQ
  13. Slurm 安装部署

Slurm Partition 介绍

参数解释

查看作业队列配置

bash
$ scontrol show partition
PartitionName=normal
   AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL
   AllocNodes=ALL Default=NO QoS=N/A
   DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO GraceTime=0 Hidden=NO
   MaxNodes=UNLIMITED MaxTime=1-00:00:00 MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED
   Nodes=c[1-3]
   PriorityJobFactor=1 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO
   OverTimeLimit=NONE PreemptMode=GANG,REQUEUE
   State=UP TotalCPUs=96 TotalNodes=3 SelectTypeParameters=NONE
   JobDefaults=(null)
   DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED

参数含义:

  • PartitionName:队列名
  • AllowGroups:允许的用户组
  • AllowAccounts:允许的账户/项目(Slurm Account,非用户)
  • AllowQos:允许的 QoS
  • AllocNodes:允许的节点
  • Default:是否为默认队列
  • QoS:服务质量。用于扩展对分区上的 QoS 可用的限制。作业关联到此分区时才关联此 QOS。默认情况,分区不使用 QOS。见:Slurm QoS
  • DefaultTime:作业运行的时间限制,如果没指定,则使用 MaxTime 的值
  • DisableRootJobs:是否禁止 root 用户提交作业,设置为 YES 则禁止 root 用户在此分区执行 job,默认是 NO
  • ExclusiveUser:是否启用用户节点独占(设置为 YES 时,节点同一时间只允许分配给单一用户,禁止与其他用户共享节点)
  • GraceTime:抢占的宽限时间,单位秒
  • Hidden:是否为隐藏队列
  • MaxNodes:最大节点数
  • MaxTime:最大运行时间
  • MinNodes:最小节点数
  • LLN:是否按照最小负载节点调度。根据空闲 cpu 的数量,将资源调度到负载最小的节点上。这通常只建议在有串行(serial)作业的环境中使用,因为空闲资源往往是高度碎片化的,导致并行作业分布在许多节点上。注意,节点权重优先于每个节点上的空闲资源数量。还请参阅 SelectParameters 配置参数 CR_LLN,以便在每个分区中使用负载最小的节点
  • MaxCPUsPerNode:每个节点的最大 CPU 颗数
  • Nodes:节点名
  • PriorityJobFactor:作业因子优先级
  • PriorityTier:调度优先级。在 PriorityTier 值较低的分区中挂起作业之前,调度程序将对提交到具有较高 PriorityTier 值的分区中的作业进行评估。如果 PreemptType=preempt/partition_prio ,它们也将被考虑用于抢占优先级较低的分区中运行的作业。最大值是 65533
  • RootOnly:是否只允许 Root
  • ReqResv:要求预留的资源
  • OverSubscribe:是否允许超用
  • PreemptMode:是否为抢占模式
  • State:状态:
    • UP:可用,作业可以提交到此队列,并将运行
    • DOWN:作业可以提交到此队列,但作业也许不会获得分配开始运行。已运行的作业还将继续运行
    • DRAIN:不接受新作业,已接受的作业可以被运行
    • INACTIVE:不接受新作业,已接受的作业未开始运行的也不运行
  • TotalCPUs:总 CPU 核数
  • TotalNodes:总节点数
  • SelectTypeParameters:资源选择类型参数
  • DefMemPerNode:每个节点默认分配的内存大小,单位 MB
  • MaxMemPerNode:每个节点最大内存大小,单位 MB
  • DefMemPerCPU:每个分配的 CPU 可用的默认实际内存大小(以兆字节为单位),用于避免过度订阅内存和导致分页。如果将单个处理器分配给作业,通常会使用 DefMemPerCPU

其他命令

bash
# 更新,说明:slurm 配置 AllowAccounts 时,需要使用小写、_ 的命名规则,若使用大写,重启会自动变成小写
$ scontrol update PartitionName=<Partition-name> AllowAccounts=<account1,account2,...>

FaQ

AllowAccounts, AllowGroups, and AllowQos

  • slurm user vs accounts : https://wiki.fysik.dtu.dk/niflheim/Slurm_accounting
  • Not formally defined in the Slurm documentation, but see the accounting page for examples.
  • An account is similar to a UNIX group.
  • An account may contain multiple users, or just a single user.
  • Accounts may be organized as a hierarchical tree.
  • A user may belong to multiple accounts, but must have a DefaultAccount (see sacctmgr).