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


Clusters


El término cluster se aplica a un conjunto o conglomerado de computadores, construido utilizando componentes de hardware comunes y en la mayoría de los casos, software libre; los computadores se interconectan mediante alguna tecnología de red. El cluster puede estar conformado por nodos dedicados o por nodos no dedicados.

En un cluster con nodos dedicados, los nodos no disponen de teclado, mouse ni monitor y su uso está exclusivamente dedicado a realizar tareas relacionadas con el cluster. Mientras que, en un cluster con nodos no dedicados, los nodos disponen de teclado, mouse y monitor y su uso no está exclusivamente dedicado a realizar tareas relacionadas con el cluster, el cluster hace uso de los ciclos de reloj que el usuario del computador no esta utilizando para realizar sus tareas.

Simplemente, un cluster es un grupo de múltiples computadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un único computador, más potente que los comunes de escritorio.

Los computadores del cluster pueden tener, todos, la misma configuración de hardware y sistema operativo (cluster homogéneo), diferente rendimiento pero con arquitecturas y sistemas operativos similares (cluster semi-homogéneo), o tener diferente hardware y sistema operativo (cluster heterogéneo), lo que hace más fácil y económica su construcción.

Para que un cluster funcione como tal, no basta solo con conectar entre sí los computadores, sino que es necesario proveer un sistema de administración del cluster, el cual se encargue de interactuar con el usuario y los procesos que corren en él para optimizar su funcionamiento.


 

Beneficios de la Tecnología Cluster

Las aplicaciones paralelas escalables requieren: buen rendimiento, baja latencia, comunicaciones que dispongan de gran ancho de banda, redes escalables y acceso rápido a archivos. Un cluster puede satisfacer estos requerimientos usando los recursos que tiene asociados a él.

Los clusters ofrecen las siguientes características a un costo relativamente bajo:
• Alto Rendimiento (High Performance).
• Alta Disponibilidad (High Availability).
• Alta Eficiencia (High Throughput).
• Escalabilidad.

La tecnología cluster permite a las organizaciones incrementar su capacidad de procesamiento usando tecnología estándar, tanto en componentes de hardware como de software que pueden adquirirse a un costo relativamente bajo.

[SUBIR]


 

Clasificación de los Clusters

Los clusters pueden clasificarse en base a sus características. Se pueden tener clusters de alto rendimiento (HPC – High Performance Clusters), clusters de alta disponibilidad (HA – High Availability) o clusters de alta eficiencia (HT – High Throughput).

High Performance
Son clusters en los cuales se ejecutan tareas que requieren de gran capacidad computacional. El llevar a cabo estas tareas puede comprometer los recursos del cluster por largos periodos de tiempo.

High Availability
Son clusters cuyo objetivo de diseño es el de proveer disponibilidad y confiabilidad. Estos clusters tratan de brindar la máxima disponibilidad de los servicios que ofrecen. La confiabilidad se provee mediante software que detecta fallos y permite recuperarse frente a los mismos, mientras que en hardware se evita tener un único punto de fallos.

High Throughput
Son clusters cuyo objetivo de diseño es el ejecutar la mayor cantidad de tareas en el menor tiempo posible.

[SUBIR]


 

Componentes de un Cluster

En general, un cluster necesita de varios componentes de software y hardware para poder funcionar:

  • Nodos
  • Sistemas Operativos
  • Conexiones de Red
  • Middleware (capa de abstracción entre el usuario y los sistemas operativos)
  • Ambientes de Programamción Paralela .
  • Aplicaciones (pueden ser paralelas o no)

Componentes de un cluster

Nodos
Pueden ser simples computadores, sistemas multi procesador o estaciones de trabajo.

Sistemas Operativos
Debe ser de fácil uso y acceso y permitir además múltiples procesos y usuarios.

Conexiones de Red
Los nodos de un cluster pueden conectarse mediante una simple red Ethernet, o puede utilizar tecnologías especiales de alta velocidad como Fast Ethernet, Gigabit Ethernet, Myrinet, Infiniband, SCI.

