Slurm学习笔记

Posted 静待花开s0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Slurm学习笔记相关的知识,希望对你有一定的参考价值。

Slurm学习笔记(二)

上文:https://eternal-sun.blog.csdn.net/article/details/112208409

一、查看队列详细信息

scontrol show partition显示全部队列信息,scontrol show partition PartitionName scontrol show partition=PartitionName显示队列名PartitionName的队列信息,输出类似:

 

PartitionName=debug

  AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL

  AllocNodes=ALL Default=YES QoS=N/A

  DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO GraceTime=0 Hidden=NO

  MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED

  Nodes=gpu01,gpu02,gpu03,gpu04,gpu05,gpu06

  PriorityJobFactor=1 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO

  OverTimeLimit=NONE PreemptMode=OFF

  State=UP TotalCPUs=164 TotalNodes=6 SelectTypeParameters=NONE

  JobDefaults=(null)

  DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED

其主要输出项如下:

• PartitionName:队列名。                    

• AllowGroups:允许的用户组。           

• AllowAccounts:允许的用户。            

• AllowQos:允许的QoS             

• AllocNodes:允许的节点。             

 • Default:是否为默认队列。        

• QoS:服务质量。             

• DefaultTime:默认时间。             

• DisableRootJobs:是否禁止root用户提交作业。             

• ExclusiveUser:排除的用户。            

• GraceTime:抢占的款显时间,单位秒。        

• Hidden:是否为隐藏队列。          

• MaxNodes:最大节点数。           

• MaxTime:最大运行时间。          

• MinNodes:最小节点数。             

• LLN:是否按照最小负载节点调度。         

• MaxCPUsPerNode:每个节点的最大CPU颗数。            

• Nodes:节点名。             

• PriorityJobFactor:作业因子优先级。             

• PriorityTier:调度优先级。           

• RootOnly:是否只允许Root           

• ReqResv:要求预留的资源。      

• OverSubscribe:是否允许超用。              

• PreemptMode:是否为抢占模式。

• State:状态:

       – UP:可用,作业可以提交到此队列,并将运行。                     

– DOWN:作业可以提交到此队列,但作业也许不会获得分配开始运行。已运行的作业还将继续运行。                            

– DRAIN:不接受新作业,已接受的作业可以被运行。                    

– INACTIVE:不接受新作业,已接受的作业未开始运行的也不运行。  

• TotalCPUs:总CPU核数。        

• TotalNodes:总节点数。             

• SelectTypeParameters:资源选择类型参数。            

• DefMemPerNode:每个节点默认分配的内存大小,单位MB           

• MaxMemPerNode:每个节点最大内存大小,单位MB

二、查看节点详细信息

scontrol show node显示全部节点信息,scontrol show node NODENAME scontrol show node=NODENAME显示节点名NODENAME的节点信息,输出类似:

NodeName=gpu01 Arch=x86_64 CoresPerSocket=10

  CPUAlloc=1 CPUTot=20 CPULoad=4.81

  AvailableFeatures=(null)

  ActiveFeatures=(null)

  Gres=gpu:6

  NodeAddr=gpu01 NodeHostName=gpu01

  OS=Linux 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017

  RealMemory=257408 AllocMem=0 FreeMem=957 Sockets=2 Boards=1

  State=MIXED ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A

  Partitions=debug

  BootTime=2020-04-28T16:36:40 SlurmdStartTime=2020-09-09T11:12:51

  CfgTRES=cpu=20,mem=257408M,billing=20

  AllocTRES=cpu=1

  CapWatts=n/a

  CurrentWatts=0 AveWatts=0

  ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s

其主要输出项如下:

• NodeName:节点名。

• Arch:系统架构。

• CoresPerSocket12

• CPUAlloc:分配给的CPU核数。

• CPUErr:出错的CPU核数。

• CPUTot:总CPU核数。

• CPULoadCPU负载。

• AvailableFeatures:可用特性。

• ActiveFeatures:激活的特性。

• Gres:通用资源。如上面Gres=gpu:v100:2指明了有两块V100 GPU

• NodeAddr:节点IP地址。

• NodeHostName:节点名。

• VersionSlurm版本。

• OS:操作系统。 • RealMemory:实际物理内存,单位GB

• AllocMem:已分配内存,单位GB

• FreeMem:可用内存,单位GB

• SocketsCPU颗数。

• Boards:主板数。

• State:状态。

• ThreadsPerCore:每颗CPU核线程数。

• TmpDisk:临时存盘硬盘大小。

• Weight:权重。

• BootTime:开机时间。

• SlurmdStartTimeSlurmd守护进程启动时间

更多信息参见:https://slurm.schedmd.com/scontrol.html

三、查看作业详细信息

 

scontrol show job显示全部作业信息,scontrol show job JOBIDscontrol show job=JOBID 示作业号为JOBID的作业信息,输出类似下面:

