1

Я новичок в SLURM. Я пытаюсь настроить slurm в новом кластере.

У меня есть 4 узла, каждый имеет 14 ядер. Я хотел разделить узлы таким образом, чтобы каждое ядро могло работать независимо (т. Е. Узел 01 может иметь одновременно 14 независимых последовательных заданий), но ни одно ядро не должно запускать более одного задания. Просматривая документацию, я решил, что мне нужно установить

SelectType              = select/cons_res
SelectTypeParameters    = CR_CORE

Я сделал это в slurm.conf и перезапустил slurmctld . Но теперь, если я отправляю задание, я получаю либо он не может найти конфигурацию узла, либо задание заканчивается в состоянии CG.

Пример 1:

 [sr@clstr mpitests]$ cat newHello.slrm 
#!/bin/sh
#SBATCH --time=00:01:00
#SBATCH -N 1
#SBATCH --ntasks=4
#SBATCH --ntasks-per-node=4

module add shared openmpi/gcc/64 slurm

module load somesh/scripts/1.0

mpirun helloMPIf90

Приводит к:

[sr@clstr mpitests]$ sbatch -v newHello.slrm 
sbatch: defined options for program `sbatch'
sbatch: ----------------- ---------------------
sbatch: user              : `sr'
sbatch: uid               : 1003
sbatch: gid               : 1003
sbatch: cwd               : /home/sr/clusterTests/mpitests
sbatch: ntasks            : 4 (set)
sbatch: nodes             : 1-1
sbatch: jobid             : 4294967294 (default)
sbatch: partition         : default
sbatch: profile           : `NotSet'
sbatch: job name          : `newHello.slrm'
sbatch: reservation       : `(null)'
sbatch: wckey             : `(null)'
sbatch: distribution      : unknown
sbatch: verbose           : 1
sbatch: immediate         : false
sbatch: overcommit        : false
sbatch: time_limit        : 1
sbatch: nice              : -2
sbatch: account           : (null)
sbatch: comment           : (null)
sbatch: dependency        : (null)
sbatch: qos               : (null)
sbatch: constraints       : 
sbatch: geometry          : (null)
sbatch: reboot            : yes
sbatch: rotate            : no
sbatch: network           : (null)
sbatch: array             : N/A
sbatch: cpu_freq_min      : 4294967294
sbatch: cpu_freq_max      : 4294967294
sbatch: cpu_freq_gov      : 4294967294
sbatch: mail_type         : NONE
sbatch: mail_user         : (null)
sbatch: sockets-per-node  : -2
sbatch: cores-per-socket  : -2
sbatch: threads-per-core  : -2
sbatch: ntasks-per-node   : 4
sbatch: ntasks-per-socket : -2
sbatch: ntasks-per-core   : -2
sbatch: mem_bind          : default
sbatch: plane_size        : 4294967294
sbatch: propagate         : NONE
sbatch: switches          : -1
sbatch: wait-for-switches : -1
sbatch: core-spec         : NA
sbatch: burst_buffer      : `(null)'
sbatch: remote command    : `/home/sr/clusterTests/mpitests/newHello.slrm'
sbatch: power             : 
sbatch: wait              : yes
sbatch: Consumable Resources (CR) Node Selection plugin loaded with argument 4
sbatch: Cray node selection plugin loaded
sbatch: Linear node selection plugin loaded with argument 4
sbatch: Serial Job Resource Selection plugin loaded with argument 4
sbatch: error: Batch job submission failed: Requested node configuration is not available

Пример 2:

[sr@clstr mpitests]$ cat newHello.slrm 
#!/bin/sh
#SBATCH --time=00:01:00
#SBATCH -N 1
#SBATCH --ntasks=1
#SBATCH --ntasks-per-node=1

module add shared openmpi/gcc/64 slurm

module load somesh/scripts/1.0

helloMPIf90

Приводит к:

