Procedimientos básicos en Agustina
Información acerca de los procedimientos de gestión en Agustina
Solicitud de acceso al sistema
Para obtener un usuario del sistema Agustina es necesario llevar a cabo una serie de pasos que comprenden la creación de un proyecto, sus cuentas asociadas, activación de las mismas y vinculación al proyecto creado.
Los formularios a cumplimentar se encuentran en : https://soporte.bifi.unizar.es/forms/form.php
Ingreso en el sistema
El comando para acceder a Agustina por ssh es:
ssh id_usuario@agustina.bifi.unizar.es
Ejemplo:
ssh john.diaz@agustina.bifi.unizar.es
El usuario podrá acceder de este modo siempre y cuando tenga una dirección IP fija abierta en el firewall. En caso contrario, el acceso podrá hacerse a través de Bridge:
ssh id_usuario@bridge.bifi.unizar.es
y una vez hecho el login:
ssh id_usuario@agustina.bifi.unizar.es
Ejemplo:
ssh jdiazlag@bridge.bifi.unizar.es
ssh john.diaz@agustina.bifi.unizar.es
Editores de texto
El editor establecido por defecto es Vi, aunque pueden cargarse Emacs (module load emacs
) o Vim (module load vim
).
Uso del almacenamiento
Una vez hecho login en el sistema Agustina, el usuario dispondrá de un pequeño espacio (limitado por cuota) bajo su directorio home. Dicho espacio no está pensado para almacenar datos, ya que es muy reducido; su uso está orientado a guardar scripts, notas y elementos ligeros.
Cada usuario podrá acceder a espacio de almacenamiento scratch bajo sistema LUSTRE, con mayor capacidad y orientado a uso de trabajo más intensivo, ubicado en /fs/ugustina/id_usuario
Ejemplo:
/fs/agustina/john.diaz/
Gestión de trabajos
IMPORTANTE Cualquier trabajo que se lance de forma local en los nodos de login será cancelado. Los jobs deben lanzarse contra el cluster.
Agustina se basa en un sistema Slurm de gestión de colas. El procedimiento normal para ejecutar trabajos se basa en la creación de un script indicando las características de la tarea y el uso del comando sbatch.
El sistema dispone de 5 particiones:
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
fat up 7-00:00:00 3 idle afat[01-03]
thin* up 7-00:00:00 93 idle athin[01-93]
full up 7-00:00:00 96 idle afat[01-03],athin[01-93]
hopper up 7-00:00:00 2 idle agpuh[02-03]
ada up 7-00:00:00 9 idle agpul[01-09]
RES up 7-00:00:00 9 idle afat01,athin[01-02,04-06,09,11-12,14-16,18-23,25-30]
Siendo thin la que comprende los nodos estandar de computación, fat la de nodos con el doble de memoria y full la totalidad de los nodos de cómputo. Por otra parte tenemos las particiones de GPU, las cuales corresponden a hopper con GPUs H100 y ada con GPUs L40S. Podremos comprobar su estado con el comando sinfo
IMPORTANTE: Los usuarios que usen horas de cálculo provenientes de la RES (Red Española de Supercomputación), deberán usar la partición RES.
Ejemplo de script helloWorld.sh:
#!/bin/env bash
#SBATCH -J helloTest # job name
#SBATCH -o helloTest.o%j # output and error file name (%j expands to jobID)
#SBATCH -N 3 # total number of nodes
#SBATCH --ntasks-per-node=12 # number of cores per node (maximum 24)
#SBATCH -p thin # partition
echo "Hello world, I am running on node $HOSTNAME"
sleep 10
date
Para lanzar la tarea es imprescindible hacerlo asociándola a su proyecto correspondiente:
sbatch --account id_proyecto helloWorld.sh
De lo contrario, obtendremos un mensaje de error:
sbatch: error: QOSMaxSubmitJobPerUserLimit
sbatch: error: Batch job submission failed: Job violates accounting/QOS policy (job submit limit, user\'s size and/or time limits)
Podemos comprobar el estado de ejecución del script con el comando squeue.
Ejemplo:
[john.diaz@alogin02 slurmTest]$ sbatch --account proyecto_prueba helloWorld.sh
Submitted batch job 1707
[john.diaz@alogin02 slurmTest]$ squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
1707 thin helloTes john.dia R 0:01 3 athin[49-51]
Existen otros comandos útiles para la gestión de trabajos:
Cancelación
scancel job_id
Información detallada
scontrol show job identificadorJob
IMPORTANTE: Los trabajos tiene una duración máxima en el sistema de una semana (7 días desde el lanzamiento del trabajo), por lo tanto, si el trabajo dura más de una semana el sistema de colas lo cancelará. Para evitar este hecho, el usuario deberá dividir los datos de entrada para lanzar trabajos con menos carga de procesado o paralelizar su software.
Información sobre códigos de estado: https://confluence.cscs.ch/display/KB/Meaning+of+Slurm+job+state+codes
Guía de usuario Slurm: https://slurm.schedmd.com/quickstart.html