- -

Árbol de páginas

Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual Ver el historial de la página

« Anterior Versión 4 Siguiente »

 

Cluster Rigel

A través de financiación FEDER se ha incorporado un nuevo sistema de cálculo científico a la infraestructura ofertada por ASIC a la comunidad universitaria. El sistema se compone de:

1) Clúster general

El cluster para proceso paralelo masivo está compuesto por 72 nodos. Los nodos del cluster son BX920S3 de Fujitsu sobre chasis blade BX900S2. Este modelo de blade incorpora 18 servidores por chasis. El cluster está formado por un total de 4 chasis. Cada nodo del chasis tiene las siguientes características:

  • Dos procesadores Intel Xeon E5-2450 8c/16T
  • 64 GB/RAM DDR3 (ratio de 4GB/core).
  • 2 x interfaces 1 0 GbE.
  • Interface GbE.

En cada chasis se sitúan dos switches 10 GbE. Cada switch tiene un total de 18 internos hacia los blades y 8 externos para uplink.

El procesador E-2450 proporciona un buen compromiso entre eficiencia y consumo, el cluster alcanza una potencia de cálculo de 20,6 TeraFLOPS (en la ejecución de un test de LINPACK).

2) Clúster memoria compartida

Para aquellos programas muy intensivos en consumo de memoria, el cluster de sistemas de memoria compartida es una solución idónea. Está compuesto por 4 servidores RX500S7 con cuatro procesadores Intel Xeon E5-4620 de 8 núcleos (32 núcleos por nodo). Las características de cada nodo son:

  • Cuatro procesadores Intel Xeon E5-4620 8c/16T.
  • Memoria RAM: 256GB DDR3 (ratio 8GB/core).
  • 2 x interfaces 10GbE.
  • 2 x Interfaces GbE.
  • 2 x FC 8Gb/seg.

El procesador E5-4620 proporciona buen compromiso entre eficiencia y consumo, el cluster alcanza una potencia de 2,1TeraFlops (test LINPACK).

 

3) Clúster GPU's

Se han incorporado dos equipos con tarjetas GPUs. Los sistemas basados en GPUs tienen cada vez más demanda, pues sus prestaciones son excelentes. Como contrapartida está su dificultad de programación pero cada vez más las aplicaciones de cálculo pueden aprovecharse de las características de las GPUs para obtener incrementos muy significativos de rendimiento.

Se han incorporado a la solución dos sistemas CX270 S1 de fujitsu con tarjetas NVidia Tesla M2075 GPSPU proporcionando 1,5 TeraFlops (test LINPACK).

4) Sistemas auxiliares

a) Nodos de cabecera

Lo forman dos nodos RX200 S7 para la gestión de usuarios, gestor de colas, monitorización etc.. :

  • Dos procesadores E5-2650 8c/16T con 64GB DDR3.
  • 2 x interfaces 10GbE.
  • 2 x Interfaces GbE.
  • 2 x FC 8Gb/seg.

b) Redes de interconexión

Todos los servidores se conectan a las siguientes redes:

  • Red de control maquinas físicas: esta red no es accesible por el usuario, su propósito es el control de hardware, así como la gestión de despliegue. Se dispone de un interfaz específico IRMC en cada sistema. Todos los servidores disponen de un interfaz GbE conectado a la red de administración a través de 2 switches Brocade de 48p.
  • Red de gestión. Todos los servidores disponen al menos de un interfaz GbE conectado a ella.
  • Red HPC: el núcleo del cálculo intensivo al que se conectan los blades, los nodos del cluster de memoria compartida, los equipos con GPUs y los equipos de almacenamiento de alto rendimiento (LUSTRE) por doble enlace de 10GbE. El backbone lo forman los 2 switches 10GbE de cada chasis blades (8 en total) y los dos switches de 24 puertos, conectados a su vez con el backbone general de la UPV.
  • Red acceso usuarios, con conectividad 10GbE.

c) Almacenamiento

