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