CLUSTERS :: Definiciones
Clusters | Herramientas de Instalación Automáticas de Clusters | Herramientas de Desarrollo | Adminsitración y Planificación de Tareas


Herramientas de Instalación Automática de Clusters Beowulf


 

BEOWULF

“Existen tantas definiciones de Beowulf así como personas que han construido o usado supercomputadores Beowulf“. Algunos autores afirman que se debe llamar Beowulf sólo aquellos computadores construidos de la misma forma que el computador original de la NASA. Otros autores, un tanto extremistas, llaman Beowulf a cualquier sistema de computadores que ejecute código paralelo. Sin embargo, hay autores que coinciden con la siguiente definición: “Beowulf es una arquitectura conformada por múltiples computadores que puede usarse para computación paralela”.

En 1994 bajo el patrocinio del Proyecto de la Tierra y Ciencias del Espacio (ESS – Earth and Space Sciences) del Centro de Excelencia en Datos del Espacio y Ciencias de la Información (CESDIS - Center of Excellence in Space Data and Information Sciences), Thomas Sterling y Don Becker crearon el primer cluster Beowulf con fines de investigación. Thomas Sterling nombró Beowulf al proyecto en honor al héroe de un cuento inglés, quien liberó a “Danes of Heorot” del monstruo opresivo Grendel. A manera de metáfora, se nombró Beowulf a esta nueva estrategia en computación de alto rendimiento que hace uso de tecnología bien difundida en el mercado, para derrotar a los costos opresores en tiempo y dinero de la supercomputación.

Un sistema Beowulf usualmente consiste de un nodo servidor (maestro) y uno o más nodos clientes (esclavos), interconectados a través de una red Ethernet u otro tipo de red. Un cluster Beowulf se construye usando componentes de hardware y de software “bien conocidos” (commodities).

Para establecer las diferencias entre los distintos tipos de sistemas Beowulf, se presenta la siguiente clasificación:

• Clase I. Son sistemas compuestos por computadores cuyos componentes cumplen con la prueba de certificación “Computer Shopper”, lo que significa que sus elementos son de uso común, y pueden ser adquiridos muy fácilmente en cualquier tienda distribuidora.

• Clase II. Son sistemas compuestos por computadores cuyos componentes no pasan la prueba de certificación “Computer Shopper”, lo que significa que sus componentes no son de uso común y por tanto no pueden encontrarse con la misma facilidad que los componentes de sistemas de la clase anterior. Los equipos ubicados en esta categoría pueden presentar un nivel de prestaciones superior al de la Clase I.

Por lo general, los clusters Beowulf se basan en hardware bien conocido, con una infraestructura de software de código abierto (Linux). Los nodos que conforman el cluster se encuentran dedicados únicamente a tareas del cluster. Los programas están escritos en C o en Fortran, utilizando librerías de paso de mensajes para realizar operaciones paralelas.

Existen algunas herramientas que permiten instalar, configurar y administrar clusters Beowulf de forma automática, como es el caso de OSCAR y NPACI Rocks. Las dos herramientas incluyen las mejores prácticas de computación cluster tipo Beowulf de alto rendimiento. OSCAR permite implementar clusters Beowulf Clase I; mientras que NPACI Rocks permite implementar clusters Beowulf Clase I o Clase II.


 

OSCAR

OSCAR es una colección de software de código abierto para crear un cluster sobre Linux desarrollada por el Grupo de Clusters Abiertos (OCG – Open Cluster Group).

El objetivo primario del grupo de trabajo OSCAR es conseguir que la instalación, la configuración y la administración de un cluster de tamaño modesto, sea fácil. Cualquier cosa necesaria para un cluster – instalación y configuración, mantenimiento, programación [paralela], sistemas de encolamiento, programación de tareas – está incluida en OSCAR.

OSCAR se instala sobre un computador con una distribución Linux previamente. OSCAR realiza la instalación y/o configuración de los paquetes necesarios para el cluster de forma automática.

ARQUITECTURA DE OSCAR
Los computadores que conforman el cluster se denominan nodos, existen dos tipos de nodos: un nodo principal (nodo servidor) y varios nodos de cómputo (nodos clientes).

El nodo principal provee respuestas a los pedidos de servicio y asigna las tareas apropiadas a cada nodo cliente. Los nodos clientes se dedican a realizar tareas de cómputo, poseen hardware homogéneo y disponen de una copia completa del sistema operativo y de otros programas. Los nodos se comunican a través de una red Ethernet que no está expuesta al mundo exterior; el nodo servidor posee dos interfaces de red: una interfaz de red conectada al mundo externo y una interfaz conectada a la red interna.


Arquitectura OSCAR

[SUBIR]


 

NPACI Rocks

NPACI (National Partnership for Advanced Computational Infrastructure) Rocks es una colección de software de código abierto para crear un cluster sobre Linux Red Hat, desarrollada por el Grupo de Computación Cluster del Centro de Supercomputación de San Diego, California.

El objetivo principal de Rocks es permitir que la instalación de un cluster sea lo más fácil posible. Para cumplir con este objetivo, la instalación realiza una serie de suposiciones acerca del software que será incluido y cómo el cluster será configurado.

Rocks realiza una instalación completa del sistema operativo sobre un nodo. Rocks incorpora una versión de la distribución de Red Hat con software adicional específico para clusters. Adicionalmente, Rocks configura correctamente varios servicios. Al instalar Rocks, éste instalará Linux, por lo que no es posible agregar Rocks sobre un servidor existente o usarlo con alguna distribución de Linux diferente.

Rocks permite la creación de clusters más complejos que los creados con OSCAR. Tiene soporte para sistemas Itanium (tecnología Intel de 64 bits) y Opteron (tecnología AMD de 64 bits), así como sistemas basados en la tecnología Intel de 32 bits.

Una de las principales características de Rocks es un mecanismo robusto para producir distribuciones personalizadas (con parches de seguridad preaplicados tanto a nivel del kernel como a nivel de aplicación), el mismo que define un conjunto completo de software para un nodo en particular.

ARQUITECTURA DE Rocks
La arquitectura tradicional de un sistema Rocks está compuesta por un nodo servidor (frontend), varios nodos cliente, una red Ethernet y una red opcional de alto rendimiento (Myrinet o Gigabit Ethernet).

El nodo frontend está expuestos al mundo exterior. Sobre este nodo se ejecutan algunos servicios como NFS, NIS, DHCP, NTP, MySQL, HTTP. En el nodo frontend los usuarios se conectan al sistema, presentan tareas, compilan código, etc. Este nodo pueden actuar como enrutador para otros nodos usando NAT (Network Address Translation). Los nodos de cómputo son nodos esclavos. Son los que ejecutan todas las tareas. Las herramientas de Rocks permiten que un sistema operativo completo sea reinstalado en cada nodo de cómputo en una cantidad pequeña de tiempo (~10 minutos).

Arquitectura Rocks

[SUBIR]