Guía rápida de MareNostrum4
Índice
Conectarse al clúster ↩
IMPORTANTE: Las cuentas son de uso personal e intransferible. Si el proyecto requiere el acceso de otra persona a la máquina, el responsable del proyecto será el encargado de hacer este tipo de peticiones.
Nodos de inicio de sesión (logins) ↩
Existen tres nodos de inicio de sesión en la máquina:
{mn1,mn2,mn3}.bsc.es
Todas las conexiones deberán hacerse por SSH (Secure SHell), por ejemplo:
$> ssh {username}@mn1.bsc.es
$> ssh {username}@mn2.bsc.es
$> ssh {username}@mn3.bsc.es
Cambiar la contraseña ↩
Por seguridad, resulta imprescindible que se cambie la primera contraseña.
Para cambiar la contraseña, hay que entrar en la máquina Storage (Data Transfer machine):
$> ssh {username}@dt01.bsc.es
con el mismo username y password que en el clúster. Entonces, se tiene que ejecutar el comando 'passwd'.
La nueva contraseña será efectiva después de 10 minutos (aprox.).
Acceso desde/hacia el exterior ↩
Los logins de acceso son los únicos nodos accesibles desde el exterior, pero por razones de seguridad no disponen de conexión hacia el exterior.
Para transferir datos de/a MareNostrum4, se deberá ejecutar el comando 'scp', siempre desde la máquina externa.
Ejemplo de copia de ficheros/directorios desde MN4 hacia una máquina externa:
mylaptop$> scp -r {username}@dt01.bsc.es:"MN4_SOURCE_dir" "mylaptop_DEST_dir"
Ejemplo de copia de ficheros/directorios desde una máquina externa hacia MN4:
mylaptop$> scp -r "mylaptop_SOURCE_dir" {username}@dt01.bsc.es:"MN4_DEST_dir"
Directorios y sistemas de ficheros ↩
Existen varias áreas de espacio en disco. Cada área puede tener límites de tamaño y políticas de uso específicos.
Directorios básicos bajo GPFS ↩
GPFS (General Parallel File System) es un sistema de archivos distribuido en red al que se puede acceder desde cualquier nodo del clúster y desde la máquina de transferencia de datos (dt01.bsc.es).
Los directorios y sistemas de ficheros de GPFS disponibles son:
/apps: donde se encuentran ya instaladas una gran variedad de aplicaciones y librerías, para uso común (en general). Los usuarios no pueden escribir en él.
/gpfs/home: directorio personal con una cuota de espacio individual y capacidad más bien reducida. Es el área de trabajo por defecto tras el inicio de sesión, donde se pueden guardar códigos fuente, scripts y otros datos personales. No es apropiado para lanzar jobs; para tal fin, se recomienda usar /gpfs/projects o /gpfs/scratch.
/gpfs/projects: espacio destinado a almacenar datos que se deben compartir entre usuarios del mismo grupo o proyecto. La cuota de espacio es compartida por todos los miembros del grupo.
/gpfs/scratch: cada usuario tendrá su propio directorio bajo esta partición. Está pensado para almacenar archivos temporales de los trabajos (jobs) durante su ejecución, por ejemplo. Este espacio también es compartido por todos los miembros de un mismo grupo.
Límites/cuotas de espacio de almacenamiento ↩
Se pueden consultar los límites de espacio en disco, así como las cuotas de uso actual para cada sistema de ficheros:
$> bsc_quota
Ejecutar trabajos ↩
Lanzar a colas ↩
Para enviar trabajos a colas, se deben usar las directivas 'sbatch' de Slurm, por ejemplo:
Enviar un trabajo:
$> sbatch <job_script>
Mostrar todos los trabajos enviados:
$> squeue
Cancelar la ejecución de un trabajo:
$> scancel <job_script>
Límites de colas ↩
Los límites de las colas (QoS) asignadas al proyecto los puede consultar mediante el comando:
$> bsc_queues
Ejecutar en interactivo ↩
Nodos interactivos
MareNostrum4 dispone de cinco nodos interactivos (login1:login5); esto incluye los tres nodos de inicio de sesión.
Desde cualquier login se puede acceder al resto mediante 'ssh':
login1$> ssh login5
En los nodos interactivos se pueden ejecutar compilaciones o pruebas de software, teniendo 10 minutos como límite de tiempo de CPU.
IMPORTANTE: Para toda ejecución que supere este límite de tiempo de CPU o necesite cualquier tipo de paralelismo, se tendrá que utilizar el sistema de colas (Slurm).
Sesión interactiva
La asignación de una sesión interactiva debe realizarse a través de Slurm, por ejemplo:
Iniciar sesión interactiva en la partición 'interactive':
$> salloc --partition=interactive
O también:
$> salloc -p interactive
Iniciar sesión interactiva en un nodo de cómputo (partición 'main'):
$> salloc -n 1 -c 4 # 1 task, 4 cpu/task
Iniciar sesión interactiva reservando un nodo de cómputo en exclusiva:
$> salloc --exclusive