El sistema de almacenamiento de alto rendimiento LUSTRE tiene como objetivo proporcionar a los usuarios un espacio de disco unificado. En los volúmenes, que serán visibles desde todos los nodos del clúster, los usuarios guardarán sus programas, datos, salidas de procesos. El sistema está formado por varios elementos:

6 nodos RX200 S7 de Fujitsu con las siguientes características:

  • Dos procesadores E5-2640 6/12T 64DDR3
  • 2 x interfaces 10GbE.
  • 2 x Interfaces GbE
  • 2 x FC 8Gb/seg .

Dos de estos equipos se encargan de las tareas correspondientes a gestión de los metadatos MDS, MGS y los 4 restantes a gestión de los datos OSS-1 OSS-2 OSS-3 OSS-4 .

3 cabinas Ethernus DX90, una de ellas dedicada a almacenamiento de metadatos y otras dos a datos propiamente. Todas ellas con doble controladora RAID, 8GB cache, doble tarjeta FC, así como 11 discos 600Gb a 15krpm en la cabina de metadatos y 23 discos 3Tb a 7,2krpm en las de datos.

El sistema está conectado a la red FibreChannel de la UPV a través de dos switches Brocade 300 de 16 bocas .

d) Sistemas de protección de datos: backup a disco

Se ha implementado una solución de backup a disco mediante un sistema CS800 con deduplicación que permite incrementar la velocidad de las copias de seguridad y sus recuperaciones. El sistema tiene una capacidad de 80 TB netos.

d) Acondicionamiento de equipos

Todos los equipos están situados en racks cerrados con unidades adosadas de refrigeración por agua del tipo CoolLoop intercaladas con los armarios, de modo que las unidades de climatización están integradas dentro de los propios armarios.

Completando la instalación dos enfriadoras de agua (chiller) que refrigeran el sistema.

 

5) Entorno de usuario

Todos los sistemas de RIGEL (Cluster General, Cluster Memoria Compartida y Cluster GPUs) tienen instalada la misma versión de Sistema Operativo, CentOS 6, y la misma configuración, tanto del sistema operativo como librerías y utilidades.

El gestor de colas es SGE, y todo trabajo debe ser enviado a través de colas para su ejecución. Cuando un usuario se da de alta en RIGEL, se le indicará el modo de enviar sus trabajos a través de manuales y documentación en línea.

Las opciones especificadas en el envio de trabajos permiten al sistema SGE asignar a las diferentes colas los trabajos según requerimientos especificados.

El esquema de autenticación es por LDAP y la contraseña se valida con Active Directory de la UPV.

Los usuarios no pueden acceder de modo interactivo a los nodos de cálculo, sólo trabajan en los nodos de cabecera, a los que pueden acceder por ssh. El frontend de usuario es un cluster en alta disponibilidad de dos sistemas, y su dirección es rigel.cc.upv.es

El directorio home del usuario está montado en /home/grupo/usuario en todos los nodos de todos los clusters.

El sistema tiene programas de aplicación instalados que pueden ser utilizados por cualquier usuario. Se recomienda consultar la lista y el manual de uso de los mismos.

Para los usuarios que necesiten compilar sus aplicaciones, pueden hacerlo con los compiladores estándar de Linux (gcc/g77) y los compiladores Intel Fortran e Intel C/C.

6) Acceso básico

En Rigel estan instalados los compiladores de Intel y GNU.

Por defecto, el entorno de usuario está preparado para usar los compiladores GNU.

También las ordenes mpicc, mpif77 y mpif90 que se encuentran en el $PATH son versiones que usan OpenMPI y compiladores GNU.

Para usar los compiladores Intel en lugar de los GNU, basta con incluir esta linea en el fichero .bashrc del usuario:

. /home/apps/envs/ompi/1.6.4/i13.1.117

7) Sistema de colas

Para que el uso del sistema sea lo mas efectivo posible, todos los trabajos de cálculo deben enviarse siempre por medio del gestor de colas.

En el siguiente resumen se muestran las ordenes mas importantes para enviar un trabajo al gestor de colas.

El gestor de colas le asignara recursos cuando le llegue su turno.

El gestor de colas instalado en en Rigel es SGE (SUN Grid Engine).

Ordenes del sistema de colas

