wiki:comandos_básicos_slurm

Version 2 (modified by tonin, 2 years ago) (diff)

--

Comandos básicos de slurm

Los comandos de slurm que usará con más asiduidad son realmente muy pocos, principalmente:

  • sinfo: Le mostrará información sobre el estado de las particiones y nodos de slurm, con una salida como esta:
    [root@admin01 etc]# sinfo
    PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
    normal*      up   infinite      5  down* x440-[20-24]
    normal*      up   infinite     19   idle x440-[01-19]
    fat          up   infinite      1   idle x808
    
    En ella puede ver que existen dos particiones (normal y fat), que la partición normal consta de 24 nodos de los cuales 5 están caidos y 19 en estado de espera para recibir trabajos. También hay una partición llamada fat con un solo nodo en estado de espera. Si un usuario envía un trabajo que tiene 140 procesos que ocupan un solo core, y teniendo en cuenta que los nodos de la partición normal disponen de 40 cores, la salida de sinfo durante la ejecución será esta:
    [root@admin01 etc]# sinfo
    PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
    normal*      up   infinite      5  down* x440-[20-24]
    normal*      up   infinite      1    mix x440-04
    normal*      up   infinite      3  alloc x440-[01-03]
    normal*      up   infinite     15   idle x440-[05-19]
    fat          up   infinite      1   idle x808
    
    Como se puede ver hay 3 nodos (del x440-01 al x440-03) totalmente asignados y el nodo x440-04 en estado mix que indica que aún ejecutando procesos tiene recursos libres para ejecutar más. El resto de nodos se encuentran en el mismo estado que en el ejemplo anterior.
  • sbatch: Encola un script slurm. Es el comando básico para enviar trabajos a la cola y su uso es tan simple como teclear sbatch mi_fichero.slurm, realmente las instrucciones y opciones estarán en el fichero .slurm. Si el lanzamiento es correcto, nos devuelve el identificador de nuestro trabajo que es importante para otras operaciones.
    (base) [tonin@admin01 slurm-tests]$ sbatch h7.slurm 
    Submitted batch job 5351
    
  • scancel: Cancela un trabajo de la cola. Lógicamente un usuario normal solo puede cancelar los trabajos que haya mandado él mismo. La sintaxis es scancel job-id donde job-id es precisamente el número que nos devolvió el comando sbatch al lanzarlo previamente. La cancelación de un trabajo implica no solo que salgan de la cola de slurm aquellos procesos que no se hayan iniciado áun, sino que también termina todos los procesos en ejecución relativos a la tarea.
  • squeue: Consulta el estado de la cola de slurm. Si se invoca sin ningún argumento muestra todos los procesos de la cola. Es importante tener en cuenta que squeue muestra procesos y no trabajos, luego si un trabajo consta de 100 procesos, nos aparecerán las 100 líneas. La salida para un trabajo que conste de 10 procesos podría ser como esta:
    (base) [tonin@admin01 slurm-tests]$ squeue 
                 JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
                5641_1    normal    hello    tonin  R       0:03      1 x440-01
                5641_2    normal    hello    tonin  R       0:03      1 x440-01
                5641_3    normal    hello    tonin  R       0:03      1 x440-01
                5641_4    normal    hello    tonin  R       0:03      1 x440-01
                5641_5    normal    hello    tonin  R       0:03      1 x440-01
                5641_6    normal    hello    tonin  R       0:03      1 x440-01
                5641_7    normal    hello    tonin  R       0:03      1 x440-01
                5641_8    normal    hello    tonin  R       0:03      1 x440-01
                5641_9    normal    hello    tonin  R       0:03      1 x440-01
               5641_10    normal    hello    tonin  R       0:03      1 x440-01