Datos del clúster:
- Servidor de entrada: atlas-scc.atica.um.es
- Imágenes singularity en /misc/software/singularity
- Ejemplos en /misc/software/examples
TODO:
- Gestión de cuotas
- Envío de correo electrónico cuando se produzca un evento en los trabajos lanzados.
Conexión al cluster
Siempre por SSH. El alta se solicita por DUMBO.
ssh jhidalgo@atlas-scc.atica.um.es
Lanzar un trabajo batch
Una vez en el nodo de login se lanzan procesos batch o interactivos. Ejemplo de batch localizado en /misc/software/examples/sbatch_random
[jhidalgo@atlas-login-j0caf9l4-001 sbatch_random]$ sbatch script.sh
Submitted batch job 102
Lanzar un trabajo interactivo
PAra prototipar una tarea manualmente nos podemos ir a un nodo de trabajo reservando un slot con el siguiente comando
srun --partition=cola01 --time=00:40:00 --ntasks=1 --cpus-per-task=1 --nodes=1 --mem=2GB --pty /bin/bash
Ver los trabajos en cola
En este caso, de mi propio usuario "jhidalgo". Los estados posibles de ST están en https://slurm.schedmd.com/squeue.html
[jhidalgo@atlas-login-j0caf9l4-001 sbatch_random]$ squeue -u jhidalgo
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
98 cola01 bash jhidalgo R 22:21 1 atlas-cola01-c01g01-0
102 cola01 script.s jhidalgo R 0:02 1 atlas-cola01-c01g01-0
Histórico de trabajos
[jhidalgo@atlas-login-j0caf9l4-001 sbatch_random]$ sacct --starttime 2023-09-27 -u jhidalgo
JobID JobName Partition Account AllocCPUS State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------
1 bash cola01 admin_jhi+ 1 FAILED 1:0
1.0 bash admin_jhi+ 1 FAILED 1:0
7 bash cola01 admin_jhi+ 1 FAILED 2:0
7.0 bash admin_jhi+ 1 FAILED 2:0
Lanzamos un ejemplo
(desde el nodo de trabajo en sesión interactiva)
cp -r /misc/software/examples/markdown02 ./
cd markdown02/
#miramos README.md para ver el primer bloque que nos propone y lo lanzamos tal cual
GCS_SHUB="/misc/software/singularity"
IMAGEN="R/r-verse-keras"
singularity run --bind ./:/scripts $GCS_SHUB/$IMAGEN/singularity.sif Rscript /scripts/knit.R
Otros comandos de gestión
Cancelar un trabajoscancel <jobid>
Cancelar todos los trabajos de un usuarioscancel -u <username>
Cancelar los trabajos pendientes de ejecutarscancel -t PENDING -u <username>
Retener un trabajo encolado para que no se ejecutescontrol hold <jobid>
Liberar un trabajo retenido para que se planifique para ejecutarscontrol release <jobid>