SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Un Clúster con SLURM
 Uso y configuración

     Miguel Oliván
    ANAIS ­ GIFNA
 Universidad de Zaragoza
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
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
SLURM
   SLURM →Sistema gestor de recursos
          Clusters heterogéneos
          Tolerante a fallos
          Configurable (gestión de nodos, trabajos, tareas 
            reservas, grupos, ...)
          Extensible
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
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
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
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
Uso SLURM - Ejemplo
#!/bin/sh
#Available variables in sbatch script
echo $SLURM_JOB_ID
echo $SLURM_JOB_CPUS_PER_NODE

#Environment variables
###GEANT4
G4SYSTEM=Linux-g++
G4WORKDIR=/media/next/SimData/laura/GeantWork/
#[...]

export PATH=$PATH:$G4WORKDIR/bin/$G4SYSTEM

#call slurm
srun next225 "$@"
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)
Supervisión
   sview (visualización, cancelación, gestión, ...)
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)
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
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
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

Weitere ähnliche Inhalte

Ähnlich wie Un Clúster con SLURM, uso y configuración

Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
ADOLFO BORJA
 
Instalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sqlInstalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sql
UPTM
 
Policyd: Instalacion y configuracion
Policyd: Instalacion y configuracionPolicyd: Instalacion y configuracion
Policyd: Instalacion y configuracion
criscega
 
Cluster beowulf javier condori flores
Cluster beowulf   javier condori floresCluster beowulf   javier condori flores
Cluster beowulf javier condori flores
Javier Condori Flores
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfig
Aprende Viendo
 
Funciones principales de los sistemas operativos
Funciones principales de los sistemas operativosFunciones principales de los sistemas operativos
Funciones principales de los sistemas operativos
Irving Hofstadter
 

Ähnlich wie Un Clúster con SLURM, uso y configuración (20)

Linux Terminal Server
Linux Terminal ServerLinux Terminal Server
Linux Terminal Server
 
File System Management
File System ManagementFile System Management
File System Management
 
Gestionando servidores con Puppet
Gestionando servidores con PuppetGestionando servidores con Puppet
Gestionando servidores con Puppet
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
 
Instalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sqlInstalacion y configuracion de postgre sql
Instalacion y configuracion de postgre sql
 
Policyd: Instalacion y configuracion
Policyd: Instalacion y configuracionPolicyd: Instalacion y configuracion
Policyd: Instalacion y configuracion
 
Ltsp linux terminal server project-
Ltsp  linux terminal server project-Ltsp  linux terminal server project-
Ltsp linux terminal server project-
 
Almacenamiento en disco: mejora de la velocidad y de la seguridad - Juan Piernas
Almacenamiento en disco: mejora de la velocidad y de la seguridad - Juan PiernasAlmacenamiento en disco: mejora de la velocidad y de la seguridad - Juan Piernas
Almacenamiento en disco: mejora de la velocidad y de la seguridad - Juan Piernas
 
Cluster beowulf javier condori flores
Cluster beowulf   javier condori floresCluster beowulf   javier condori flores
Cluster beowulf javier condori flores
 
Taller de samba
Taller de sambaTaller de samba
Taller de samba
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfig
 
06 airc firewalls
06 airc   firewalls06 airc   firewalls
06 airc firewalls
 
Funciones principales de los sistemas operativos
Funciones principales de los sistemas operativosFunciones principales de los sistemas operativos
Funciones principales de los sistemas operativos
 
UYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New featuresUYOUG 2012 - Oracle RAC 11gR2 - New features
UYOUG 2012 - Oracle RAC 11gR2 - New features
 
Configuracion de Firewalls e Pasarelas
Configuracion de Firewalls e PasarelasConfiguracion de Firewalls e Pasarelas
Configuracion de Firewalls e Pasarelas
 
sistemas distribuidos 4
sistemas distribuidos 4sistemas distribuidos 4
sistemas distribuidos 4
 
Red Hat Cluster
Red Hat ClusterRed Hat Cluster
Red Hat Cluster
 
Taller sistemas operativos
Taller sistemas operativosTaller sistemas operativos
Taller sistemas operativos
 
Desarrollo de drivers y aplicaciones para FreeRtos
Desarrollo de drivers y aplicaciones para FreeRtosDesarrollo de drivers y aplicaciones para FreeRtos
Desarrollo de drivers y aplicaciones para FreeRtos
 
Codigos de terminal linux
Codigos de terminal linuxCodigos de terminal linux
Codigos de terminal linux
 

Mehr von miguelolivan

Adquisición de datos ADC Canberra con Arduino
Adquisición de datos ADC Canberra con ArduinoAdquisición de datos ADC Canberra con Arduino
Adquisición de datos ADC Canberra con Arduino
miguelolivan
 
Estimación tiempo muerto
Estimación tiempo muertoEstimación tiempo muerto
Estimación tiempo muerto
miguelolivan
 

Mehr von miguelolivan (6)

ANAIS: status and prospects
ANAIS: status and prospectsANAIS: status and prospects
ANAIS: status and prospects
 
Adquisición de datos ADC Canberra con Arduino
Adquisición de datos ADC Canberra con ArduinoAdquisición de datos ADC Canberra con Arduino
Adquisición de datos ADC Canberra con Arduino
 
Sistema de adquisición de datos para un experimento de detección directa de m...
Sistema de adquisición de datos para un experimento de detección directa de m...Sistema de adquisición de datos para un experimento de detección directa de m...
Sistema de adquisición de datos para un experimento de detección directa de m...
 
Estimación tiempo muerto
Estimación tiempo muertoEstimación tiempo muerto
Estimación tiempo muerto
 
Sistemas de control de versiones. Introducción a svn
Sistemas de control de versiones. Introducción a svnSistemas de control de versiones. Introducción a svn
Sistemas de control de versiones. Introducción a svn
 
Diseño del software de adquisición de datos para ANAIS
Diseño del software de adquisición de datos para ANAISDiseño del software de adquisición de datos para ANAIS
Diseño del software de adquisición de datos para ANAIS
 

Un Clúster con SLURM, uso y configuración

  • 1. Un Clúster con SLURM Uso y configuración Miguel Oliván ANAIS ­ GIFNA Universidad de Zaragoza
  • 2. 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
  • 3. 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
  • 4. SLURM  SLURM →Sistema gestor de recursos  Clusters heterogéneos  Tolerante a fallos  Configurable (gestión de nodos, trabajos, tareas  reservas, grupos, ...)  Extensible
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. Uso SLURM - Ejemplo #!/bin/sh #Available variables in sbatch script echo $SLURM_JOB_ID echo $SLURM_JOB_CPUS_PER_NODE #Environment variables ###GEANT4 G4SYSTEM=Linux-g++ G4WORKDIR=/media/next/SimData/laura/GeantWork/ #[...] export PATH=$PATH:$G4WORKDIR/bin/$G4SYSTEM #call slurm srun next225 "$@"
  • 10. 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)
  • 11. Supervisión  sview (visualización, cancelación, gestión, ...)
  • 12. 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)
  • 13. 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
  • 14. 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
  • 15. 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