JobId=918 JobName=bash

  UserId=sunyuming-slurm(11157) GroupId=sunyuming-slurm(11157) MCS_label=N/A

  Priority=4294901738 Nice=0 Account=test QOS=normal

  JobState=RUNNING Reason=None Dependency=(null)

  Requeue=1 Restarts=0 BatchFlag=0 Reboot=0 ExitCode=0:0

  RunTime=01:01:56 TimeLimit=UNLIMITED TimeMin=N/A

  SubmitTime=2020-09-21T09:42:45 EligibleTime=2020-09-21T09:42:45

  AccrueTime=Unknown

  StartTime=2020-09-21T09:42:45 EndTime=Unknown Deadline=N/A

  SuspendTime=None SecsPreSuspend=0 LastSchedEval=2020-09-21T09:42:45

  Partition=debug AllocNode:Sid=gpu01:44730

  ReqNodeList=(null) ExcNodeList=(null)

  NodeList=gpu01

  BatchHost=gpu01

  NumNodes=1 NumCPUs=1 NumTasks=1 CPUs/Task=1 ReqB:S:C:T=0:0:*:*

  TRES=cpu=1,node=1,billing=1

  Socks/Node=* NtasksPerN:B:S:C=0:0:*:* CoreSpec=*

  MinCPUsNode=1 MinMemoryNode=0 MinTmpDiskNode=0

  Features=(null) DelayBoot=00:00:00

  OverSubscribe=OK Contiguous=0 Licenses=(null) Network=(null)

  Command=(null)

  WorkDir=/data/sunyuming-slurm

  Power=

其主要输出项如下:

• JobId:作业号。

• JobName:作业名。

• UserId:用户名(用户ID)。

• GroupId:用户组(组ID)。

• MCS_label:。

• Priority:优先级,越大越优先,如果为0则表示被管理员挂起,不允许运行。

• NiceNice值,越小越优先,­2019

• Account:记账用户名。

• QOS:作业的服务质量。

• JobState:作业状态。

       – PENDING:排队中。            

– RUNNING:运行中。            

– CANCELLED:已取消。             

– CONFIGURING:配置中。        

– COMPLETING:完成中。          

– COMPLETED:已完成。            

– FAILED:已失败。         

– TIMEOUT:超时。          

– NODE FAILURE:节点失效。           

– SPECIAL EXIT STATE:特殊退出状态。

• Reason:原因。

• Dependency:依赖关系。

• Requeue:节点失效时,是否重排队,0为否,1为是。

• Restarts:失败时,是否重运行,0为否,1为是。

• BatchFlag:是否为批处理作业,0为否,1为是。

• Reboot:节点空闲时是否重启节点,0为否,1为是。

• ExitCode:作业退出代码。

• RunTime:已运行时间。

• TimeLimit:作业允许的剩余运行时间。

• TimeMin:最小时间。

• SubmitTime:提交时间。

• EligibleTime:获得认可时间。

• StartTime:开始运行时间。

• EndTime:预计结束时间。

• Deadline:截止时间。

• PreemptTime:先占时间。

• SuspendTime:挂起时间。

• SecsPreSuspend0

• Partition:队列名。

• AllocNode:Sid:分配的节点:系统ID号。

• ReqNodeList:去要的节点列表。

• ExcNodeList:排除的节点列表。

• NodeList:实际运行节点列表。

• BatchHost:批处理节点名。

• NumNodes:节点数。

• NumCPUsCPU核数。

• NumTasks:任务数。

• CPUs/TaskCPU核数/任务数。

• ReqB:S:C:T:所需的主板数:每主板CPU颗数:每颗CPU核数:每颗CPU核的线程数,<baseboard_count>:<socket_per_baseboard_count>:<core_per_socket_count>:<thread_per_core_count>

• TRES:显示分配给作业的可被追踪的资源。

• Socks/Node:每节点CPU颗数。

• NtasksPerN:B:S:C:每主板数:每主板CPU颗数:每颗CPU的核数:每颗CPU核的线程数启动的作业数,<tasks_per_node>:<tasks_per_baseboard>:<tasks_per_socket>:<tasks_per_core>

• CoreSpec:各节点系统预留的CPU核数,如未包含,则显示*

• MinCPUsNode:每节点最小CPU核数。

• MinMemoryNode:每节点最小内存大小,0表示未限制。

• MinTmpDiskNode:每节点最小临时存盘硬盘大小,0表示未限制。

• Features:特性。

• Gres:通用资源。 • Reservation:预留资源。

• OverSubscribe:是否允许与其它作业共享资源,OK允许,NO不允许。

• Contiguous:是否要求分配连续节点,OK是,NO否。

• Licenses:软件授权。

• Network:网络。

• Command:作业命令。

• WorkDir:工作目录。

• StdErr:标准出错输出文件。

• StdIn:标准输入文件。

• StdOut:标准输出文件。

更多信息参见:https://slurm.schedmd.com/scontrol.html

 

以上是关于Slurm学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

当程序在 SLURM 集群上学习时收到 TIME LIMIT 时保存模型权重

如何使用同一个 GPU 设备在 SLURM 中定义多个 gres 资源?

php学习笔记-php中把浮点数转化为整数

Java学习笔记——标识符数据类型浮点数字符型布尔型类型转换

Python学习笔记1——Python基础

Python第一周 学习笔记_待补充