Sesiones interactivas

El sistema SLURM de CIRCE/SC permite que los usuarios ejecuten aplicaciones en nodos de computacion disponibles cuando están en sesión de shell. Esto permite que los usuarios ejecuten aplicaciones que requieren entrada directa del usuario y aplicaciones con entorno gráfico que requieran recursos de computación más extensivos.

Directamente desde SRUN

Las sesiones interactivas pueden ejecutarse dentro de un shell programado utilizando el comando srun. Por ejemplo:

[user@login0 ~]$ srun --pty /bin/bash
[user@svc -3024-6-25 ~]$

Ahora puedes ejecutar cualquier tarea intensiva computacionalmente de forma interactiva.

Digamos que necesitas un mínimo de 4GB de RAM para tu tarea interactiva. Podemos pedir al planificador que nos prepare un nodo con >4GB de RAM requiriendo el límite mem de la siguiente forma:

[user@login0 ~]$ srun --mem=4096 --pty /bin/bash
[user@svc-3024-6-25 ~]$ free


Advertencia: A no ser que la restricción “-time=HH:MM:SS” sea usada, todos los trabajos enviados a SLURM (interactivos o de batch) recibirán un tiempo de ejecución predeterminado de 1 hora.

A través de SALLOC y SRUN

Si necesitas crear una sesión interactiva a la que te puedas conectar y desconectar a voluntad (mientras el trabajo se ejecuta), puedes:

  1. Usar salloc para crear la asignación de recursos
  2. Usar srun para conectarte

Para hacerlo, ejecuta el siguiente comando (modificado según sus necesidades):

salloc --ntasks=1 --time=00:30:00

Esto mostrará lo siguiente:

[user@itn0 ~]$ salloc --ntasks=1 --time=00:30:00
salloc: Pending job allocation 12345678
salloc: job 12345678 queued and waiting for resources
salloc: job 12345678 has been allocated resources
salloc: Granted job allocation 12345678
[user@itn0 ~]$

Puedes comprobar que la respuesta no ha cambiado. La razón de esto es que mientras SLURM realizaba la asignación de tu trabajo, aún no estás conectado de forma interactiva a esa asignación. Para hacerlo, deberías ejecutar el siguiente comando:

srun --jobid=12345678 --pty /bin/bash

Esto hará que la respuesta cambie de la siguiente forma:

[user@itn0 ~]$ srun --jobid=12345678 --pty /bin/bash
[user@svc-3024-6-25 ~]$