- -

Árbol de páginas

Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

 

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:

...

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:

Bloque de código
languagebash
. /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 listar todos los trabajos de todos los usuarios es necesario usar -u '*'.

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

View file
nameSGEUserGuide.pdf
height250