Está en la página 1de 3

Cluster

Conjunto de computadores construidos mediante la utilización de componentes hardware comunes


y que se comportan como una única computadora.

Beneficios del uso de Clusters:


Esto es que 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.
 Alta Disponibilidad.
 Alta Eficiencia.
 Escalabilidad.
Construir un Cluster sería benéfico en varios aspectos en una variedad de aplicaciones y ambientes:
 incremento de velocidad de procesamiento ofrecido por los clusters de alto rendimiento
 incremento del número de transacciones o velocidad de respuesta ofrecido por los cluster de
balance de carga
 incremento de confiabilidad ofrecido por los clusters de alta disponibilidad
Por ejemplo, en la investigaciones meteorológicas y pronóstico numérico del estado del tiempo, se
requiere el manejo de cantidades masivas de datos y cálculos muy complejos. Al combinar el poder
de muchas máquinas del tipo estación de trabajo o servidor, se pueden alcanzar niveles de
rendimiento similares a los de las supercomputadoras, pero a menor costo (pues estas requieren de
hardware y software especializado muy caro, así como personal de soporte técnico dedicado) .
Otro ejemplo sería el de la situación de un sitio Web de mucho tráfico. Si no se cuenta con un plan
de alta disponibilidad, cualquier problema menor de una tarjeta de red, puede hacer que un servidor
quede completamente inutilizado. Pero al contar con servidores redundantes y servidores de
respaldo instantáneos, se puede reparar el problema mientras el sitio funciona con el plan de
respaldo, sin suspensión de servicio.1

Cluster de alta disponibilidad


Un cluster de alta disponibilidad es un conjunto de dos o más máquinas que se caracterizan por
mantener una serie de servicios compartidos y por estar constantemente monitorizándose entre sí.
Podemos dividirlo en dos clases:
Alta disponibilidad de infraestructura: Si se produce un fallo de hardware en alguna de las
máquinas del cluster, el software de alta disponibilidad es capaz de arrancar automáticamente los
servicios en cualquiera de las otras máquinas del cluster (failover). Y cuando la máquina que ha
fallado se recupera, los servicios son nuevamente migrados a la máquina original (failback). Esta
capacidad de recuperación automática de servicios nos garantiza la alta disponibilidad de los
servicios ofrecidos por el cluster, minimizando así la percepción del fallo por parte de los usuarios.
Alta disponibilidad de aplicación: Si se produce un fallo del hardware o de las aplicaciones de
alguna de las máquinas del cluster, el software de alta disponibilidad es capaz de arrancar
automáticamente los servicios que han fallado en cualquiera de las otras máquinas del cluster. Y
cuando la máquina que ha fallado se recupera, los servicios son nuevamente migrados a la máquina
original. Esta capacidad de recuperación automática de servicios nos garantiza la integridad de la
información, ya que no hay pérdida de datos, y además evita molestias a los usuarios, que no tienen
por qué notar que se ha producido un problema.
No hay que confundir un cluster de alta disponibilidad con un cluster de alto rendimiento. El
segundo es una configuración de equipos diseñado para proporcionar capacidades de cálculo mucho
mayores que la que proporcionan los equipos individuales (véanse por ejemplo los sistemas de tipo
Cluster Beowulf), mientras que el primer tipo de cluster está diseñado para garantizar el
funcionamiento ininterrumpido de ciertas aplicaciones.
Cálculo de la Disponibilidad
En un sistema real, si falla uno de los componentes, es reparado o sustituido por un nuevo
componente. Si este nuevo componente falla, es sustituido por otro, y así sucesivamente. El
componente fijo se considera en el mismo estado que un nuevo componente. Durante su vida útil,
uno de los componentes pueden ser considerado en uno de estos estados: Funcionando o en
Reparación. El estado funcionando indica que el componente está operacional y el en reparación
significa que ha fallado y todavía no ha sido sustituido por un nuevo componente.
En caso de defectos, el sistema va de funcionando en modo reparación, y cuando se hace la
sustitución volverá al estado funcionando. Por lo tanto, podemos decir que el sistema tiene durante
su vida, una media de tiempo para presentar fallas (MTTF) y un tiempo medio de reparación
(MTTR). Su tiempo de la vida es una sucesión de MTTFs y MTTRs, a medida que este va fallando
y siendo reparado. El tiempo de vida útil del sistema es la suma de MTTFs en ciclos MTTF +
MTTR ya vividos.
En forma simplificada, se dice que la disponibilidad de un sistema es la relación entre la duración
de la vida útil de este sistema y de su tiempo total de vida. Esto puede ser representado por la
fórmula de abajo:
Disponibilidad = MTTF / (MTTF + MTTR)
En la evaluación de una solución de Alta Disponibilidad, es importante tener en cuenta si en la
medición de MTTF son vistos como fallas las posibles paradas planificadas.

Cluster de alto rendimiento


Un cluster de alto rendimiento es un conjunto de ordenadores que está diseñado para dar altas
prestaciones en cuanto a capacidad de cálculo. Los motivos para utilizar un cluster de alto
rendimiento son:
 el tamaño del problema por resolver
 el precio de la máquina necesaria para resolverlo.
Por medio de un cluster se pueden conseguir capacidades de cálculo superiores a las de un
ordenador más caro que el costo conjunto de los ordenadores del cluster.
Ejemplo de clusters baratísimos son los que se están realizando en algunas universidades con
computadoras personales desechados por "anticuados" que consiguen competir en capacidad de
cálculo con superordenadores carísimos.
Para garantizar esta capacidad de cálculo, los problemas necesitan ser paralelizables, ya que el
método con el que los clusters agilizan el procesamiento es dividir el problema en problemas más
pequeños y calcularlos en los nodos, por lo tanto, si el problema no cumple con esta característica,
no puede utilizarse el cluster para su cálculo.
Para que un problema sea paralelizable se debe hacer uso de bibliotecas especiales como lo es PVM
(parallel virtual machine) o MPI (Message passage interface), donde la primera es usada
especialmente en cluster con nodos hetereogéneos (arquitectura del procesador, sistemas operativo,
entre otras), y pertenecientes a diferentes dominios de red, la segunda biblioteca usada para cluster
homogéneos
Un tipo de software para realizar cluster high performace es OSCAR (Open Source Cluster
Application Resources) distribuido bajo licencia GPL. Este software trabaja sobre el sistema
operativo Linux. En Windows se podría utilizar "WCC 2003" (Windows Computer Cluster).