Cluster
Enviado por darknesz • 28 de Enero de 2014 • Tesis • 1.662 Palabras (7 Páginas) • 241 Visitas
Introducción
Existen diversas arquitecturas de hardware que mejoran la capacidad de escalabilidad, como por ejemplo el sistema multiprocesador simétrico, que trabaja con más de un procesador compartiendo una memoria principal global y el mismo sistema de E/S. Las desventajas de este sistema a nivel de hardware son las limitaciones del bus interno de datos, por donde se comunican los procesadores y la velocidad de memoria requerida que es muy costosa. A medida que se aumenta la cantidad de velocidad de un microprocesador, los multiprocesadores de memoria compartida se vuelven cada vez más caros, especialmente cuando la escala es de más de 8 procesadores. Finalmente este sistema de hardware y el software tradicional que le acompaña, no han proporcionado beneficios de disponibilidad inherentes a través de un sistema monoprocesador. Sólo una arquitectura ha proporcionado verdaderas ventajas de disponibilidad y capacidad de escalabilidad en aplicaciones críticas de computación para la empresa: el clúster.
Existen dos conceptos referidos a tecnologías de clúster, los cuales son los de escalabilidad vertical y escalabilidad horizontal. Hablamos de escalabilidad vertical cuando tratamos con un gran sistema como los ya antes mencionados. La escalabilidad horizontal consiste en emplear muchas maquinas pequeñas e interconectadas para realizar una tarea determinada. Con un coste proporcionalmente bajo por máquina, es una solución muy barata para algunos tipos de aplicaciones, como servicios Web, correo o súper-computación.
En muchas ramas de las ciencias la complejidad de los problemas que se estudian requiere contar acceso a una supercomputadora, siendo estas máquinas poderosas que pueden desarrollar varios miles de millones de operaciones por segundo. Las supercomputadoras tradicionales emplean procesamiento en paralelo y sus precios son elevados.
Usualmente, dar solución a problemas en estas áreas implica, numerosos y repetitivos cálculos matemáticos sobre un conjunto de datos, que usando técnicas de programación paralela, se pueden resolver en un lapso de tiempo aceptable. Las plataformas computacionales necesarias para abordar la resolución de estos problemas son las Supercomputadoras que son difíciles de adquirir y de mantener actualizadas, tanto en su plataforma de hardware como de software, por entes como las universidades y empresas medianas.
Con los avances tecnológicos en diseño y construcción de microprocesadores de bajo costo, como los usados en las computadoras actuales, es posible contar actualmente con gran capacidad de cómputo en una PC. Sin embargo, esta capacidad de cómputo es insuficiente para resolver problemas con alto grado de complejidad o cuya demanda de recursos computacionales excede las prestaciones típicas de una PC. En la década de los años 90, varios proyectos de investigación realizados por diversas universidades y centros de investigación se dedicaron a crear un conjunto de máquinas o clúster de máquinas, de bajo costo interconectadas a través de una Red de Área Local (LAN), como una sola máquina con suficiente capacidad y recursos computacionales para abordar estos problemas complejos, logrando así sus propias supercomputadoras con un bajo presupuesto.
Definición
Un clúster consiste en un tipo de sistema de procesamiento paralelo o distribuido, compuesto por un conjunto de computadoras interconectadas con dispositivos de alta velocidad que actúan en conjunto usando el poder cómputo de varios procesadores en combinación para resolver determinados problemas, configurados de forma coordinada para dar la ilusión de un único recurso.
Clasificación
Clúster de Alto Rendimiento
Un clúster 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 clúster de alto rendimiento son:
• El tamaño del problema por resolver.
• El precio de la máquina necesaria para resolverlo.
Por medio de un clúster se pueden conseguir capacidades de cálculo superiores a las de un ordenador más caro que el costo conjunto de los ordenadores del clúster.
Para garantizar la capacidad de cálculo, los problemas necesitan ser paralelizables, ya que el método con el que los clústeres 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 clúster 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 clústeres con nodos heterogéneos (arquitectura del procesador, sistemas operativo, entre otras), y pertenecientes a diferentes dominios de red, la segunda biblioteca usada para clústeres homogéneos.
Clúster de Alta Disponibilidad
Definiremos un clúster de alta disponibilidad como un sistema capaz de encubrir los fallos que se producen en él para mantener una prestación de servicio continua. Los conceptos de alta disponibilidad y de clúster están íntimamente relacionados ya que el concepto de alta disponibilidad de servicios implica directamente una solución mediante un clúster.
La principal prestación de un sistema de alta disponibilidad es que el fallo de un nodo derive en que las aplicaciones que se ejecutaban en él sean migradas a otro nodo del sistema. Este migrado puede ser automático (failover) o manual (switchover).
Desde un punto de vista general, una solución de alta disponibilidad consiste en dos partes: la infraestructura de alta disponibilidad y los servicios. La infraestructura consiste en componentes software que cooperan entre sí para permitir que el clúster aparezca como un único sistema. Los servicios de alta disponibilidad son clientes de la infraestructura, y usan las facilidades que exporta ese nivel para
...