[sr@clstr mpitests]$ sbatch -v newHello.slrm 
sbatch: defined options for program `sbatch'
sbatch: ----------------- ---------------------
sbatch: user              : `sr'
sbatch: uid               : 1003
sbatch: gid               : 1003
sbatch: cwd               : /home/sr/clusterTests/mpitests
sbatch: ntasks            : 1 (set)
sbatch: nodes             : 1-1
sbatch: jobid             : 4294967294 (default)
sbatch: partition         : default
sbatch: profile           : `NotSet'
sbatch: job name          : `newHello.slrm'
sbatch: reservation       : `(null)'
sbatch: wckey             : `(null)'
sbatch: distribution      : unknown
sbatch: verbose           : 1
sbatch: immediate         : false
sbatch: overcommit        : false
sbatch: time_limit        : 1
sbatch: nice              : -2
sbatch: account           : (null)
sbatch: comment           : (null)
sbatch: dependency        : (null)
sbatch: qos               : (null)
sbatch: constraints       : 
sbatch: geometry          : (null)
sbatch: reboot            : yes
sbatch: rotate            : no
sbatch: network           : (null)
sbatch: array             : N/A
sbatch: cpu_freq_min      : 4294967294
sbatch: cpu_freq_max      : 4294967294
sbatch: cpu_freq_gov      : 4294967294
sbatch: mail_type         : NONE
sbatch: mail_user         : (null)
sbatch: sockets-per-node  : -2
sbatch: cores-per-socket  : -2
sbatch: threads-per-core  : -2
sbatch: ntasks-per-node   : 1
sbatch: ntasks-per-socket : -2
sbatch: ntasks-per-core   : -2
sbatch: mem_bind          : default
sbatch: plane_size        : 4294967294
sbatch: propagate         : NONE
sbatch: switches          : -1
sbatch: wait-for-switches : -1
sbatch: core-spec         : NA
sbatch: burst_buffer      : `(null)'
sbatch: remote command    : `/home/sr/clusterTests/mpitests/newHello.slrm'
sbatch: power             : 
sbatch: wait              : yes
sbatch: Consumable Resources (CR) Node Selection plugin loaded with argument 4
sbatch: Cray node selection plugin loaded
sbatch: Linear node selection plugin loaded with argument 4
sbatch: Serial Job Resource Selection plugin loaded with argument 4
Submitted batch job 108

[sr@clstr mpitests]$ squeue 
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
               108      defq newHello     sr CG       0:01      1 node001

[sr@clstr mpitests]$ scontrol show job=108
JobId=108 JobName=newHello.slrm
   UserId=sr(1003) GroupId=sr(1003) MCS_label=N/A
   Priority=4294901756 Nice=0 Account=(null) QOS=normal
   JobState=COMPLETING Reason=NonZeroExitCode Dependency=(null)
   Requeue=1 Restarts=0 BatchFlag=1 Reboot=0 ExitCode=1:0
   RunTime=00:00:01 TimeLimit=00:01:00 TimeMin=N/A
   SubmitTime=2017-03-03T18:25:51 EligibleTime=2017-03-03T18:25:51
   StartTime=2017-03-03T18:26:01 EndTime=2017-03-03T18:26:02 Deadline=N/A
   PreemptTime=None SuspendTime=None SecsPreSuspend=0
   Partition=defq AllocNode:Sid=clstr:20260
   ReqNodeList=(null) ExcNodeList=(null)
   NodeList=node001
   BatchHost=node001
   NumNodes=1 NumCPUs=1 NumTasks=1 CPUs/Task=1 ReqB:S:C:T=0:0:*:*
   TRES=cpu=1,node=1
   Socks/Node=* NtasksPerN:B:S:C=1:0:*:* CoreSpec=*
   MinCPUsNode=1 MinMemoryNode=0 MinTmpDiskNode=0
   Features=(null) Gres=(null) Reservation=(null)
   OverSubscribe=OK Contiguous=0 Licenses=(null) Network=(null)
   Command=/home/sr/clusterTests/mpitests/newHello.slrm
   WorkDir=/home/sr/clusterTests/mpitests
   StdErr=/home/sr/clusterTests/mpitests/slurm-108.out
   StdIn=/dev/null
   StdOut=/home/sr/clusterTests/mpitests/slurm-108.out
   Power=

В случае второго примера, он остается в состоянии CG, пока я не сброслю узел.

Если я сбрасываю slurm.conf в SelectType=select/linear , все ведет себя нормально, как и должно.

Я в недоумении относительно того, где я делаю ошибку. Это связано с настройкой slurm, или с моим сценарием отправки задания slurm, или с чем-то еще целиком.

Если кто-то может указать мне правильное направление, это было бы очень полезно.

[Примечание: я первоначально разместил его в stackoverflow, но понял, что superuser может быть лучшим форумом.]

1 ответ1

0

Похоже, мне просто нужно перезагрузить весь кластер! Теперь рабочие места ведут себя как надо с cons_res .

Это, вероятно, связано с проблемами с файловой системой, как это предлагается в документации по слерму.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .