CLÚSTER IFIMAR 101 Tópicos ● Conceptos Básicos de un Clúster de Cómputo ● Diagrama Gráfico del Clúster de IFIMAR ● Infraestructura y Software del Clúster ● Documentación para Ejecución de Trabajos ● Comandos útiles Conceptos Básicos de un Clúster de Cómputo Diagrama Gráfico del Clúster de IFIMAR (1) Diagrama Gráfico del Clúster de IFIMAR (2) NAS-0-0 NAS-10-0 NAS-20-0 IFIMAR OMEGA USUARIO CALC FLASH FISESTA Infraestructura y Software del Clúster (1) OMEGA Front-End del Clúster de IFIMAR HARDWARE 2 Placas de Red Gigabit 4 HDD (2x SSD 240G + 2x 1T) 3GB Memoria RAM Quad-Core AMD Opteron(tm) NAS-0-0 NAS de IFIMAR HARDWARE Red Gigabit 2 HDD (2x 6T) 16GB Memoria RAM Intel(R) Xeon(R) CPU E31220L NAS-10-0 NAS de FLASH HARDWARE Red Gigabit 4 HDD (2x 1T + 2x 1T) 16GB Memoria RAM AMD Phenom(tm) II X4 970 Processor Infraestructura y Software del Clúster (2) NAS-20-0 NAS de FISESTA HARDWARE Red Gigabit 2 HDD (2x 2T) 2GB Memoria RAM AMD Athlon(tm) 64 X2 Dual Core IFIMAR Partición de Cómputo CAPACIDAD DE CÓMPUTO Nodos: 1 Hilos en Total: 40 CALC Partición de Cómputo CAPACIDAD DE CÓMPUTO Nodos: 7 Hilos en Total: 20 Infraestructura y Software del Clúster (3) FLASH Partición de Cómputo CAPACIDAD DE CÓMPUTO Nodos: 8 Hilos en Total: 32 FISESTA + GPU Particiones de Cómputo CAPACIDAD DE CÓMPUTO Nodos: 6 + 1 Hilos en Total: 56 + 8 Infraestructura y Software del Clúster (4) OMEGA Front-End del Clúster de IFIMAR SOFTWARE ● ● SO: Rocks Clusters 6.2 Editores: emacs, codeblocks, mcedit, vim, eclipse ● Graficadores: gnuplot, grace ● Multiplexor terminal: byobu Infraestructura y Software del Clúster (4 cont.) OMEGA Front-End del Clúster de IFIMAR SOFTWARE ● Monitoreo: Check_MK, Ganglia ● Repositorio: SVN ● Gestor de Recursos: SLURM ● Librerías y compiladores Correr → % module avail Infraestructura y Software del Clúster (4 cont.) OMEGA Front-End del Clúster de IFIMAR ALMACENAMIENTO 2 Discos Comunes de 1 TeraByte espejados 1 Tera de Datos para todo IFIMAR en el punto de montaje definido en /bigslow1 (aprox. 1T) Infraestructura y Software del Clúster (4 cont.) OMEGA Front-End del Clúster de IFIMAR ALMACENAMIENTO 2 Discos SSD de 240 GigaByte Espejados (1) Instalación de SO Rocks Clusters en el punto de montaje definido en / (aprox. 100GB) Infraestructura y Software del Clúster (4 cont.) OMEGA Front-End del Clúster de IFIMAR ALMACENAMIENTO 2 Discos SSD de 240 GigaByte Espejados (2) Directorios de Usuarios sin NAS en el punto de montaje definido en /home (aprox. 80GB) Infraestructura y Software del Clúster (5) IFIMAR COMENTAR SOBRE Ifimar-255-2! Partición de Cómputo Actualmente 1 NODO / 32GB RAM / 40 hilos ALMACENAMIENTO IFIMAR-255-1 Infraestructura y Software del Clúster (6) CALC Partición de Cómputo Actualmente 7 NODOS / 20 hilos ALMACENAMIENTO POR EJ. CALC-30-1 Infraestructura y Software del Clúster (7) FLASH Partición de Cómputo Actualmente 8 NODOS / 32 hilos ALMACENAMIENTO POR EJ. FLASH-10-1 Infraestructura y Software del Clúster (8) FISESTA Partición de Cómputo Actualmente 6 NODOS / 56 hilos ALMACENAMIENTO POR EJ. FISESTA-20-1 Infraestructura y Software del Clúster (9) GPU Partición de Cómputo con Placa de Video CUDA Actualmente 1 NODO / 4GB RAM / 8 hilos ALMACENAMIENTO FISESTA-21-3 Infraestructura y Software del Clúster (10) NAS-0-0 NAS de IFIMAR ALMACENAMIENTO NAS MONTADO EN OMEGA 2 Discos WD Red de 6 TeraByte espejados Aprox. 6 Tera de Datos para todo IFIMAR en el punto de montaje definido en /share/bigslow2 Infraestructura y Software del Clúster (11) NAS-10-0 NAS de FLASH ALMACENAMIENTO NAS MONTADO EN OMEGA 2 Discos de 1 TeraByte espejados + 2 Discos de 1 TeraByte espejados Aprox. 2 Tera de Datos para usuarios FLASH en puntos de montaje definidos en sus /home Infraestructura y Software del Clúster (12) NAS-20-0 NAS de FISESTA ALMACENAMIENTO NAS MONTADO EN OMEGA 2 Discos de 2 TeraByte espejados Aprox. 2 Tera de Datos para usuarios FISESTA en puntos de montaje definidos en sus /home Documentación para Ejecución de Trabajos (1) ● Acceso al CLÚSTER desde los nodos de usuario: ➢ LOCAL ➢ REMOTO Documentación para Ejecución de Trabajos (2) BYOBU permite dejar el estado de la Terminal igual al salir ● Activación permanente: % byobu-enable COMANDOS BÁSICOS F2 Nueva Pest. - F3 / F4 Pasar Pest. - Ctrl+D Cerrar Pest. - F6 Salir Documentación para Ejecución de Trabajos (3) ● Correr y Cancelar trabajos El cluster usa SLURM como gestor de recursos. ➢ ➢ Para correr un trabajo, primero se necesita crear un script de lanzamiento que describa los recursos requeridos por el trabajo y las tareas que realiza. Para encolar un trabajo cuyo script es submit.sh, correr sbatch y luego SLURM devolverá un número que lo identifica: % sbatch submit.sh Submitted batch job 668 ➢ Para eliminar un trabajo de la cola o cancelar su ejecución, correr scancel junto al identificador del trabajo: % scancel 668 Documentación para Ejecución de Trabajos (4) ● ➢ Ver el Estado de los trabajos El programa muestra información sobre cada trabajo: JOBID: El identificador. PARTITION: La cola en la que está. NAME: El nombre. USER: El usuario que lo encoló. ST: La columna STATUS muestra el estado del trabajo, por ej: PD es PENDING y R es RUNNING. TIME: El tiempo que lleva ejecutando. NODES: La cantidad de nodos que se estima que va a ocupar o que ya ocupa. CPU: La cantidad de cores totales que se estima que va a ocupar o que ya ocupa. GRES: Los aceleradores que pidió. NODELIST(REASON): Los nodos en los que está corriendo el trabajo, o la razón por la que no se está ejecutando todavía. Documentación para Ejecución de Trabajos (5) ● Script de Lanzamiento y Ej. de Programa #!/bin/bash #SBATCH --job-name=ddtest #SBATCH --partition=IFIMAR,CLUSTER #SBATCH --nodes=1 #SBATCH --ntasks=1 #SBATCH --cpus-per-task=1 #SBATCH --mem-per-cpu=100M #SBATCH --time=1:00:00 #SBATCH -o ddtest-%j.out #SBATCH -e ddtest-%j.err #SBATCH --mail-type=ALL source /etc/profile srun -n 1 `pwd`/ddtest.sh & wait Comandos útiles (1) ● Comando para solicitar Nodo interactivo: % salloc ➢ Pedir 1 Nodo (todos los Hilos) con CUDA en Partición GPU % salloc --gres gpu:1 --exclusive -N1 --partition GPU ➢ Pedir 2 Nodos (todos los Hilos) en Partición CLUSTER % salloc --exclusive -N2 --partition CLUSTER ➢ Pedir 1 Nodo con 2 Hilos en Partición IFIMAR % salloc -N1 -n2 --partition IFIMAR ➢ Correr un programa una vez obtenidos los recursos % srun ./miprograma Usa todos los Nodos pedidos % srun -n# ./miprograma Usa # Hilos de los pedidos Comandos útiles (2) ● Environment Modules: % module % module avail ver los módulos disponibles % module load nombre_modulo utilizar los programas del paquete % module list ver los módulos cargados en la sesión Comandos útiles (3) ● Comando para ver el listado de Particiones #1: % sinfo Comandos útiles (4) ● Comando para ver el listado de Particiones #2: % scontrol show partition PREGUNTAS