wiki:ColasPBS

Version 2 (modified by lluis, 12 years ago) (diff)

--

Introducción

Un clúster es una agrupación de unidades de computación el cual permite trabajar con unidades individuales o cualquier subconjunto de ellas. Las unidades de computación pueden ser de muchos tipos y tener muchas características distintas, por lo general con una unidad de cálculo (core) y una memória (particular del core o compartida con otros). Un clúster suele tener much@s usuari@s que querrán ejecutar distintas aplicaciones. Un gestor de colas es el software encargado de manejar las aplicaciones que se quieren ejecutar en un determinado clúster.

Gestor de colas

Para que un clúster funcione adecuadamente para tod@s us usuari@s y el gestor de colas pueda hacer su trabajo, l@s usuari@s sólo tienen que interactuar con el gestor por medio de jobs. Estos jobs son peticiones de recursos del clúster (número de cores, tiempo de ejecución...) necesarios poder lanzar la aplicación del usuari@. El gestor de colas será el encargado de permitir la ejecución de la petición si hay suficientes recursos disponibles en el clúster. En caso contrario, el trabajo se quedará encolado, a la espera de que haya los recursos suficientes requeridos en el job. De esta manera, todas las peticiones de l@s usuari@s son centralizadas y manejadas automáticamente por el gestor de colas. Este gestor de colas puede a su vez, estar siguiendo unas directrices de prioridades de ejecución determinadas por otros softwares buscando maximizar el rendimiento del clúster.

El sistema de colas del clúster del Grupo de Meteorología de Santander (Diciembre 2010) es el sistema de colas PBS (Portable Batch System).

Job

Un job del clúster tiene unos cuantos requerimientos básicos tales como:

  • número de cores: el número de unidades de cálculo que se requieren para la ejecución del job.
  • cola de ejecución: etiqueta que se le da a un grupo de cores. Determina los cores que tendrán que compartir todos los jobs que se manden en concreto a una cola. Es muy común que un clúster se compartimente en distintas colas a modo de intentar maximizar el rendimiento de un clúster. Estas colas pueden compartir cores entre ellas y estar asignadas a proyectos y/o grupos de usarios distintos.
  • wall-time: determina el tiempo de ejecución del job dentro del clúster. Una vez pasado este tiempo el job y su aplicación seran detenidos forzosamente. Es un muy común que en los clústers se ejectuen antes los jobs con un wall-time pequeño que con uno de grande

La pericia de l@s usuari@s en saber escoger adecuadamente los requerimientos de sus jobs, determinará el éxito a la hora de que se ejecuten sus jobs.

Las unidades básicas que constituyen un clúster son:

  • nodos: computadoras que contienen una estructura parecida a un ordenador común. Con una o mas cpus que a su vez pueden contener 2, 4, 8, 16 o más cores. Memoria total y espacio de almacenamiento (en uno o varios discos duros).
  • switch: unidad de interconnexión entre nodos
  • unidad de almacenamiento: máquina constituida por un conjunto de discos duros. Suele tener tres espacios básicos:
    • HOME: Es un directorio particular de cada usuario al cual se accede al iniciar una sesión/job en el clúster
    • datos: datos necesarios para trabajar con las aplicaciones de los usuarios del clúster
    • trabajo: espacio en donde se almacenan los resultados de los jobs
    • Lo mas común es que todas las unidades de almacenamiento sean visibles des de todos los nodos de un clúster

Partes de un job en una cola PBS

En esencia los gestores colas son muy parecidos entre sí. Sólo cambia parte de su semántica.

En la gestión de colas PBS existen dos términos para referirse a la unidad cálculo: el node y el cpp. Un node equivalen a las unidades físicas de cálculo (las cpus) que integran distintas cantidades de cores cpp (2, 4, 8, 16,...)

Infraestructura del GMS

La infraestructura del Grupo de Meteorología de Santander (GMS) es la siguiente (diciembre 2010):

  • nodos:
    • nodos viejos: 9 nodos de 1 cpu de 2 cores y 2 GB de memória (nodos [001]-[009])
    • nodos menos viejos: 26 nodos de 2 cpus de 4 cores y 8 GB de memória (nodos [010]-[025])
    • nodos nuevos: 12 nodos de 2 cpus de 8 cores y 16 GB de memória (nodos [031]-[036], [041]-[046])
  • Almacenamiento almacenamiento masivo (42 TB) visible desde todos los nodos con:
    • /oceano/gmeteo/users/[usario]: HOME del usuario llamado [usuario]
    • /oceano/gmeteo/DATA: almacenamiento de todos los datos (observaciones, GCMs, RCMs, ...)
    • /oceano/gmeteo/WORK: directorio de trabajo
    • /software: directorio con todas las aplicaciones

Attachments (6)

Download all attachments as: .zip