Etat des ressources
Partitions
La commande sinfo permet de lister l'état des partitions. L'option -s permet d'avoir une vue résumée des files d'attentes et l'option -l permet d'obtenir plus d'informations. La partition par défaut est repérée par une astérisque. Par exemple:
[user1@hpc2 ~]$ sinfo -s
PARTITION AVAIL TIMELIMIT NODES(A/I/O/T) NODELIST
normal* up 1-00:00:00 22/13/0/35 hpcnode[01-35]
long up 7-00:00:00 20/0/0/20 hpcnode[01-20]
debug up 1:00:00 0/1/0/1 hpcnode36
[user1@hpc2 ~]$ sinfo -l
Fri Aug 28 12:38:26 2020
PARTITION AVAIL TIMELIMIT JOB_SIZE ROOT OVERSUBS GROUPS NODES STATE NODELIST
normal* up 1-00:00:00 1-infinite no NO all 1 draining hpcnode20
normal* up 1-00:00:00 1-infinite no NO all 10 drained hpcnode[08-12,14-15,17-19]
normal* up 1-00:00:00 1-infinite no NO all 3 mixed hpcnode[01,05,21]
normal* up 1-00:00:00 1-infinite no NO all 21 allocated hpcnode[02,04,06-07,13,16,22-36]
normal* up 1-00:00:00 1-infinite no NO all 1 idle hpcnode03
long up 7-00:00:00 1-6 no NO all 1 draining hpcnode20
long up 7-00:00:00 1-6 no NO all 10 drained hpcnode[08-12,14-15,17-19]
long up 7-00:00:00 1-6 no NO all 3 allocated hpcnode[07,13,16]
smp up 3-00:00:00 1 no NO all 1 mixed hpcsmp01
debug up 1:00:00 1 no NO all 1 idle hpcphi01
gpu up 1-00:00:00 1-infinite no NO piaf,gpu,i 1 mixed iccfgpu01
gpu up 1-00:00:00 1-infinite no NO piaf,gpu,i 1 allocated piafgpu01
gpu up 1-00:00:00 1-infinite no NO piaf,gpu,i 2 idle hpcdgx01,hpcgpu01
fast up 2:00:00 1-infinite no NO all 9 draining hpcnode20,simatlabnode[01-02,04-06,08,10-11]
fast up 2:00:00 1-infinite no NO all 12 drained hpcnode[08-12,14-15,17-19],simatlabnode[03,07]
fast up 2:00:00 1-infinite no NO all 5 mixed hpcnode[01,05,21],hpcsmp01,iccfgpu01
fast up 2:00:00 1-infinite no NO all 23 allocated hpcnode[02,04,06-07,13,16,22-36],piafgpu01,simatlabnode09
fast up 2:00:00 1-infinite no NO all 1 idle hpcnode03
Les états les plus courants sont: idle (totalement disponible), mix (partiellement alloué), alloc (complétement alloué), down (inaccessible), drain (vidange des jobs en cours), maint (maintenance en cours).
La configuration détaillée des partitions peut être visualisée à l'aide de la commande scontrol show partition:
[user1@hpc2 ~]$ scontrol show partition normal
PartitionName=normal
AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL
AllocNodes=ALL Default=YES
DefaultTime=NONE DisableRootJobs=NO GraceTime=0 Hidden=NO
MaxNodes=UNLIMITED MaxTime=1-00:00:00 MinNodes=1 LLN=NO MaxCPUsPerNode=UNLIMITED
Nodes=hpcnode[01-12]
Priority=1 RootOnly=NO ReqResv=NO Shared=NO PreemptMode=OFF
State=UP TotalCPUs=320 TotalNodes=12 SelectTypeParameters=N/A
DefMemPerCPU=3000 MaxMemPerNode=UNLIMITED
Nœuds de calcul
La commande sinfo -Nle permet d'avoir une vision centrée sur les nœuds plutôt que sur les partitions. Cela permet de voir rapidement la configuration CPU et RAM des nœuds.
[user1@hpc2 ~]$ sinfo -Nle
Tue Apr 7 14:32:18 2015
NODELIST NODES PARTITION STATE CPUS S:C:T MEMORY TMP_DISK WEIGHT FEATURES REASON
hpcnode[01-04] 4 normal* idle 16 2:8:1 64364 0 1 noht,san none
hpcnode[05-08] 4 normal* idle 32 2:8:2 95634 0 1 ht,ivy none
hpcnode[09-10] 2 normal* mixed 32 2:8:2 129001 0 1 ht,ivy none
hpcnode[11-12] 2 normal* idle 32 2:8:2 129001 0 1 ht,ivy none
hpcphi01 1 debug idle 32 2:8:2 96695 0 1 ht,ivy,p none
Tout comme pour les partitions, la configuration détaillée d'un nœud peut être obtenue avec la commande scontrol show node. Cela permet d'avoir notamment la liste des features des nœuds. Par exemple, pour hpcnode05 (processeur Ivy Bridge avec hyperthreading):
[user1@hpc2 ~]$ scontrol show node hpcnode05
NodeName=hpcnode05 Arch=x86_64 CoresPerSocket=8
CPUAlloc=0 CPUErr=0 CPUTot=32 CPULoad=0.00 Features=ht,ivy
Gres=(null)
NodeAddr=hpcnode05 NodeHostName=hpcnode05 Version=14.11
OS=Linux RealMemory=95634 AllocMem=0 Sockets=2 Boards=1
State=IDLE ThreadsPerCore=2 TmpDisk=0 Weight=1
BootTime=2015-04-01T13:53:51 SlurmdStartTime=2015-04-01T13:54:06
CurrentWatts=0 LowestJoules=0 ConsumedJoules=0
ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s
Jobs
La commande squeue permet de lister les jobs en cours d'exécution. La colonne ST permet notamment de connaitre l'état du job: R (Running), PD (Pending), S (Suspended), F (Failed), CD (Completed) entre autres.
Dans l'exemple suivant, il y a un job en cours d'exécution sur 4 nœuds et un job en attente de ressources:
[user1@hpc2 ~]$ squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
460 normal ray_vird user1 PD 0:00 2 (Resources)
455 long ray_k30_ user2 R 22:15:20 4 hpcnode[09-12]
Le détail d'un job est obtenu avec la commande scontrol show job. Dans l'exemple précédent, on peut voir que le job 460 a demandé explicitement des nœuds (cf. attribut ReqNodeList) qui sont déjà alloués au job 455:
[user1@hpc2 ~]$ scontrol show job 460
JobId=460 JobName=ray_virdna1004_new.sh
UserId=user1(5000) GroupId=infra(5000)
Priority=3230 Nice=0 Account=infra QOS=normal
JobState=PENDING Reason=Resources Dependency=(null)
Requeue=1 Restarts=0 BatchFlag=1 Reboot=0 ExitCode=0:0
RunTime=00:00:00 TimeLimit=1-00:00:00 TimeMin=N/A
SubmitTime=2015-04-10T13:58:26 EligibleTime=2015-04-10T13:58:26
StartTime=2015-04-12T15:43:08 EndTime=Unknown
PreemptTime=None SuspendTime=None SecsPreSuspend=0
Partition=normal AllocNode:Sid=hpc2:1019
ReqNodeList=hpcnode[09-10] ExcNodeList=(null)
NodeList=(null)
NumNodes=2 NumCPUs=16 CPUs/Task=1 ReqB:S:C:T=0:0:*:*
Socks/Node=* NtasksPerN:B:S:C=0:0:*:1 CoreSpec=*
MinCPUsNode=1 MinMemoryCPU=4000M MinTmpDiskNode=0
Features=(null) Gres=(null) Reservation=(null)
Shared=OK Contiguous=0 Licenses=(null) Network=(null)
Command=/home/user1/tests/ray/ray_virdna1004_new.sh
WorkDir=/home/user1/tests/ray
StdErr=/home/user1/tests/ray/slurm-460.out
StdIn=/dev/null
StdOut=/home/user1/tests/ray/slurm-460.out
Pour avoir des informations comptables sacct :
sur tous les jobs lancés à compter d'une date pour un utilisateur :
[user1@hpc2 ~]$ sacct -u user1 --format=JobID,JobName,MaxRSS,Elapsed -S 2021-01-18
ou bien sur l'exécution d'un job particulier :
[user1@hpc2 ~]$ sacct -a -o JobID,State,ReqCPUS,ReqMem,Elapsed,CPUTime,MaxRSS,Start,Partition -j 32191
JobID State ReqCPUS ReqMem Elapsed CPUTime MaxRSS Start Partition
------------ ---------- -------- ---------- ---------- ---------- ---------- ------------------- ----------
32191 COMPLETED 1 10000Mn 00:00:25 00:00:50 2021-01-11T13:45:28 normal
32191.ba+ COMPLETED 2 10000Mn 00:00:25 00:00:50 1628K 2021-01-11T13:45:28