Dada la incorporación de geryon 3, durante las próximas semanas se actualizarán las políticas de uso de geryon 2. Por favor, estar atentos a nuestros canales de información.
Clúster de cómputo Geryon 2
El supercomputador de Geryon 2 se compone de 15 nodos marca HPE. 14 de éstos tienen 40 núcleos y 320 GB de memoria cada uno, mientras que el último nodo es de 32 núcleos y 512 GB de memoria.
Además, existe una colaboración con el instituto de Astrofísica de la Universidad Católica para integrar 5 nodos adicionales de 56 núcleos y 512 GB de memoria. Estos nodos se manejan de manera dinámica de acuerdo con la demanda de los usuarios y la carga del clúster.
En total, Geryon 2 cuenta con una capacidad máxima de 872 núcleos y 6140 GB de memoria, con una capacidad de cómputo teórica total de 15,26 TFlops.
Para el almacenamiento, Geryon 2 cuenta con un servidor de datos exclusivo con discos SAS en configuración RAID-6 de capacidad 142 TB, dos servidores FAST-SAS de 19 TB cada uno y un servidor común con unidades SATA de 95 TB, todos en configuración RAID-6. En total, Geryon 2 cuenta con 275 GB de almacenamiento.
A nivel de sistema, Geryon 2 opera con sistema Linux CentOS 7 y la administración de jobs se realiza mediante el sistema Maui Cluster Scheduler y Distributed Resource Management (DRM) software (TORQUE).
Reglas de uso
Geryon 2 es un clúster destinado al desarrollo de proyectos computacionales del área de astronomía, investigación y comercial. Los recursos son limitados y su demanda elevada, por lo que se ha establecido las siguientes reglas de uso para un uso sano de los usuarios:
- Es obligatorio indicar en publicaciones los agradecimientos al uso del clúster cuando éste haya sido utilizado en el proceso.
- Las interfaces gráficas no están permitidas. Esto incluye herramientas como jupyter-notebook.
- El servidor front-end no debe utilizarse para procesamiento intensivo, pero si pueden realizarse tareas de bajo consumo de CPU como edición o transferencia de archivos, compilación de códigos o comandos del sistema de colas.
- Está estrictamente prohibido ejecutar código directamente en los nodos, evitando el sistema de colas.
- El usuario requiere de conocimientos básicos de BASH y sistema de colas. De ser necesario, se puede solicitar una inducción al equipo de Geryon 2.
Restricciones de jobs
- El máximo de núcleos permitidos son 120 en total. La distribución de estos núcleos queda a los requerimientos del usuario.
- La duración de los jobs no puede ser superior a 7 días (168n horas).
- Si se requiere de mayor cantidad de núcleos o duración más extensa, ésta debe ser solicitada vía ticket al equipo de Geryon 2.
- No está permitido utilizar jobs para mantener recursos “reservados” o bloqueados.
- No está permitido utilizar el modo interactivo de jobs para ejecutar por un tiempo superior a 1 hora.
Reglas de almacenamiento
- Todo almacenamiento en el clúster debe estar destinado a cómputo. Se asumirá que los datos de usuarios inactivos con más de 1 año de antigüedad pueden ser eliminados.
- Es responsabilidad del usuario limpiar periódicamente sus directorios.
- El almacenamiento máximo permitido en el directorio /home es de 100 GB destinado a códigos y datos críticos. Este almacenamiento no es posible extenderlo.
- Para almacenamiento de mayores volúmenes, se puede solicitar un directorio en los servidores de datos, mientras que para procesos más intensivos de lectura/escritura, se puede solicitar el uso de las unidades fast-sas.
Uso básico del clúster
El envío de jobs en Geryon 2 es administrado por TORQUE resource manager, el que está basado en PBS. Maui Cluster Scheduler se integra con TORQUE para mejorar la administración y eficiencia de asignación de recursos del scheduler.
Comandos básicos
- showq: Muestra los jobs activos y en espera de todos los usuarios en el sistema de colas.
- pbsnodes: Muestra el estado y la asignación de recursos de los jobs del usuario para todos los nodos.
- qsub: Envía un job al sistema de colas.
- qstat: Muestra el estado del job indicado.
- qdel: Finaliza un job inmediatamente.
Envío de jobs
Para enviar un job al sistema de colas, se puede utilizar el comando qsub de dos maneras: indicando todos los parámetros con las flags correspondientes o preparando un archivo de envío. En general se utiliza un archivo de configuración, ya que es más fácil de manejar. Éste se compone de dos secciones: comandos de PBS y ejecución del script.
En la sección de comandos de PBS, cada línea comienza con “# PBS ” y a continuación se indica el comando. Una lista de éstos son:
# PBS -N jobname
Indica un nombre para el job.
# PBS -l select=3:ppn=40
Cantidad de nodos (select) y de núcleos por nodo (ppn) solicitados para la ejecución del job.
# PBS -l walltime=168:00:00
Máximo tiempo que el job estará en ejecución, debe indicarse en formato hh:mm:ss.
# PBS -q queuename
Cola requerida para ejecutar el job. Se recomienda no utilizar este comando para que se asigne la cola por defecto.
# PBS -o mypath/job.out
Cambia el destino del archivo output de ejecución.
# PBS -o mypath/job.err
Cambia el destino del archivo error de ejecución.
# PBS -j eo
Opción que entrega un archivo en lugar de output y error separados.
# PBS -M mail-address
Indica un correo para recibir notificaciones de cambio de estado del job.
# PBS -m abe
Indica qué eventos deben ser notificados por correo. Considerar si el job aborta (a), si el job comienza (b), si el job termina (e) o todas las anteriores (abe).
# PBS -S /bin/bash
Indica qué consola de comandos utilizar. Se recomienda agregar siempre este comando.
# PBS -V
Exporta todas las variables de entorno definidas al job.
En la sección de ejecución de script, se debe indicar los comandos a ejecutar por el usuario.
Un ejemplo de todo esto adecuado para Geryon 2 sería:
#PBS -S /bin/bash
#PBS -V
#PBS -N submit_for_geryon2
#PBS -j eo
#PBS -l select=3:ppn=40
#PBS -l walltime=168:00:00
#################################
### Run:
module load openmpi-4.1.4_no-mellanox
mpirun -np 120 python3 mpi_script.py
echo “done”
Librerías y Módulos
“Geryon 2 utiliza el sistema de módulos para organizar y clasificar sus librerías, lo que permite configurar varias versiones y propiedades de la misma librería sin que esto altere al uso de otros usuarios o al sistema.
Para revisar los módulos disponibles, se puede ejecutar el comando “module avail”, luego, se puede elegir el módulo a cargar con “module load …”. Recuerda que si deseas que tu script utilice los módulos cargados, debes incluir este comando en el archivo de configuración del job, o bien cargar el módulo en la consola y utilizar el comando de PBS “#PBS -V”.
Si requieren de alguna librería que no se encuentre disponible, pueden solicitarla al equipo de Geryon 2 o bien compilarla a nivel local en su usuario. Además, para versiones distintas de python a las disponibles, se recomienda utilizar miniconda.
Modo interactivo de pruebas
Al enviar un job al sistema de colas, éste se ejecuta de manera automática y sin intervención del usuario. Sin embargo, en ocasiones es difícil encontrar la razón de la falla, se quiere probar un script o simplemente practicar con los comandos de PBS. Para estos casos, se puede inicializar una consola interactiva, en que se reservan los recursos en el clúster, pero el usuario puede ingresar comandos en la medida que el job progresa.
Esta herramienta está destinada únicamente para pruebas, por lo que no se admite un walltime de uso mayor a 1 hora por job. Su uso indebido puede llegar a ser sansionado.
Para ejecutar una consola interactiva, bastaría con el comando: qsub -I -l select=2:ppn=5
Agradecimientos en publicaciones
Si en alguna de las etapas de sus proyectos utilizaron el poder de cómputo de Geryon 2, es OBLIGATORIO indicar los agradecimientos correspondientes en sus publicaciones o equivalente. En el agradecimiento debe estar indicados los proyectos ANID BASAL FB21000, BASAL CATA PFB-06, the Anillo ACT-86, FONDEQUIP AIC-57, y QUIMAL 130008.
Un ejemplo de esto sería:
“The Geryon cluster at the Centro de Astro-Ingenieria UC was extensively used for the
calculations performed in this paper. ANID BASAL project FB21000, BASAL CATA PFB-06, the Anillo ACT-86,
FONDEQUIP AIC-57, and QUIMAL 130008 provided funding for several improvements
to the Geryon cluster.”