Introducció a SLURM

Conceptes Bàsics

SLURM utilitza diversos conceptes clau per gestionar els recursos del clúster:

  • Node: Un node és una unitat computacional individual al clúster, que pot tenir múltiples CPUs i memòria associada.

  • Cua de Treballs: SLURM allotja treballs en cues, proporcionant una forma d’ordenar la prioritat d’execució i accedir als recursos del clúster.

  • Partició: Una partició és una divisió lògica del clúster que permet especificar el tipus de recursos que necessiten. Generalment estan organitzades per tipus de recurs associat.

Importància de SLURM

SLURM és fonamental per a l’ús eficient del clúster de càlcul. Les seves característiques principals inclouen:

  • Programació Eficient: SLURM proporciona un mecanisme de programació robust i flexible, permetent subministrar treballs amb paràmetres específics com ara temps d’execució, quantitat de CPU i memòria.

  • Gestió de Recursos: Amb SLURM, és possible monitorar i gestionar eficientment els recursos disponibles al clúster, evitant solapaments i optimitzant l’ús dels nodes.

  • Accés Just i Equitatiu: SLURM ajuda a mantenir un entorn d’execució equitatiu, assegurant que els treballs s’executin d’una manera ordenada i prioritzada mitjançant el sistema de cues.

Aprendre a utilitzar SLURM és fonamental per a aconseguir un rendiment òptim del clúster de càlcul i per garantir una distribució eficient dels recursos entre els membres del grup de recerca.

Primeres passes

Al connectar-nos al clúster per ssh (Com fer ssh aquí) ens apareixen les comandes més freqüents:

***********************************************************************************
*       Welcome to Multivac. The calculus cluster of DOPS, a group of IOC.       *
***********************************************************************************
                         ___________________
                        |  _                |
                        | / \ _____  _____  |
                        | | // / \ \/ / \ \ |
                        | |// /   \/ /   \/ |
                        | |\\ \   / /\   __ |
                        | |_\\_\_/_/\_\_/_/ |
                        |___________________|

                            UPDATED: 21/02/2025
                        Multivac most frequent commands
        squeue                          Show the pending jobs
        sinfo                           Show the status/information of the nodes
        scua                            Show the pending jobs and status/information
        sacct -S 2025-01-01             Get all the jobs from the user since 2025-01-01
        seff [job_id]                   Shows the efficency of your submitted script
        multivac [conf.slurm]           Send a job to be scheduled in the queue
        scancel [jobid]                 Cancel a job by jobid
        sjob [jobid]                    Shows the info about a jobid
        mvacinteract [node]             Creates a ssh with the name of the node specified.
        mvac_crear_venv                 Creates a python3 virtual environment with docplex
        mvac_jupyter                    Creates a jupyterlab session
        More information: https://iocnet.upc.edu/doc/multivac

Comandes més freqüents Linux

cd                  # Canviar de directori
cd ..               # Canviem a una carpeta enrere
cd exemple/         # Canviem a la carpeta exemple
ls                  # Llistem el contingut del directori
ls -la              # Llistem el contingut del directori i veiem els arxius ocults i atributs
mkdir exemple       # Crear una carpeta
rmdir -r exemple    # Eliminar una carpeta
touch file1         # Creem un arxiu anomenat file1
cp file1 file2      # Copiem el contingut de l'arxiu file1 a file2
mv file1 exemple/   # Movem el fitxer file1 a dins de la carpeta exemple
rm file1            # Esborrem el fitxer file1
cat file1           # Veiem el contingut de l'arxiu per consola
code &              # Obrim el vscode, l'& del final serveix per a què si tanquem la consola no es tanca el vscode

Enllaços útils