You are on page 1of 14

Cluster (informtica)

De Wikipedia, la enciclopedia libre


Saltar a navegacin, bsqueda

Un cluster en la Universidad McGill.

Un ejemplo de cluster en la NASA.


El trmino cluster se aplica a los conjuntos o conglomerados de computadoras construidos
mediante la utilizacin de componentes de hardware comunes y que se comportan como si
fuesen una nica computadora.
Hoy en da desempean un papel importante en la solucin de problemas de las ciencias,
las ingenieras y del comercio moderno.
La tecnologa de clusters ha evolucionado en apoyo de actividades que van desde
aplicaciones de supercmputo y software de misiones crticas, servidores web y comercio
electrnico, hasta bases de datos de alto rendimiento, entre otros usos.
El cmputo con clusters surge como resultado de la convergencia de varias tendencias
actuales que incluyen la disponibilidad de microprocesadores econmicos de alto
rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para
cmputo distribuido de alto rendimiento, as como la creciente necesidad de potencia
computacional para aplicaciones que la requieran.

Simplemente, un cluster es un grupo de mltiples ordenadores unidos mediante una red de


alta velocidad, de tal forma que el conjunto es visto como un nico ordenador, ms potente
que los comunes de escritorio.
Los clusters son usualmente empleados para mejorar el rendimiento y/o la disponibilidad
por encima de la que es provista por un solo computador tpicamente siendo ms
econmico que computadores individuales de rapidez y disponibilidad comparables.
De un cluster se espera que presente combinaciones de los siguientes servicios:
1.
2.
3.
4.

Alto rendimiento
Alta disponibilidad
Balanceo de carga
Escalabilidad

La construccin de los ordenadores del cluster es ms fcil y econmica debido a su


flexibilidad: pueden tener todos la misma configuracin de hardware y sistema operativo
(cluster homogneo), diferente rendimiento pero con arquitecturas y sistemas operativos
similares (cluster semi-homogneo), o tener diferente hardware y sistema operativo (cluster
heterogneo), lo que hace ms fcil y econmica su construccin.
Para que un cluster funcione como tal, no basta solo con conectar entre s los ordenadores,
sino que es necesario proveer un sistema de manejo del cluster, el cual se encargue de
interactuar con el usuario y los procesos que corren en l para optimizar el funcionamiento.

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

5.6 Red Espaola de Supercomputacin


5.7 Thunder
5.8 ASCI Q
6 Gestin de Recursos Distribuidos: Sistemas Gestores de Colas
7 Balanceadores de Carga: Linux Virtual Server
8 Clusters en Aplicaciones Cientficas
9 Clusters en Aplicaciones Empresariales
10 Referencias
11 Vase tambin
12 Enlaces externos

[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).

Tambin estableci el paradigma de uso de computadoras clusters en el mundo de hoy - el


uso de las redes de conmutacin de paquetes para realizar las comunicaciones entre
procesadores localizados en los marcos de otro modo desconectado.
El desarrollo de la construccin de PC por los clientes y grupos de investigacin procedi a
la par con la de las redes y el sistema operativo Unix desde principios de la dcada de los
aos 70, como TCP/IP y el proyecto de la Xerox PARC proyecto y formalizado para
protocolos basados en la red de comunicaciones.
El ncleo del sistema operativo fue construido por un grupo de DEC PDP-11
minicomputadoras llamado C.mmp en C-MU en 1971.
Sin embargo, no fue hasta alrededor de 1983 que los protocolos y herramientas para el
trabajo remoto facilitasen la distribucin y el uso compartido de archivos fueran definidos
(en gran medida dentro del contexto de BSD Unix, e implementados por Sun
Microsystems) y, por tanto llegar a disponerse comercialmente, junto con una comparticin
del sistema de ficheros.
El primer producto comercial de tipo cluster fue ARCnet, desarrollada en 1977 por
Datapoint pero no obtuvo un xito comercial y los clusters no consiguieron tener xito
hasta que en 1984 VAXcluster produjeran el sistema operativo VAX/VMS.
El ARCnet y VAXcluster no slo son productos que apoyan la computacin paralela, pero
tambin comparten los sistemas de archivos y dispositivos perifricos.
La idea era proporcionar las ventajas del procesamiento paralelo, al tiempo que se mantiene
la fiabilidad de los datos y el carcter singular. VAXcluster, VMScluster est todava
disponible en los sistemas de HP OpenVMS corriendo en sistemas Itanium y Alpha.
Otros dos principios comerciales de clusters notables fueron el Tandem Himalaya
(alrededor 1994 de con productos de alta disponibilidad) y el IBM S/390 Parallel Sysplex
(tambin alrededor de 1994, principalmente para el uso de la empresa).
La historia de los clusters de computadoras estara incompleta sin sealar el papel
fundamental desempeado por el desarrollo del software de Parallel Virtual Machine
(PVM).
Este software de fuente abierta basado en comunicaciones TCP/IP permiti la creacin de
un superordenador virtual - un cluster HPC - realizada desde cualquiera de los sistemas
conectados TCP/IP.
De forma libre los clusters heterogneos han constituido la cima de este modelo logrando
aumentar rpidamente en FLOPS globalmente y superando con creces la disponibilidad
incluso de los ms caros superordenadores.