Para enviar a ejecutar un script utilizar qsub script:

El sistema responderá con información sobre el trabajo enviado así como un identificador.

rigel$ qsub run.sh
cpus=8 h_rt=0h:10m:0s h_vmem=1g cputime=1h:20m:0s
Your job 7283 ("run.sh") has been submitted

En el script se deben incluir ciertas directivas que indican al sistema de colas los recursos (memoria, procesadores, tiempo) que se requieren. Debe indicarse el entorno paralelo y numero de cpus (nodes), la cantidad de memoria por core (h_vmem), y el tiempo maximo de ejecucion (h_rt).

# Ejemplo de cabecera de un script qsub.
# Las lineas que comienzan por #$ son indicaciones al sistema de colas
# Solicitar 8 tareas paralelas en entorno MPI
# Solicitar 2 GB de memoria por core y 30 minutos de tiempo de ejecucion.
#$ -pe mpi 8
#$ -l h_vmem=2gb,h_rt=00:30:00

Si se omite el parametro -pe se asigna 1 core.
Si se omite el parametro h_vmem se establece un limite de 1 GB.
Si se omite el parametro h_rt se establece un limite de 1 hora.

Pueden verse algunos ejemplos en el directorio /ayuda/ejemplos de rigel.

Por defecto SGE deposita la salida de los trabajos en ficheros que se crean en el directorio de trabajo. El nombre de estos ficheros tiene el formato

run.sh.e7283
run.sh.o7283

donde la e significa error y la o salida. Es decir contienen los errores y el resultado de la ejecución respectivamente.

Para consultar el estado de los trabajos encolados qstat:

Sin parámetros devuelve los trabajos del propio usuario.

rigel$ qstat
job-ID  prior   name       user    state submit/start at     queue                          slots ja-task-ID
----------------------------------------------------------------------------------------------------------------------
  7284 0.00000 run.sh     ico          qw    07/11/2013 14:07:03                                    8

Donde se puede observar que el trabajo está en cola y esperando, qw.

Cuando el trabajo entra ejecución la salida nos muestra en qué cola (y nodo) se está ejecutando.

rigel$ qstat
job-ID  prior   name       user    state submit/start at     queue                          slots ja-task-ID
-----------------------------------------------------------------------------------------------------------------
   7284 0.56000 run.sh     ico          r     07/11/2013 14:07:12 general@hpc033.cc.upv.es           8

Con el parámetro -g t mostrará todas las tareas en paralelo para el trabajo.

Se pueden obtener los detalles de un trabajo concreto con -j identificador.

Para cancelar un trabajo:

qdel identificador

Notas

  • Las colas definidas en este momento limitan el tiempo de ejecucion de un trabajo a un maximo de 144 horas y el tiempo total de cpu (numero de procesadores * tiempo de ejecucion ) a un maximo de 1000 horas. Estos parámetros se pueden ir modificando para optimizar el rendimiento del sistema.
  • El cluster esta formado por 4 servidores Fujitsu RX500 de 32 cores / 265GB de RAM y 72 blades Fujitsu BX920 de 16 cores / 64GB de RAM. Todos los nodos tienen hyperthreading activado y por ello se admiten 32 tareas en los BX920 y 64 tareas en los RX500.
  • Los procesadores de estos dos tipos de nodos son diferentes. En el caso del BX920 son Intel Xeon E5-2650 a 2.00GHz, y en el caso de los RX500 son Intel Xeon E7-4620 a 2.20GHz

Ejemplos de parámetros de qsub:

-pe mp 32 -l exclusive=true,h_rt=2:00:00,h_vmem=2g

(trabajo OpenMP que ocupa 1 nodo BX920 durante 2 horas)

-pe mpi 128 -l exclusive=true,h_rt=2:00:00,h_vmem=2g

(trabajo MPI que ocupa 4 nodos BX920 durante 2 horas)

-cwd

(iniciar trabajo en directorio actual en lugar de $HOME)

Mas informacion sobre el uso del sistema de colas en las paginas de manual de qsub, qstat, qdel.

SGE USer Guide

  • Sin etiquetas