![]() |
Un cúmulo, granja
o cluster de computadoras, lo podemos definir
como un sistema de procesamiento paralelo o distribuido. Consta de un
conjunto de computadoras independientes, interconectadas entre sí,
de tal manera que funcionan como un solo recurso computacional. A cada
uno de los elementos del cluster se le conoce como nodo.
Estos son aparatos o torres que pueden tener uno o varios procesadores,
memoria RAM, interfaces de red, dispositivos de entrada y salida,
y sistema operativo. Los nodos pueden estar contenidos e interconectados
en un solo gabinete, o, como en muchos casos, acoplados a través
de una red de área local (LAN (Local Area Network)). Otro
componente básico en un cluster es la interfaz
de la red, la cual es responsable de transmitir y recibir los
paquetes de datos, que viajan a través de la red entre los nodos.
Finalmente el lograr que todos estos elementos funcionen como un solo
sistema, es la meta a la que se quiere llegar para dar origen a un cluster.
|
![]() |
En
esta sección se presenta una descripción de los términos
utilizados en el mundo de los clusters. El concepto clustering
se refiere a una técnica que permite combinar múltiples
sistemas para que trabajen en paralelo y se comporten como un recurso
informático unificado para: servir a un grupo de tareas, proporcionar
tolerancia a fallos y tener disponibilidad continua. Por ejemplo, en el
caso de usuarios de Internet, el clustering
proporciona bases de datos, correo electrónico, ficheros u otros
servicios de sistema sin interrupciones. Si se presentara una falla dentro
de una red de servidores de un cluster, ésta se corregiría
inmediatamente sin que los usuarios lo notaran. Dentro de esta técnica
existen una serie de conceptos fundamentales que se describen a continuación.
Comencemos por explicar el concepto de paralelismo, que
consiste en el procesamiento de una serie de instrucciones de un programa,
que son ejecutadas por múltiples procesadores que trabajan de manera
independiente. El paralelismo puede manejarse en dos niveles: paralelismo
del hardware y el software.
El primero depende básicamente de la tecnología de cómputo
disponible, mientras el segundo se refiere a la habilidad del usuario
para encontrar áreas bien definidas del problema por resolver,
de tal forma que éste pueda ser dividido en partes autónomas
que serán distribuidas entre los nodos del cluster, obteniendo
un sistema de alto rendimiento computacional.
|
![]() |
En
la sección anterior se dio una descripción general de los
elementos necesarios para construir un cluster de computadoras.
Ahora surge la pregunta: ¿cuáles son las ventajas que nos
ofrecen estos sistemas? La respuesta inmediata es: alto rendimiento,
expansibilidad y escalamiento, soporte a alta carga de trabajo y alta
disponibilidad. A partir de esas características se puede
hacer una clasificación de los clusters.
Por disponibilidad, en esta categoría los usuarios pueden contar con clusters dedicados y no-dedicados. Los primeros están destinados a ejecutar un solo código, programa o aplicación. Por lo tanto los procesadores estarán funcionando al 100% en las tareas que se les asignaron. En los segundos, los procesadores serán utilizados al mismo tiempo por diferentes procesos. Dependiendo de la demanda de trabajo, se tendrá disponible cierto porcentaje del procesador. Por aplicación, aquí entran los clusters que ejecutan aplicaciones utilizadas en el Cómputo Científico, donde lo más importante es obtener un alto desempeño, optimizando el tiempo de procesamiento, es decir, evitando en lo posible demasiado tiempo de CPU en procesos de respaldo y lectura de datos. También en este grupo se encuentran los clusters de alta disponibilidad, donde lo fundamental es que los nodos-esclavos siempre se encuentren funcionando de manera óptima. Por hardware esta clasificación se hace de acuerdo a las características físicas de los equipos. Entonces, podemos encontrar clusters de computadoras personales (CoPs o PoPs, por sus siglas en inglés), clusters de estaciones de trabajo (COWs, por sus siglas en inglés) y clusters con multiprocesadores simétricos (CLUMPs, por sus siglas en inglés). También se pueden agrupar de acuerdo al sistema operativo (SO) instalado en sus nodos: clusters-Beowulf si el SO es Linux; clusters-NOW cuando funcionan a través de Solaris; clusters-NT si están basados en Windows NT; clusters-AIX cuando el SO es el utilizado por la compañía IBM; clusters-VMS si emplean el SO de Digital, y por último los clusters HP-UX y los Microsoft Wolfpack. Finalmente, la clasificación puede llevarse acabo por la configuración de los nodos a nivel del hardware y del SO: si el cluster es homogéneo significa que las arquitecturas son similares y todos los nodos corren el mismo SO. En el caso de los clusters heterogéneos, los nodos pueden tener arquitecturas diferentes y trabajar con SO distintos. |