PVM y el empleo de PC y redes de bajo costo llev, en 1993, a un proyecto de la NASA


para construir supercomputadoras de clusters.
En 1995, la invencin de la beowulf -un estilo de cluster- una granja de computacin
diseado segn un producto bsico de la red con el objetivo especfico de "ser un
superordenador" capaz de realizar firmemente y clculos paralelos HPC.
Esto estimul el desarrollo independiente de la computacin Grid como una entidad, a
pesar de que el estilo Grid giraba en torno al del sistema operativo Unix y el Arpanet.

[editar] Beneficios de la Tecnologa Cluster


Las aplicaciones paralelas escalables requieren: buen rendimiento, baja latencia,
comunicaciones que dispongan de gran ancho de banda, redes escalables y acceso rpido a
archivos. Un cluster puede satisfacer estos requerimientos usando los recursos que tiene
asociados a l.
Los clusters ofrecen las siguientes caractersticas a un costo relativamente bajo:

Alto rendimiento
Alta disponibilidad
Alta eficiencia
Escalabilidad

La tecnologa cluster permite a las organizaciones incrementar su capacidad de


procesamiento usando tecnologa estndar, tanto en componentes de hardware como de
software que pueden adquirirse a un costo relativamente bajo.

[editar] Clasificacin de los Clusters


El trmino cluster tiene diferentes connotaciones para diferentes grupos de personas. Los
tipos de clusters, establecidos de acuerdo con el uso que se d y los servicios que ofrecen,
determinan el significado del trmino para el grupo que lo utiliza. Los clusters pueden
clasificarse segn sus caractersticas: se pueden tener clusters de alto rendimiento (HPCC
High Performance Computing Clusters), clusters de alta disponibilidad (HA High
Availability) o clusters de alta eficiencia (HT High Throughput).
Alto rendimiento: Son clusters en los cuales se ejecutan tareas que requieren de gran
capacidad computacional, grandes cantidades de memoria, o ambos a la vez. El llevar a
cabo estas tareas puede comprometer los recursos del cluster por largos periodos de tiempo.
Alta disponibilidad: Son clusters cuyo objetivo de diseo es el de proveer disponibilidad y
confiabilidad. Estos clusters tratan de brindar la mxima disponibilidad de los servicios que
ofrecen. La confiabilidad se provee mediante software que detecta fallos y permite

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.

[editar] Componentes de un Cluster


En general, un cluster necesita de varios componentes de software y hardware para poder
funcionar. A saber:

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:

En redes de computadoras cada una de las mquinas es un nodo, y si la red es


Internet, cada servidor constituye tambin un nodo.
En estructuras de datos dinmicas un nodo es un registro que contiene un dato de
inters y al menos un puntero para referenciar (apuntar) a otro nodo. Si la estructura
tiene slo un puntero, la nica estructura que se puede construir con l es una lista,
si el nodo tiene ms de un puntero ya se pueden construir estructuras ms complejas
como rboles o grafos.1

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:

IDE o ATA: velocidades de 33, 66, 100, 133 y 166 MB/s


SATA: velocidades de 150, 300 y 600 MB/s
SCSI: velocidades de 160, 320, 640 MB/s. Proporciona altos rendimientos.
SAS: ana SATA-II y SCSI. Velocidades de 300 y 600 MB/s
Las unidades de cinta (DLT) son utilizadas para copias de seguridad por su bajo
coste.

NAS (Network Attached Storage) es un dispositivo especfico dedicado al almacenamiento


