1 votes

SLURM configuration: cons_res avec CR_Core ne peut pas allouer de ressources ou les travaux se retrouvent dans l'état CG.

Je suis nouveau sur SLURM. J'essaie de configurer slurm dans un nouveau cluster.

J'ai 4 nœuds, chacun ayant 14 cœurs. Je voulais partager les nœuds de telle manière que chaque cœur puisse exécuter indépendamment (c'est-à-dire, le noeud01 peut avoir 14 jobs séquentiels indépendants en cours en même temps), mais aucun cœur ne devrait exécuter plus d'un job. En consultant la documentation, j'ai compris que je devais définir

SelectType = select/cons_res
SelectTypeParameters = CR_CORE

Je l'ai fait dans slurm.conf et j'ai redémarré slurmctld. Mais maintenant, si je soumets un travail, soit il ne parvient pas à trouver la configuration du nœud, soit le travail se termine en état CG.

Exemple 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

Mène à:

[sr@clstr mpitests]$ sbatch -v newHello.slrm 
sbatch: options définies pour le programme `sbatch'
sbatch: ----------------- ---------------------
sbatch: utilisateur : `sr'
sbatch: uid : 1003
sbatch: gid : 1003
sbatch: répertoire de travail : /home/sr/clusterTests/mpitests
sbatch: ntasks : 4 (défini)
sbatch: nœuds : 1-1
sbatch: jobid : 4294967294 (par défaut)
sbatch: partition : par défaut
sbatch: profil : `NotSet'
sbatch: nom du travail : `newHello.slrm'
sbatch: réservation : `(null)'
sbatch: wckey : `(null)'
sbatch: distribution : inconnue
sbatch: verbose : 1
sbatch: immédiat : false
sbatch: surinvestissement : false
sbatch: limite de temps : 1
sbatch: nice : -2
sbatch: compte : (null)
sbatch: commentaire : (null)
sbatch: dépendance : (null)
sbatch: qos : (null)
sbatch: contraintes : 
sbatch: géométrie : (null)
sbatch: redémarrer : oui
sbatch: rotation : non
sbatch: réseau : (null)
sbatch: tableau : N/A
sbatch: fréq_min_cpu : 4294967294
sbatch: fréq_max_cpu : 4294967294
sbatch: gov_fréq_cpu : 4294967294
sbatch: type_mail : NONE
sbatch: utilisateur_mail : (null)
sbatch: sockets-par-noeud : -2
sbatch: cores-par-socket : -2
sbatch: threads-par-core : -2
sbatch: ntasks-par-noeud : 4
sbatch: ntasks-par-socket : -2
sbatch: ntasks-par-core : -2
sbatch: lier_mem : par défaut
sbatch: taille_plan : 4294967294
sbatch: propager : NONE
sbatch: commutateurs : -1
sbatch: waitFor-switches : -1
sbatch: core-spec : NA
sbatch: burst_buffer : `(null)'
sbatch: commande distante : `/home/sr/clusterTests/mpitests/newHello.slrm'
sbatch: puissance : 
sbatch: attendre : oui
sbatch: Consumable Resources (CR) Node Selection plugin chargé avec argument 4
sbatch: Plugin de sélection de nœud Cray chargé
sbatch: Plugin de sélection de nœud linéaire chargé avec argument 4
sbatch: Plugin de sélection de ressources de travail séquentiel chargé avec argument 4
sbatch: erreur: échec de la soumission du travail en lots : La configuration du nœud demandé n'est pas disponible

Exemple 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

Mène à:

[sr@clstr mpitests]$ sbatch -v newHello.slrm 
sbatch: options définies pour le programme `sbatch'
sbatch: ----------------- ---------------------
sbatch: utilisateur : `sr'
sbatch: uid : 1003
sbatch: gid : 1003
sbatch: répertoire de travail : /home/sr/clusterTests/mpitests
sbatch: ntasks : 1 (défini)
sbatch: nœuds : 1-1
sbatch: jobid : 4294967294 (par défaut)
sbatch: partition : par défaut
sbatch: profil : `NotSet'
sbatch: nom du travail : `newHello.slrm'
sbatch: réservation : `(null)'
sbatch: wckey : `(null)'
sbatch: distribution : inconnue
sbatch: verbose : 1
sbatch: immédiat : false
sbatch: surinvestissement : false
sbatch: limite de temps : 1
sbatch: nice : -2
sbatch: compte : (null)
sbatch: commentaire : (null)
sbatch: dépendance : (null)
sbatch: qos : (null)
sbatch: contraintes : 
sbatch: géométrie : (null)
sbatch: redémarrer : oui
sbatch: rotation : non
sbatch: réseau : (null)
sbatch: tableau : N/A
sbatch: fréq_min_cpu : 4294967294
sbatch: fréq_max_cpu : 4294967294
sbatch: gov_fréq_cpu : 4294967294
sbatch: type_mail : NONE
sbatch: utilisateur_mail : (null)
sbatch: sockets-par-noeud : -2
sbatch: cores-par-socket : -2
sbatch: threads-par-core : -2
sbatch: ntasks-par-noeud : 1
sbatch: ntasks-par-socket : -2
sbatch: ntasks-par-core : -2
sbatch: lier_mem : par défaut
sbatch: taille_plan : 4294967294
sbatch: propager : NONE
sbatch: commutateurs : -1
sbatch: waitFor-switches : -1
sbatch: core-spec : NA
sbatch: burst_buffer : `(null)'
sbatch: commande distante : `/home/sr/clusterTests/mpitests/newHello.slrm'
sbatch: puissance : 
sbatch: attendre : oui
sbatch: Consumable Resources (CR) Node Selection plugin chargé avec argument 4
sbatch: Plugin de sélection de nœud Cray chargé
sbatch: Plugin de sélection de nœud linéaire chargé avec argument 4
sbatch: Plugin de sélection de ressources de travail séquentiel chargé avec argument 4
Job en lot soumis 108

[sr@clstr mpitests]$ squeue 
             JOBID PARTITION     NOM     UTILISATEUR ST       TEMPS  NOEUDS NOEUDS(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=

Dans le cas du deuxième exemple, il reste en état CG jusqu'à ce que je réinitialise le nœud.

Si je réinitialise le slurm.conf à SelectType=select/linear, les choses se comportent normalement comme elles devraient.

Je suis perdu quant à l'endroit où je fais une erreur. Est-ce lié à la configuration de slurm, à mon script de soumission de travail slurm, ou à quelque chose d'autre entièrement.

Si quelqu'un peut me pointer dans la bonne direction, ce serait très utile.

[Remarque: Je l'ai initialement posté sur stackoverflow, mais j'ai réalisé que superuser pourrait être un meilleur forum.]

0voto

Somesh Points 11

Il semble que j'ai juste besoin de redémarrer l'ensemble du cluster! Maintenant, les travaux se comportent comme ils le devraient avec cons_res.

Cela avait probablement à voir avec des problèmes de système de fichiers comme suggéré dans la documentation slurm.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X