Cluster Beowulf  


 

Que es un Cluster Beowulf?

Un  Beowulf es una clase de computador masivamente paralelo de altas prestaciones principalmente construido a base de un cluster de componentes hardware estándard. Un Beowulf ejecuta un sistema operativo de libre distribución como Linux o FreeBSD, y se interconecta mediante una red privada de gran velocidad. Generalmente se compone de un grupo de PCs o estaciones de trabajo dedicados a ejecutar tareas que precisan una alta capacidad de cálculo. Los nodos en el cluster de computadoras no se hayan en los puestos de trabajo de los usuarios, sino que están totalmente dedicados a las tareas asignadas al cluster. Generalmente, el cluster se haya conectado al mundo exterior por un solo nodo.

El software puede ejecutarse más rápido en un Beowulf si se dedica algún tiempo a reestructurar los programas. En general es necesario partirlos en tareas paralelas que se comunican usando alguna librería como MPI o PVM, o sockets o SysV IPC.

 

Tipos de Configuraciones

Las computadoras en un cluster se comunican mediante una red de interconexión. Existen distintos tipos de red disponibles. Un Hub ethernet es un dispositivo de red que actúa como un bus broadcast, en el cual una señal de entrada es amplificada y distribuida a todos los puertos. Sólo un par de computadoras se pueden comunicar correctamente a la vez. Si dos o más computadoras envían paquetes a la vez ocurrirá una colisión. Por tanto, el ancho de banda de un Hub Ethernet es equivalente al ancho de banda del link de comunicación, 10Mbps para estándard Ethernet, 100Mbps para Fast Ethernet, y 1Gbps para Gigabit Ethernet. Un Switch Ethernet ofrece más ancho de banda acumulado permitiendo múltiples comunicaciones simultáneas. Si no hay conflictos en los puertos de salida, el Switch Ethernet puede enviar múltiples paquetes simultáneamente. El coste por puerto de un Switch Ethernet es aproximadamente cuatro veces más grande que un Hub Ethernet.

Objetivos del Proyecto

El proyecto de construcción de un cluster tipo Beowulf se enmarca dentro de una acción estratégica del Departamento de Arquitectura de Computadores (DAC) en la EPSC, que permita dotarlo de una infraestructura básica de supercomputación paralela de bajo coste.

Las aplicaciones inmediatas de dicha infraestructura consistirían en aspectos tanto docentes como de investigación.

El cluster en la docencia

En el campo docente esta prevista la realización de diversos Trabajos de Final de Carrera (TFC) que incidan en aspectos como:

la construcción del cluster, 
su configuración usando diversas topologías de red y sistemas de comunicación, 
implantación de un sistema operativo distribuido, 
programación paralela, etc. 

Como fruto de estos trabajos está previsto que a medio plazo puedan incorporarse ciertos temas de supercomputación y de redes de computadores en algunas de las asignaturas que el DAC imparte en la EPSC, como: Sistemas Operativos, Laboratorio de Programación II, Fundamentos de Sistemas Distribuidos, etc. Así como la posible creación de asignaturas optativas.

El cluster en la investigación

En el campo de investigación, parte de los trabajos realizados por los investigadores del DAC en la EPSC se centran en temas como: "grid computing", sistemas distribuidos y verificación formal de sistemas concurrentes. Campos todos ellos, en los que se requiere una infraestructura de red y/o capacidades de computación de altas prestaciones.

Trabajos de final de carrera

Los tres TFCs propuestos inicialmente constan de una parte común que permita poner en marcha lo antes posible la implantación del cluster, así como proporcionar a los alumnos una base de conocimiento común. Más concretamente esta consistiría en:

Estudio de la computación en cluster y sus diversas alternativas. En concreto se dará una mayor importancia a todo lo referente al uso de clusters Linux tipo Beowulf.
Estudio básico de las necesidades de comunicación entre los nodos del cluster.
Estudio de la implicaciones que a nivel de sistema operativo tiene la implantación de una arquitectura tipo cluster.
Estudio básico de las diferentes alternativas de programación paralela en tales arquitecturas.


PFC 1: Construcción de un cluster Linux tipo Beowulf

El PFC engloba todo lo referente a la construcción física del cluster, así como la instalación y configuración del sistema operativo y las herramientas de soporte a la programación paralela.

A grandes rasgos, los pasos a seguir para la realización de este PFC serian los siguientes:

Creación de la red con los equipos disponibles.
Instalación y configuración de los equipos de red. Esto incluye el soporte de red en el ordenador servidor y los nodos clientes del cluster.
Configuración del S.O. en el servidor y en los nodos clientes. En este caso se valoraran alternativas como la carga del sistema a través de red (boot remoto), etc.
Instalación y configuración del software de soporte a la programación paralela.

PFC 2: Evaluación de las herramientas de programación paralela en cluster Beowulf

El PFC trata del estudio y evaluación de diferentes soluciones existentes de soporte a la programación paralela. En particular se estudiaran en profundidad las diferentes implementaciones de las librerías MPI. El objetivo último será el desarrollo de una aplicación paralela demostrativa, que permita comparar de forma practica las diferentes alternativas valoradas.

A grandes rasgos, los pasos a seguir para la realización de este PFC serían los siguientes:

Estudio comparativo de las librerías de soporte a la programación paralela: PVM, MPI, ...
Comparación cualitativa de diversas implementación de MPI: LAM, MPICH, ...
Desarrollo y evaluación del rendimiento de una aplicación paralela demostrativa sobre MPI

PFC 3: Evaluación de las comunicaciones en un cluster Beowulf

El objetivo de este PFC es el estudio de los diferentes parámetros de rendimiento de las comunicaciones en el cluster. Tanto a nivel de la propia topología de la red, como a nivel del equipo utilizado, etc.

A grandes rasgos, los pasos a seguir para la realización de este TFC serian los siguientes:

Estudio de diferentes herramientas de evaluación del rendimiento de la red en un cluster
Estudio de diferentes topologías de red en función de los equipos de comunicación utilizados: hubs, switchs, ...
Evaluación de las topologías propuestas

Links de interés

A continuación se incluyen algunos links de interés para introducirse en el mundo del Cluster Computing.

Creación de un Beowulf

Librerías de procesado distribuido

 

Indice Proyectos y Contactos  Inicio

Última actualización: 26 de mayo  del 2002
Copyright © 2000, 2001 Departament d'Arquitectura de Computadors