¿Cómo correr cálculos en el clúster?
Sistema de colas
El cluster utiliza el programa SLURM (Simple Linux Utility for Resource Management), el cual administra los recursos (cores o nodos) asignados a un cálculo. De esta manera varios cálculos pueden ser enviados al mismo tiempo y quedarán en cola si no hay recursos disponibles.
Se recomienda el uso de un script para enviar trabajos a las colas. En la carpeta Calculos/ podrá encontrar un ejemplo para correr trabajos en serie o en paralelo:
run_serial.sh
run_parallel.sh
Acá se muestra un ejemplo del archivo de cola en serie:
#!/bin/bash
#SBATCH --partition=parallel
#SBATCH --time=24:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=64
#SBATCH --job-name="test"
#SBATCH --output=test.out.%j
cd /home/<USUARIO>/Calculos/
<Comandos ejecutar>
Colas disponibles
El cluster cuenta con dos colas de trabajo o particiones:
- parallel: para trabajos en paralelo se debe modificar las siguientes líneas
- #SBATCH --partition=parallel
- #SBATCH --nodes=N (N puede tomar valores de 1 hasta 15)
- #SBATCH --ntasks-per-node=64 (Este número no debería de cambiarse)
- serial: para trabajos secuenciales o en serie, solo se puede correr con un solo core
- #SBATCH --partition=serial
- #SBATCH --nodes=1
- #SBATCH --ntasks-per-node=1
Dependiendo de la necesidad la persona usuaria siempre debe de especificar la cola con la que va a trabajar.
Para enviar un cálculo a la cola, desde la línea de comando y desde el directorio en donde se encuentra el archivo de cola:
sbatch run_serial.sh
o en su defecto:
sbatch run_parallel.sh
Comandos para el control de la cola
Comando | Descripción | Ejemplo |
---|---|---|
sbatch
|
Para activar Anaconda por primera vez.
|
sbatch run_serial.sh
|
squeue
|
Lista de ambientes instalados
|
squeue
|
sinfo
|
Lista de paquetes instalados
|
sinfo
|
scancel
|
Activar un ambiente
|
scancel <# de trabajo>
|
scontrol
|
Desactivar Anaconda
|
scontrol show node <nombre del nodo>
scontrol show job <# del cálculo>
|
smap
|
Desactivar Anaconda permanentemente
|
smap
|
sacct
|
Desactivar Anaconda permanentemente
|
sacct
|