Middleware
El middleware es un software que generalmente actúa entre el sistema operativo y las aplicaciones con la finalidad de proveer:

  • Un interfaz único de acceso al sistema, denominado SSI (Single System Image), el cual genera la sensación al usuario de que utiliza un único computador muy potente;
  • Herramientas para la optimización y mantenimiento del sistema: migración de procesos, checkpoint-restart (detener uno o varios procesos, migrarlos a otro nodo y continuar su funcionamiento), balanceo de carga, tolerancia a fallos, etc.;
  • Escalabilidad: debe poder detectar automáticamente nuevos nodos conectados al cluster para proceder a su utilización.

Existen diversos tipos de middleware, como por ejemplo: MOSIX, Condor, Open MOSIX, OpenSSI, entre otros.

Ambientes de Programación Paralela
Los ambientes de programación paralela permiten implementar algoritmos que hagan uso de recursos compartidos: CPU (Central Processing Unit), memoria, datos y servicios.

[SUBIR]


 

Sistemas Clusters Implementados

Beowulf
Fue construido por Donald Becker y Thomas Sterling en 1994. Fue contruido con 16 computadores personales con procesadores Intel DX4 de 200 MHz, que estaban conectados a través de un switch Ethernet. El rendimiento teórico era de 3.2 GFlops.

Berkeley NOW
El sistema NOW de Berkeley estuvo conformado por 105 estaciones de trabajo Sun Ultra 170, conectadas a través de una red Myrinet. Cada estación de trabajo contenía un microprocesador Ultra1 de 167 MHz, caché de nivel 2 de 512 MB, 128 MB de memoria, dos discos de 2.3 GB, tarjetas de red Ethernet y Myrinet. En abril de 1997, NOW logró un rendimiento de 10 GFlops.

Google
Durante el año 2003, el cluster Google llegó a estar conformado por más de 15.000 computadores personales. En promedio, una consulta en Google lee cientos de megabytes y consume algunos billones de ciclos del CPU.

Cluster PS2
En el año 2004, en la Universidad de Illinois en Urbana-Champaign, Estados Unidos, se exploró el uso de consolas Play Station 2 (PS2) en cómputo científico y visualización de alta resolución. Se construyó un cluster conformado por 70 PS2; utilizando Sony Linux Kit (basado en Linux Kondora y Linux Red Hat) y MPI.

Cluster X
En la lista “TOP 500” de noviembre de 2004 fue considerado el séptimo sistema más rápido del mundo; sin embargo, para julio de 2005 ocupa la posición catorce. Cluster X fue construido en el Tecnológico de Virginia en el 2003; su instalación fue realizada por estudiantes del Tecnológico. Está constituido por 2200 procesadores Apple G5 de 2.3 GHz. Utiliza dos redes: Infiniband 4x para las comunicaciones entre procesos y Gigabit Ethernet para la administración. Cluster X posee 4 Terabytes de memoria RAM y 176 Terabytes de disco duro, su rendimiento es de 12.25 TFlops. Se lo conoce también como Terascale.

MareNostrum
En julio de 2004 se creó el Centro de Supercomputación de Barcelona (BSC), de la Universidad Técnica de Cataluña, España. El BSC creó el cluster MareNostrum. En noviembre de 2004 MareNostrum se ubicó en el “TOP 500”, como el primer cluster más veloz y el cuarto sistema más rápido del mundo; sin embargo, para julio de 2005 se ubicó en la quinta posición. Está conformado por 3564 procesadores PowerPC970 de 2.2 GHz. Utiliza una red Myrinet. Su rendimiento es de 20.53 TFlops.

Thunder
Thunder fue construido por el Laboratorio Nacional Lawrence Livermore de la Universidad de California. Está conformado por 4096 procesadores Intel Itanium2 Tiger4 de 1.4GHz. Utiliza una red basada en tecnología Quadrics. Su rendimiento es de 19.94 TFlops. Se ubicó en la segunda posición del “TOP 500” durante junio de 2004, luego en la quinta posición en noviembre de 2004 y en la lista de julio de 2005 se ubicó en la séptima posición.

ASCI Q
ASCI Q fue construido en el año 2002 por el Laboratorio Nacional Los Álamos, Estados Unidos. Está constituido por 8192 procesadores AlphaServer SC45 de 1.25 GHz. Su rendimiento es de 13.88 TFlops. Se ubicó en la segunda posición del “TOP 500” durante junio y noviembre de 2003, luego en la tercera posición en junio de 2004, en la sexta posición en noviembre de 2004 y en la doceava posición en julio de 2005.

[SUBIR]