a travs de red (normalmente TCP/IP) que hace uso de un sistema operativo optimizado
para dar acceso a travs de protocolos CIFS, NFS, FTP o TFTP.
Por su parte, DAS (Direct Attached Storage) consiste en conectar unidades externas de
almacenamiento SCSI o a una SAN (Storage Area Network) a travs de un canal de fibra.
Estas conexiones son dedicadas.
Mientras NAS permite compartir el almacenamiento, utilizar la red, y tiene una gestin ms
sencilla, DAS proporciona mayor rendimiento y mayor fiabilidad al no compartir el
recurso.

[editar] Sistema Operativo

Un sistema operativo debe ser multiproceso y multiusuario. Otras caractersticas deseables


son la facilidad de uso y acceso. Un sistema operativo es un programa o conjunto de
programas de computadora destinado a permitir una gestin eficaz de sus recursos.
Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la
mquina desde los niveles ms bsicos, permitiendo tambin la interaccin con el usuario.
Se puede encontrar normalmente en la mayora de los aparatos electrnicos que utilicen
microprocesadores para funcionar, ya que gracias a estos podemos entender la mquina y
que sta cumpla con sus funciones (telfonos mviles, reproductores de DVD, radios,
computadoras, etc.)
[editar] Ejemplos

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

[editar] Conexiones de Red


Los nodos de un cluster pueden conectarse mediante una simple red Ethernet con placas
comunes (adaptadores de red o NICs), o utilizarse tecnologas especiales de alta velocidad
como Fast Ethernet, Gigabit Ethernet, Myrinet, InfiniBand, SCI, etc.

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.

La opcin ms utilizada en la actualidad es Gigabit Ethernet (1 Gbit/s),


siendo emergente la solucin 10 Gigabit Ethernet (10 Gbit/s). La latencia de
estas tecnologas est en torno a los 30-100 s, dependiendo del protocolo
de comunicacin empleado.
o En todo caso, es la red de administracin por excelencia, as que aunque no
sea la solucin de red de altas prestaciones para las comunicaciones, es la
red dedicada a las tareas administrativas.

Myrinet (Myrinet 2000 y Myri-10G)


o Su latencia es de 1,3/10 s, y su ancho de Banda de 2/10Gbps,
respectivamente para Myrinet 2000 y Myri-10G.
o Es la red de baja latencia ms utilizada en la actualidad, tanto en clusters
como en MPPs estando presente en ms de la mitad de los sistemas del
top500. Tiene dos bibliotecas de comunicacin a bajo nivel (GM y MX).
Sobre estas bibliotecas estn implementadas MPICH-GM, MPICH-MX,
Sockets-GM y Sockets MX, para aprovechar las excelentes caractersticas de
Myrinet. Existen tambin emulaciones IP sobre TCP/IP, IPoGM e IPoMX.

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.

SCI (Scalable Coherent Interface) IEEE standar 1596-1992


o Su latencia terica es de 1.43 s y su ancho de banda de 5333 Mbps
bidireccional. Al poder configurarse con topologas de anillo (1D), toro (2D)
e hipercubo (3D) sin necesidad de switch, se tiene una red adecuada para
clsters de pequeo y mediano tamao.
o Al ser una red de extremadamente baja latencia, presenta ventajas frente a
Myrinet en clusters de pequeo tamao al tener una topologa punto a punto
y no ser necesaria la adquisicin de un conmutador. El software sobre SCI
est menos desarrollado que sobre Myrinet, pero los rendimientos obtenidos
son superiores, destacando SCI Sockets (que obtiene startups de 3
microsegundos) y ScaMPI, una biblioteca MPI de elevadas prestaciones.
o Adems, a travs del mecanismo de pre-loading (LD_PRELOAD) se puede
conseguir que todas las comunicaciones del sistema vayan a travs de SCISOCKETS (transparencia para el usuario).

[editar] Middleware

El middleware es un software que generalmente acta entre el sistema operativo y las


aplicaciones con la finalidad de proveer a un cluster lo siguiente:

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.

[editar] Ambientes de Programacin Paralela


Los ambientes de programacin paralela permiten implementar algoritmos que hagan uso
de recursos compartidos: CPU (Central Processing Unit), memoria, datos y servicios.

[editar] Sistemas Clusters Implementados


[editar] Beowulf
Beowulf fue construido por Donald Becker y Thomas Sterling en 1994. Fue construido con
16 computadores personales con procesadores Intel DX4 de 200 MHz, que estaban
conectados a travs de un switch Ethernet. El rendimiento terico era de 3.2 GFlops.

Beowulf.

[editar] Berkeley NOW


