Un Clúster con SLURM, uso y configuración
-
Upload
miguelolivan -
Category
Documents
-
view
2.158 -
download
2
Transcript of Un Clúster con SLURM, uso y configuración
![Page 1: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/1.jpg)
Un Clúster con SLURMUso y configuración
Miguel OlivánANAIS GIFNA
Universidad de Zaragoza
![Page 2: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/2.jpg)
Clúster
Agrupación coordinada de ordenadores que se comportan como uno solo
Tipos según servicio esperado: Alto rendimiento Alta disponibilidad Balanceo de carga
![Page 3: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/3.jpg)
Componentes
SLURM Distribuye el trabajo en los nodos→
NIS Sincroniza los usuarios→
NFS/SMB Sistema de ficheros en red→
NTP Sincronización de relojes→
Cfengine Gestiona configuraciones→
![Page 4: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/4.jpg)
SLURM
SLURM Sistema gestor de recursos→ Clusters heterogéneos Tolerante a fallos Configurable (gestión de nodos, trabajos, tareas
reservas, grupos, ...) Extensible
![Page 5: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/5.jpg)
Imagen única
NIS Network Information Service→ Gestión centralizada de usuarios
NFS Network File System→ Permite compartir el sistema de ficheros para dar una
imagen común del arbol de directorios a todos los nodos
SMB/CIFS→Server Message Block/Common Internet File System
'Análogo' a NFS – típico en NAS
![Page 6: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/6.jpg)
sultan
4 nodos 1 nodo acceso + cómputo (4 procesadores) 3 nodos cómputo
dos monoprocesador Uno 4 procesadores
→ 10 procesadores
Red local Gigabit Ethernet Recusos de almacenamiento compartido
![Page 7: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/7.jpg)
Sistema de ficheros
Compartidos por todos los nodos:
NFS (a Gigabit Ethernet ext3) /scratch (~50 Gb)
SMB (a Gigabit Ethernet – NAS RAID 5) /media/hardstorage (2 Tb)
Ideales para fich. entrada/salida si el volumen no es grande
SMB (a 10Mb Ethernet) /media/next /media/tpc
/media/megas Replicado para todos los nodos /programas
![Page 8: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/8.jpg)
Uso SLURM
Uso básico: sbatch script [parametros]
El script contiene:
Variables de entorno adecuadas (PATH, LD_LIBRARY_PATH, ROOTSYS, G4INSTALL,...)
Llama al programa: srun program Puede usar variables de entorno definidas por SLURM
(SLURM_JOB_ID, SLURM_JOB_CPUS_PER_NODE,...)
Asumimos tareas secuenciales, no multithread, no MPI
Si no, reserva de CPUs: sbatch -n4 script
![Page 9: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/9.jpg)
Uso SLURM - Ejemplo
#!/bin/sh#Available variables in sbatch scriptecho $SLURM_JOB_IDecho $SLURM_JOB_CPUS_PER_NODE #Environment variables###GEANT4G4SYSTEM=Linux-g++G4WORKDIR=/media/next/SimData/laura/GeantWork/#[...]
export PATH=$PATH:$G4WORKDIR/bin/$G4SYSTEM #call slurm srun next225 "$@"
![Page 10: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/10.jpg)
Uso SLURM - prioridades
Encolar tarea con más prioridad:
sbatch -p prior script [parametros]
La partición prior es más prioritaria que la de defecto
Esto se salta la cola de menos prioritarias (si las hay)
Permite tener 'dos vías' (o más) con distintas prioridades (y usuarios/grupos)
Existe opciones de configuración para expulsar a las menos prioritarias: cancelarlas o reencolarlas (demasiado expeditivas), suspenderlas (cambia la planificación) crear y restaurar y puntos checkpoints (no trivial)
![Page 11: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/11.jpg)
Supervisión
sview (visualización, cancelación, gestión, ...)
![Page 12: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/12.jpg)
Configuración de SLURM
Configurado el gestor de recursos para pensando en aplicaciones secuenciales que demandan procesador
CPU recurso escaso + aplicación secuencial →SchedulerType=sched/backfill
Especialmente indicado para SPMD (Un sólo programa, distintos datos)
Válido para simulación GEANT4
¿Válido para análisis de datos?
Planificación FIFO (First in, first out)
![Page 13: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/13.jpg)
Configuración de SLURM Prioridades
Partición: conjunto de nodos
Asignación de prioridades por partición sin expulsión de menos prioritario:
PartitionName=debug Nodes=sultan,nodo01,nodo02,nodo03 Default=YES MaxTime=INFINITE State=UP
PartitionName=prior Nodes=sultan,nodo01,nodo02,nodo03 Priority=10 Default=NO MaxTime=INFINITE State=UPPreemptType=preempt/partition_prio
Existen también prioridades basadas en otras métricas)
Existen expulsiones de menos prioritarias suspensión, →cancelación, reencolado
![Page 14: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/14.jpg)
Configuración
Slurm → /etc/slurm-llnl/slurm.conf
NIS →
/etc/hosts.allow
/etc/default/portmap
/etc/default/nis
/etc/yp.conf NFS/SMB →
/etc/fstab
/etc/exports NTP → /etc/ntp.conf
![Page 15: Un Clúster con SLURM, uso y configuración](https://reader030.fdocument.pub/reader030/viewer/2022020101/55b47bb4bb61eb064c8b46de/html5/thumbnails/15.jpg)
Enlaces
Slurm
Quick Start Administrator Guide Generador de configuración Configuración de expulsión de tareas
NIS
Guía rápida para Ubuntu Cfengine