Professional Documents
Culture Documents
Alto rendimiento
Alta disponibilidad
Balanceo de carga
Escalabilidad
Contenido
[ocultar]
1 Historia
2 Beneficios de la Tecnologa Cluster
3 Clasificacin de los Clusters
4 Componentes de un Cluster
o 4.1 Nodos
o 4.2 Almacenamiento
o 4.3 Sistema Operativo
4.3.1 Ejemplos
o 4.4 Conexiones de Red
o 4.5 Middleware
o 4.6 Ambientes de Programacin Paralela
5 Sistemas Clusters Implementados
o 5.1 Beowulf
o 5.2 Berkeley NOW
o 5.3 Google
o 5.4 Cluster PS2
o 5.5 Cluster X
o
o
o
[editar] Historia
El origen del trmino y del uso de este tipo de tecnologa es desconocido pero se puede
considerar que comenz a finales de los aos 50 y principios de los aos 60.
La base formal de la ingeniera informtica de la categora como un medio de hacer
trabajos paralelos de cualquier tipo fue posiblemente inventado por Gene Amdahl de IBM,
que en 1967 public lo que ha llegado a ser considerado como el papel inicial de
procesamiento paralelo: la Ley de Amdahl que describe matemticamente el aceleramiento
que se puede esperar paralelizando cualquier otra serie de tareas realizadas en una
arquitectura paralela.
Este artculo define la base para la ingeniera de la computacin tanto multiprocesador y
computacin clster, en donde el principal papel diferenciador es si las comunicaciones
interprocesador cuentan con el apoyo "dentro" de la computadora (por ejemplo, en una
configuracin personalizada para el bus o la red de las comunicaciones internas) o "fuera"
del ordenador en una red "commodity".
En consecuencia, la historia de los primeros grupos de computadoras est ms o menos
directamente ligado a la historia de principios de las redes, como una de las principales
motivaciones para el desarrollo de una red para enlazar los recursos de computacin, de
hecho la creacin de un cluster de computadoras. Las redes de conmutacin de paquetes
fueron conceptualmente inventados por la corporacin RAND en 1962.
Utilizando el concepto de una red de conmutacin de paquetes, el proyecto ARPANET
logr crear en 1969 lo que fue posiblemente la primera red de computadoras bsico basadas
en el cluster de computadoras por cuatro tipos de centros informticos (cada una de las
cuales fue algo similar a un "cluster" pero no un "comodity cluster" como hoy en da lo
entendemos).
El proyecto ARPANET creci y se convirti en lo que es ahora Internet - que se puede
considerar como "la madre de todos los clusters" (como la unin de casi todos los recursos
de cmputo, incluidos los clusters, que pasaran a ser conectados).
Alto rendimiento
Alta disponibilidad
Alta eficiencia
Escalabilidad
recuperarse frente a los mismos, mientras que en hardware se evita tener un nico punto de
fallos.
Alta eficiencia: Son clusters cuyo objetivo de diseo es el ejecutar la mayor cantidad de
tareas en el menor tiempo posible. Existe independencia de datos entre las tareas
individuales. El retardo entre los nodos del cluster no es considerado un gran problema.
Los clusters pueden tambin clasificar como Clusters de IT Comerciales (Alta
disponibilidad, Alta eficiencia) y Clusters Cientficos (Alto rendimiento). A pesar de las
discrepancias a nivel de requerimientos de las aplicaciones, muchas de las caractersticas de
las arquitecturas de hardware y software, que estn por debajo de las aplicaciones en todos
estos clusters, son las mismas. Ms an, un cluster de determinado tipo, puede tambin
presentar caractersticas de los otros.
Nodos
Almacenamiento
Sistemas Operativos
Conexiones de Red
Middleware
Protocolos de Comunicacin y servicios
Aplicaciones
Ambientes de Programacin Paralela
[editar] Nodos
Pueden ser simples ordenadores, sistemas multi-procesador o estaciones de trabajo
(workstations). En informtica, de forma muy general, un nodo es un punto de interseccin
o unin de varios elementos que confluyen en el mismo lugar. Ahora bien, dentro de la
informtica la palabra nodo puede referirse a conceptos diferentes segn el mbito en el que
nos movamos:
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, ratn 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, ratn 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 est utilizando para
realizar sus tareas.
Cabe aclarar que a la hora de disear un cluster, los nodos deben tener caractersticas
similares, es decir, deben guardar cierta similaridad de arquitectura y sistemas operativos,
ya que si se conforma un cluster con nodos totalmente heterogneos (existe una diferencia
grande entre capacidad de procesadores, memoria, disco duro) ser ineficiente debido a que
el middleware delegar o asignar todos los procesos al nodo de mayor capacidad de
cmputo y solo distribuir cuando este se encuentre saturado de procesos; por eso es
recomendable construir un grupo de ordenadores lo ms similares posible.
[editar] Almacenamiento
El almacenamiento puede consistir en una NAS, una SAN, o almacenamiento interno en el
servidor. El protocolo ms comnmente utilizado es NFS (Network File System), sistema
de ficheros compartido entre servidor y los nodos. Sin embargo existen sistemas de ficheros
especficos para clusters como Lustre (CFS) y PVFS2.
Tecnologas en el soporte del almacenamiento en discos duros:
GNU/Linux
2
o ABC GNU/Linux
o OpenMosix
3
o Rocks
o Kerrighed
o Cndor
o Sun Grid Engine
Unix
o Solaris
o HP-UX
o Aix
Windows
o NT
o 2000 Server
o 2003 Server
o 2008 Server
Mac OS X
o Xgrid
Solaris
FreeBSD
Ethernet
o Son las redes ms utilizadas en la actualidad, debido a su relativo bajo coste.
No obstante, su tecnologa limita el tamao de paquete, realizan excesivas
comprobaciones de error y sus protocolos no son eficientes, y sus
velocidades de transmisin pueden limitar el rendimiento de los clusters.
Para aplicaciones con paralelismo de grano grueso puede suponer una
solucin acertada.
InfiniBand
o Es una red surgida de un estndar desarrollado especficamente para realizar
la comunicacin en clsters. Una de sus mayores ventajas es que mediante la
agregacin de canales (x1, x4 y x12) permite obtener anchos de banda muy
elevados. La conexin bsica es de 2Gbps efectivos y con quad connection
x12 alcanza los 96Gbps. No obstante, los startups no son muy altos, se
sitan en torno a los 10 s.
o Define una conexin entre un nodo de computacin y un nodo de I/O. La
conexin va desde un Host Channel Adapter (HCA) hasta un Target
Channel Adapter (TCA). Se est usando principalmente para acceder a
arrays de discos SAS.
[editar] Middleware
Una interfaz nica de acceso al sistema, denominada SSI (Single System Image), la
cual genera la sensacin al usuario de que utiliza un nico ordenador muy potente;
Herramientas para la optimizacin y mantenimiento del sistema: migracin 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.;
Escalabilidad: debe poder detectar automticamente nuevos servidores conectados
al cluster para proceder a su utilizacin.
Existen diversos tipos de middleware, como por ejemplo: MOSIX, OpenMOSIX, Cndor,
OpenSSI, etc.
El middleware recibe los trabajos entrantes al cluster y los redistribuye de manera que el
proceso se ejecute ms rpido y el sistema no sufra sobrecargas en un servidor. Esto se
realiza mediante polticas definidas en el sistema (automticamente o por un administrador)
que le indican dnde y cmo debe distribuir los procesos, por un sistema de monitorizacin,
el cual controla la carga de cada CPU y la cantidad de procesos en l.
El middleware tambin debe poder migrar procesos entre servidores con distintas
finalidades:
balancear la carga: si un servidor est muy cargado de procesos y otro est ocioso,
pueden transferirse procesos a este ltimo para liberar de carga al primero y
optimizar el funcionamiento;
Mantenimiento de servidores: si hay procesos corriendo en un servidor que necesita
mantenimiento o una actualizacin, es posible migrar los procesos a otro servidor y
proceder a desconectar del cluster al primero;
Priorizacin de trabajos: en caso de tener varios procesos corriendo en el cluster,
pero uno de ellos de mayor importancia que los dems, puede migrarse este proceso
a los servidores que posean ms o mejores recursos para acelerar su procesamiento.
Beowulf.
[editar] Google
Durante el ao 2003, el cluster Google lleg a estar conformado por ms de 1500.000
computadores personales. En promedio, una consulta en Google lee cientos de megabytes y
consume algunos billones de ciclos del CPU.
[editar] Cluster X
En la lista TOP 500 de noviembre de 2004 fue considerado el sptimo sistema ms
rpido del mundo; sin embargo, para julio de 2005 ocupa la posicin catorce. Cluster X fue
construido en el Tecnolgico de Virginia en el 2003; su instalacin fue realizada por
estudiantes del Tecnolgico. 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 administracin. Cluster X posee 4 Terabytes de memoria RAM y 176 Terabytes de
disco duro, su rendimiento es de 12.25 TFlops. Se lo conoce tambin como Terascale.
[editar] 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 tecnologa Quadrics. Su rendimiento es de 19.94 TFlops. Se
ubic en la segunda posicin del TOP 500 durante junio de 2004, luego en la quinta
posicin en noviembre de 2004 y en la lista de julio de 2005 se ubic en la sptima
posicin.
[editar] ASCI Q
ASCI Q fue construido en el ao 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 posicin del TOP 500 durante
junio y noviembre de 2003, luego en la tercera posicin en junio de 2004, en la sexta
posicin en noviembre de 2004 y en la duodcima posicin en julio de 2005.
Funcionamiento:
Los usuarios envan trabajos con qsub indicando requisitos de memoria, tiempo de
procesador y espacio en disco.
El gestor de recursos registra el trabajo.
Tan pronto los recursos pedidos se hallen disponibles, el gestor de colas pone a
ejecucin el trabajo solicitado que segn su planificacin es el que tiene mayor
prioridad. Se utiliza el planificador del gestor de colas en ausencia de planificadores
ms avanzados (como Maui / Moab cluster suite, los cuales pueden ser integrables
en el sistema de colas).
Linux Virtual Server (LVS, IPVS en kernels 2.6.x) es un servicio de red altamente
escalable y de alta disponibilidad que realiza:
Equilibrado de carga mediante NAT (Network Address Translation), tunneling IP
o enrutamiento directo (DR) por medio de un nodo maestro que da servicio a
peticiones FTP y HTTP a los nodos de un cluster. Este servicio es provisto a nivel
de kernel (ha de estar compilado el soporte para LVS/IPVS).
NAT hace que el clster funcione con una nica IP pblica, siendo los paquetes
reescritos por el nodo maestro para ocultar los nodos internos. Slo es aceptable
para un nmero pequeo de nodos, por la sobrecarga que acarrea.
[editar] Referencias
1. Nodo (informtica)
2. ABC GNU/Linux, una distribucin basada en Ubuntu y est dedicada a crear
clusters Beowulf de alto rendimiento con tan solo arrancar en uno de ellos el
sistema en modo "live" o siendo instalado en su disco duro. Los nodos arrancan
diskless a travs de PXE.
3. Rocks, una distribucin especializada para clusters, usando CentOS, que a su vez
esta basada en Red Hat Enterprise
Computacin distribuida
Arquitectura de computadores