El sistema NOW de Berkeley estuvo conformado por 105 estaciones de trabajo Sun Ultra
170, conectadas a travs de una red Myrinet. Cada estacin de trabajo contena un
microprocesador Ultra1 de 167 MHz, cach de nivel 2 de 512 KB, 128 MB de memoria,
dos discos de 2.3 GB, tarjetas de red Ethernet y Myrinet. En abril de 1997, NOW logr un
rendimiento de 10 GFlops.

[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 PS2


En el ao 2004, en la Universidad de Illinois en Urbana-Champaign, Estados Unidos, se
explor el uso de consolas Play Station 2 (PS2) en cmputo cientfico y visualizacin de
alta resolucin. Se construy un cluster conformado por 70 PS2; utilizando Sony Linux Kit
(basado en Linux Kondora y Linux Red Hat) y MPI.

[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] Red Espaola de Supercomputacin


Artculo principal: Red Espaola de Supercomputacin

En el ao 2007 se crea la Red Espaola de Supercomputacin compuesta por 7 clusters


distribuidos en distintas instituciones espaolas, entre los que se encuentra el
supercomputador Marenostrum (el cluster ms veloz en el momento de su puesta en
funcionamiento).
Todos los clusters estn formados por un nmero variable de nodos con procesadores
PowerPC 970 a 2.2GHz interconectados con una red Myrinet. El rendimiento de las
mquinas oscilan entre los casi 65 TeraFLOPS proporcionados por las ms de 10000 CPUs
de Marenostrum, los casi 16 TeraFLOPS de Magerit con 2400 procesadores o los casi 3
TeraFLOPS de los 5 nodos restantes.

[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.

[editar] Gestin de Recursos Distribuidos: Sistemas


Gestores de Colas

Los sistemas de gestin de colas, gestionan una cola de ejecucin, planifican la


ejecucin de las tareas y gestionan los recursos, para minimizar costes y maximizar
rendimiento de las aplicaciones.

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).

Se puede consultar el estado de los trabajos, en ejecucin, en espera o terminados,


a travs de qstat
Se puede eliminar un trabajo mediante qdel.
El gestor de colas se configura con qconf.

Salida estndar de trabajos: job.o#job


Salida de error de trabajos: job.e#job
Sistemas gestores de colas populares: Sun Grid Engine (SGE), PBS, Open PBS y
Torque.

[editar] Balanceadores de Carga: Linux Virtual Server

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.

Tunneling IP es similar a NAT, pero el nodo maestro ya no reescribe los paquetes,


siendo su tarea mucho ms liviana.

El enrutamiento directo (DR) es un sistema an ms ligero, pero necesita que todos


los servidores compartan el mismo segmento de red.

[editar] Clusters en Aplicaciones Cientficas

Se suelen caracterizar por ser aplicaciones computacionalmente intensivas


Sus necesidades de recursos son muy importantes en almacenamiento y
especialmente memoria.
Requieren nodos y sistemas dedicados, en entornos HPC y HTC.
Suelen estar controlados los recursos por planificadores tipo Maui y gestores de
recursos tipo PBS.
Son en muchas ocasiones cdigos legacy, difciles de mantener, ya que los
dominios de aplicacin suelen ser difcilmente paralelizables.

Ejemplos: Simulaciones (earth simulator), genmica computacional, prediccin


meteorolgica (MM5), simulacin de corrientes y vertidos en el mar, aplicaciones en
qumica computacional

[editar] Clusters en Aplicaciones Empresariales

Suelen ser aplicaciones no especialmente intensivas computacionalmente, pero que


demandan alta disponibilidad y respuesta inmediata, con lo que los servicios se
estn ejecutando continuamente y no controlados por un sistema de colas
Es usual que un sistema provea varios servicios. Una primera aproximacin para
realizar una distribucin

del trabajo es separar los servicios:

Un servidor web con la BD en un nodo, el contenedor EJB en otro y el


servidor de pginas web en otro constituye un

claro ejemplo de distribucin en el mbito empresarial.

Otra aproximacin es instalar una aplicacin web en un clster squid como


proxy-cach, apache/tomcat como servidor :web/de aplicaciones web,
memcached como cach de consultas a la base de datos y mysql como base
de datos. Estos :servicios pueden estar replicados en varios nodos del
clster.

Ejemplos: flickr, wikipedia y google.

[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

[editar] Vase tambin

Computacin distribuida
Arquitectura de computadores

You might also like