Está en la página 1de 15

Arquitectura de

Computadoras

Clase 18
CLUSTERS

¿Qué es un cluster?
Un cluster es un tipo de arquitectura
paralela distribuida que consiste de un
conjunto de computadores
independientes interconectados
operando de forma conjunta como un
único recurso computacional.
Sin embargo, cada computador puede
utilizarse de forma independiente o
separada
¿Qué es un cluster?
El término cluster es usado generalmente
para referirnos a un grupo de componentes
distribuidos que colaboran en conjunto
para presentarse al usuario como un solo
sistema.
Los Cluster en computación son un
colección de computadoras interconectadas
de alguna manera, que trabajan en
conjunto, distribuyendose las tareas entre
ellas, logrando que el usuario lo vea como
una sola.

CLUSTERS - DEFINICION

Conjunto de computadores completos


interconectados que trabajan
conjuntamente como un único recurso de
computo.
Proporciona la ilusión de se una sola
máquina.
Termino computador completo hace
referencia a un sistema que puede funcionar
por si solo.
Usualmente a Cada computador del Cluster
se le llama “nodo”
¿Qué esperamos?
Alto rendimiento
El sistema es capaz de proporcionar altas
prestaciones en cuanto a capacidad de cálculo.
Alta disponibilidad
Garantizar el funcionamiento ininterrumpido de
ciertas aplicaciones.
Comparten los discos de almacenamiento de datos.
Equilibrio de carga
Repartir las peticiones de servicio que reciba el
cluster.
Repartir la carga de proceso entre los nodos en lugar
de los servicios (mediante software).
Escalabilidad
Facilidad de ampliación.

Beneficios del Cluster


Escalabilidad absoluta
Escalabilidad incremental
Alta disponibilidad
Mejor relación precio/performance
(prestaciones)
Aspectos importantes de los
clusters
Escalabilidad
Alto rendimiento
Alta disponibilidad
Imagen de Sistema Sencillo
Rápida comunicación
Ambiente distribuido
Balanceo de carga
Seguridad

Clusters de Computadoras deben


soportar:
Multiusuarios

Tiempo compartido

Homogenidad o Hetereogenidad

Muchos procesadores

Cada nodo es independiente


Tipos de clusters
Cluster para alto productividad:
ejecución de múltiples trabajos en los
nodos de un cluster.
Software para distribuir óptimamente los trabajos
independientes en distintos servidores del cluster.
Clusters para alto rendimiento: ejecución
de un trabajo en múltiples nodos.
Necesidad de programación paralela (MPI).
Especial importancia de la latencia y el ancho de
banda de la red.

Tipos de Clusters
Cluster de disponibilidad: Para
“misiones críticas”.
Deben estar disponibles casi todo
el tiempo
Resistentes a fallos
Sistema capaz de migrar a otro
nodo la tarea en caso de fallo.
Clusters de disponibilidad
sin disco compartido

Heartbeat
Server Server
A B
changes
A B

Clusters de disponibilidad
sin disco compartido
Clusters de disponibilidad
sin disco compartido
Cada computadora es un servidor
separado.
Los discos no son compartidos.
Necesita software de administración o
planificación.
Los datos deben ser copiados
constantemente entrelos sistemas de
modo que todos tengan los datos
actualizados.

Cluster de disponibildad con


disco compartido
Cluster de disponibildad con
disco compartido

Cluster de disponibildad con


disco compartido
Múltiples computadoras comparten
los mismos discos al mismo tiempo
Cada computadora tiene acceso a
todos los volúmenes sobre todos los
discos
Configuraciones de clusters de
disponibilidad
Activo – Pasivo.
Activo - Activo.
La comunicación entre ambos es a
traves de un mensaje de actividad
(Heartbeat Message).
Si no recibe el Heartbeat el pasivo
entra en actividad.

CONFIGURACIONES DE CLUSTERS
Clusters

Arquitectura de un cluster
Middleware de un cluster
Componentes sofwtare intermedios ( middleware)básicos
Imagen única (SSI)
Alta disponibilidad
Comunicación eficiente
Imagen única (SSI): Ofrece al usuario la visión de un
cluster único en vez de una colección de nodos
independientes
Punto único de entrada
Jerarquía unificada de ficheros
Gestión unificada del sistema
Espacio de memoria unificado
Interfaz unificado de usuario
Espacio de procesos unificado
Espacio único de E/S
Planificador de trabajos unificado
Alta disponibilidad: Se obtiene mediante redundancia
hardware
Checkpointing (salvados periódicos del estado de los procesos)
Migración de procesos (balanceo dinámico de carga)

Componentes
Middleware: SSI ( Single System Image)
SSI ofrece al usuario una visión unificada de todos los recursos
del sistema.
SSI se define mediante hardware o software.
Middleware: Disponibilidad
Infraestructura de alta disponibilidad, que incluye servicios de
checkpointing, recuperación tras fallo, tolerancia a fallos, …
SSI puede implementarse a tres niveles
Nivel hardware: Se ve el cluster como un sistema de memoria
compartida distribuida (ej. Digital Memory Channel, DSM, …).
Nivel kernel SO: Ofrece alto rendimiento a las aplicaciones
secuenciales y paralelas. Por ejemplo, gang-scheduling para
programas paralelos, identificación de recursos sin uso, acceso
global a recursos, migración de procesos (balanceo de carga),
… (ej. Solaris MC, GLUnix, …).
Nivel aplicación o subsistema: Software de planificación y
gestiónde recursos (ej. LSF, CODINE, CONDOR, …),
herramientas de gestióndel sistema, sistemas de ficheros
paralelos, …
MiddleWare
Proporciona una interfaz única de acceso al
sistema
Herramientas para la optimización y
mantenimiento del sistema: migración de
procesos, checkpoint-restart (congelar uno o
varios procesos, mudarlos de servidor y continuar
su funcionamiento en el nuevo host), balanceo de
carga, tolerancia a fallos, etc.
Recibe los trabajos entrantes y los redistribuye de
manera que el proceso se ejecute más rápido y el
sistema no sufra sobrecargas en un servidor
Escalabilidad: debe poder detectar
automáticamente nuevos servidores conectados
al cluster y proceder a su utilización.

Aspectos de Diseño de Sistema


Operativo (clusters)
Administración de Fallas
La alta disponibilidad de un cluster
ofrece unaalta probabilidad que todos los
recursos estaránen servicio
Si una falla ocurre no hay garantías acerca
del estado de transacciones parcialmente
ejecutadas
Un cluster tolerante a las fallas asegura
quetodos los recursos están siempre
disponibles
Aspectos de Diseño de Sistema
Operativo (clusters)
Balance de Carga
Cuando es agregada una nueva
computadora al cluster, la facilidad del
balance de carga fácilmente debería
incluir a esta computadora en las
aplicaciones de planificación.

¿Por qué elegir un cluster?


CLUSTERS EXTENDIDOS
Cluster Extendido Local <10Km
Metro Cluster <50-80Km
Con mirroring
Con replicación
Cluster Geográfico o Global
>200Km

Clusters Extendido Local


METRO CLUSTER

CLUSTER GEOGRAFICO GLOBAL