Vous êtes sur la page 1sur 21

Sistemas de Clsters

NDICE TEMTICO
1 - INTRODUCCIN. 2 - Historia 3 - Caractersticas De Un Cluster 3.1 - Caracteristicas Especiales De Los Sistema De Cluster 4 - Factores De Diseo Para Clasificar Un Cluster 5 - Clasificacin De Clusters 5.1 - Cluster De Alto-Rendimiento (Hp, High Performance) 5.2 - Cluster De Alta-Disponibilidad (Ha, High Availability): 5.3 - Cluster De Alta-Confiabilidad (Hr, High Reliability) 6 - Componentes De Un Cluster 7 - Sistemas Clusters Implementados 8 - Gestin De Recursos Distribuidos: 8.1 - Sistemas Gestores De Colas 8.2 - Balanceadores De Carga: Linux Virtual Server 9 - Clusters En Aplicaciones Cientficas 10 - Clusters En Aplicaciones Empresariales 11 - Conclusiones

Arquitectura Paralelas

Pgina 1

Sistemas de Clsters 1 - INTRODUCCIN.


Un cluster es un conjunto de computadoras interconectadas con dispositivos de alta velocidad que actan en conjunto usando el poder cmputo de varios CPUs en combinacin para resolver ciertos problemas dados. Se usa un cluster para crear una supercomputadora que puede servir como un servidor en un sistema Cliente-Servidor, reducindose el costo de inversin. Los clsteres 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. El cmputo con clsteres 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. De un clster se espera que presente combinaciones de los siguientes servicios: Alto rendimiento Alta disponibilidad Balanceo de carga Escalabilidad

Para que un clster funcione como tal, no basta solo con conectar entre s los ordenadores, sino que es necesario proveer un sistema de manejo del clster, el cual se encargue de interactuar con el usuario y los procesos que corren en l para optimizar el funcionamiento. La construccin de los ordenadores del clster es ms fcil y econmica debido a su flexibilidad: pueden tener todas las mismas configuraciones de hardware y sistema operativo (clster homogneo), diferente rendimiento pero con arquitecturas y sistemas operativos similares (clster semihomogneo), o tener diferente hardware y sistema operativo (clster heterogneo), lo que hace ms fcil y econmica su construccin. Hoy en da desempean un papel importante en la solucin de problemas de las ciencias, las ingenieras y del comercio moderno. La tecnologa de clsteres 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.

Arquitectura Paralelas

Pgina 2

Sistemas de Clsters 2 - 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 cincuenta y principios de los sesenta. 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 clster 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 clster de computadoras por cuatro tipos de centros informticos (cada una de las cuales fue algo similar a un clster pero no un commodity cluster como hoy en da lo entendemos). El proyecto ARPANET creci y se convirti en lo que es ahora Internet. Se puede considerar como la madre de todos los clsteres (como la unin de casi todos los recursos de cmputo, incluidos los clsteres, que pasaran a ser conectados). Tambin estableci el paradigma de uso de computadoras clsteres 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 desconectados. 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 setenta, 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.
Arquitectura Paralelas Pgina 3

Sistemas de Clsters
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 clster fue ARCnet, desarrollada en 1977 por Datapoint pero no obtuvo un xito comercial y los clsteres no consiguieron tener xito hasta que en 1984 VAXcluster produjeran el sistema operativo VAX/VMS. El ARCnet y VAXcluster no solo 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 clsteres 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 clsteres de computadoras estara incompleta sin sealar el papel fundamental desempeado por el desarrollo del software de PVM (parallel virtual machine: mquina virtual paralela). Este software de fuente abierta basado en comunicaciones TCP/IP permiti la creacin de un superordenador virtual un clster HPC realizada desde cualquiera de los sistemas conectados TCP/IP. De forma libre los clsteres 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 clsteres. En 1995, la invencin de la Beowulf un estilo de clster una granja de computacin diseada 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.

Arquitectura Paralelas

Pgina 4

Sistemas de Clsters 3 - CARACTERSTICAS DE UN CLUSTER


Si se habla de Cluster y de los tipos de Cluster existentes, es necesario mencionar cuales son las cualidades comunes que presentan. Para ello, se mencionarn las caractersticas de los Cluster definidas: Un Cluster consta de 2 o ms nodos. Un slo computador, en ningn caso, puede ser considerado como un Cluster debido a la situacin de aislamiento en que se encuentra, puesto que no puede comunicarse y menos, ocupar los recursos de otra mquina. Los nodos de un Cluster deben estar conectados entre si por, al menos, un canal de comunicacin. De no ser as, se produce el efecto de aislamiento anteriormente mencionado. Los Cluster necesitan software de control especializado. Se debe tener presente que el software utilizado es el que determinar el tipo de Cluster que se est implementando. Adems, parte de este software es el encargado de la comunicacin entre los componentes del Cluster. El software utilizado puede ser de uno de los siguiente niveles: Software a Nivel de aplicacin. Para la utilizacin de este software se emplean libreras, las cuales son de carcter general y permiten el comportamiento del Cluster como un solo gran sistema. Se puede ver graficado en la Figura.

Software a Nivel de Sistema. Este tipo de software puede ser una parte del operativo o la totalidad de ste. Este nivel es ms complejo, pero la eficiencia que brinda, por norma general, es superior a los de nivel de aplicacin. Se

Arquitectura Paralelas

Pgina 5

Sistemas de Clsters
puede ver en la Figura.

3.1 - CARACTERISTICAS ESPECIALES DE LOS SISTEMA DE CLUSTER


Mejora de seguridad - Los servidores web tienen fallos de seguridad y, por lo tanto, son vulnerables. Existe un tipo de ataque muy peligroso llamado exploit. Con un exploit, un intruso puede tomar el control total de un servidor. Para combatirlo el software del servidor se va actualizando a medida que se descubren nuevos agujeros de seguridad. Pero esta medida no inmuniza el sistema completamente, ya que se van creando nuevas variantes del ataque. En un servidor web convencional, si alguien consigue introducir un exploit a travs del puerto web consigue automticamente los mximos privilegios en esa mquina, ya que el servicio web se ejecuta en modo administrador. Y de esta forma puede hacer todo lo que quiera en el servidor atacado. Mejora de rendimiento - La mayor parte de los ordenadores que forman parte de un clster no tienen discos duros reales, sino que tienen placas de memoria RAM que simulan ser discos duros. Qu ventajas se obtienen? Las placas de memoria RAM, al contrario que los discos duros, no posen partes mecnicas, sino solamente elementos electrnicos. Este hecho las hace ser mucho ms rpidas y fiables que los discos duros. Y, en consecuencia, todo el sistema obtiene una importante mejora de rendimiento y de fiabilidad. Sistema de arranque especial - Las mquinas del clster, al no tener discos duros, inicialmente no tienen datos en memoria y no pueden arrancar. Para solventarlo, se las ha dotado de un sistema de arranque especial llamado PXE. Con este sistema cada mquina se conecta a otra mquina del clster, que le proporciona todos los datos que necesita para empezar a trabajar.

Arquitectura Paralelas

Pgina 6

Sistemas de Clsters
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.

4 - FACTORES DE DISEO PARA CLASIFICAR UN CLUSTER


Existen diferentes factores de diseos segn los cuales se puede clasificar un Cluster. Entre stos encontramos los siguientes: Acoplamiento. Control. Homogeneidad. Escalabilidad. Acoplamiento: Una de las caractersticas ms importantes de un Cluster es el nivel de acoplamiento del mismo. Por acoplamiento del software se entiende la integracin que tengan los elementos existentes en cada nodo. Los distintos tipos de acoplamiento son los que se describen a continuacin: Escasamente acoplados Una agrupacin de computadores est escasamente acoplada si, an siendo capaz de realizar procesamiento paralelo mediante libreras de paso de mensajes o de memoria compartida, no posee un sistema de instalacin y gestin integrado que posibilite una recuperacin rpida ante fallos y una gestin centralizada que ahorre tiempo al administrador. Medianamente acoplados Dentro de este grupo se encuentra un software que no necesita un conocimiento tan profundo sobre los cuales son los recursos de los otros nodos que componen el Cluster, pero utiliza el software de otros nodos para realizar aplicaciones de muy bajo nivel. Un ejemplo de este tipo de acoplamiento es openMosix y Linux-HA (AltaDisponibilidad). Una nota importante, es que un Cluster openMosix necesita que todos los Kernels sean de la misma versin. Altamente acoplados Este software se caracteriza por que los elementos que lo componen se interrelacionan unos con otros y posibilitan la mayora de las funcionalidades del Cluster de manera altamente cooperativa. El acoplamiento ms fuerte que se puede dar se produce cuando existe slo una imagen del sistema operativo, la cual est distribuida entre el conjunto de nodos que la compartirn.
Arquitectura Paralelas Pgina 7

Sistemas de Clsters
Este caso es el que se considera como ms acoplado, de hecho, no est catalogado como Cluster, sino como sistema operativo distribuido. Control: Cuando se habla de control de un Cluster, no es ms que el modelo de gestin que ste propone. Estos modelos pueden ser de dos tipos, stos son: Control centralizado: En este tipo de control existe un nodo maestro desde el cual se realiza la configuracin de todo el Cluster. Adems ayuda a que la gestin y la administracin sean mucho ms fcil de realizar, pero a su vez los hace menos tolerable a los fallos. Control descentralizado: En este tipo de control cada uno de los nodos del Cluster debe ser capaz de administrarse y gestionarse. En este tipo de control se hace ms difcil la gestin y la administracin, pero como sistema global lo hace ms tolerable a fallos. Homogeneidad: Se entiende por homogeneidad de un Cluster a lo similar que pueden llegar a ser los equipos y recursos que conforman ste. Se clasifican en: Clusters homogneos: En este tipo de Cluster todos los nodos que lo componen poseen arquitectura y recursos similares, es decir, no debe existir mucha diferencia entre cada nodo. Clusters heterogneos: Este tipo de Cluster est formado con nodos en los cuales pueden existir las siguientes diferencias: Tiempos de acceso. Arquitectura. Sistema operativo. Rendimiento de los procesadores o recursos sobre una misma arquitectura. El uso de arquitecturas distintas o distintos sistemas operativos, impone que exista una biblioteca que haga de interfaz. Escalabilidad: Otro factor de suma importancia que an no se ha nombrado es el de Escalabilidad del Cluster. Escalabilidad es la capacidad de un sistema informtico de adaptarse a un nmero de usuarios cada vez mayor, sin perder calidad en los servicios. En general, se podra definir como la capacidad del sistema informtico de cambiar su tamao o configuracin para adaptarse a las circunstancias cambiantes. Por lo tanto, entre ms escalable es un sistema, menos costar mejorar el rendimiento, lo cual abarata el coste y, en caso de que un Cluster lo implemente, distribuye ms la cada del sistema.

Arquitectura Paralelas

Pgina 8

Sistemas de Clsters 5 - CLASIFICACIN DE CLUSTERS


La forma en que operar el Cluster est determinada por la funcin que ste deber desempear. De esta manera, la forma de operar es a su vez definida por el software de control especializado que se detall anteriormente. Segn los distintos Cluster existentes son los siguientes: Cluster de Alto-Rendimiento Cluster de Alta-Disponibilidad Cluster de Alta-Confiabilidad.

5.1 - Cluster de Alto-Rendimiento (HP, High Performance)


Un Cluster de Alto-Rendimiento es aquel que est diseado para dar altas prestaciones en cuanto a capacidad de clculo. De acuerdo con la definicin, el recurso que comparten los nodos es el ms importante de una mquina, ste es, el tiempo de proceso. El objetivo de este tipo de Clusters es, como su propio nombre indica, mejorar el rendimiento en la obtencin de la solucin de un problema, en trminos bien del tiempo de respuesta, bien de su precisin. Existen distintas aplicaciones que se les puede dar a este tipo de Cluster, entre las cuales encontramos las siguientes: Clculos matemticos. Renderizaciones de grficos. Compilacin de programas. Compresin de datos. Descifrado de cdigos. Rendimiento del sistema operativo, (incluyendo en l, el rendimiento de los recursos de cada nodo). Por lo tanto se puede decir que este tipo de Cluster puede ser utilizado en problemas que requieran grandes tiempos de proceso, siempre y cuando se encuentre un algoritmo paralelizable.

Arquitectura Paralelas

Pgina 9

Sistemas de Clsters
Existen Clusters que pueden ser denominados de Alto-Rendimiento tanto a nivel de sistema como a nivel de aplicacin. A nivel de sistema existe openMosix, mientras que a nivel de aplicacin se encuentran algunos como MPI, PVM, Beowulf y muchos otros. En cualquier caso, estos Clusters hacen uso de la capacidad de procesamiento que pueden tener varias mquinas. Las implementaciones a nivel de aplicacin no suelen implementar balanceo de carga, a diferencia de las implementaciones a nivel de Kernel que si lo hacen, adems de compartir los recursos a cualquier nivel. Los aspectos de implementacin para este tipo de los Cluster son las siguientes: - Asignacin de procesos a los nodos Los procesos pueden ser ejecutados en cualquier nodo del Cluster, pero donde permanecer el resto de su vida est dado por las siguientes asignaciones: Esttica: Se elige estticamente el nodo donde el proceso vivir toda su vida. Al ser esttico puede producir un mal balanceo de la carga. Dinmica: Los procesos una vez iniciados en un nodo pueden migrar a otro nodo dinmicamente. En este caso el algoritmo que realiza la migracin debe tener mucho cuidado con el balanceo de la carga, y sobre qu variables est tomando las decisiones de migracin. Por lo tanto su implementacin es compleja, y tambin se pueden producir una sobrecarga en el Cluster. - Requisa Se entiende por Requisa al hecho de poder parar un determinado proceso y poder adquirir sus recursos. Por lo tanto los Cluster de Alto-Rendimiento pueden implementar o no la Requisa. La ventaja de implementar Requisa consiste en que el tiempo de latencia en los procesos de mayor prioridad ser menor, pero la desventaja es que se pueden producir sobrecargas en el Cluster y que la complejidad al realizar la implementacin aumente. - Modos de dedicar los Nodos Existen modos de dedicar los nodos para llevar a cabo un determinado proceso, los modos de dedicar los nodos son los siguientes: Modo dedicado: En este modo, que es el ms simple de todos, solamente un trabajo est siendo ejecutado en el Cluster en un tiempo dado, y como mucho un proceso de este trabajo que se est ejecutando es asignado a un nodo en cualquier momento en el que se siga

Arquitectura Paralelas

Pgina 10

Sistemas de Clsters
ejecutando el trabajo. Este trabajo no liberar el Cluster hasta que acabe completamente aunque solamente quede un proceso ejecutndose en un nico nodo. Todos los recursos se dedican a este trabajo. Como se puede comprender fcilmente, esta forma de uso de un Cluster puede llevar a una prdida importante de potencia sobre todo si no todos los nodos acaban el trabajo al mismo tiempo. Modo de divisin en el espacio: En este modo existen particiones disjuntas del Cluster, en las cuales se ejecuta slo un trabajo en la particin dada, parecido al modo anterior, lo que puede ocasionar algunos problemas como que la particin no sea lo suficientemente grande como para poder llevar a cabo el trabajo o que sea muy pequeo el trabajo y se desperdicien gran cantidad de nodos de la particin. Modo de divisin en el tiempo: En cada nodo pueden estar ejecutndose varios procesos a la vez por lo que se solucionan los problemas anteriores. Este es el modo ms usado normalmente puesto que no tiene tantas restricciones como los anteriores y se puede intentar hacer un equilibrio de carga eligiendo correctamente los procesos.

5.2 - Cluster de Alta-Disponibilidad (HA, High Availability)


Este tipo de Cluster es totalmente diferente a los Cluster de Alto-Rendimiento. Por el contrario los Clusters de Alta-Disponibilidad estn diseados para garantizar el funcionamiento ininterrumpido de ciertas aplicaciones. La idea principal de este tipo de Cluster es proporcionar un servicio ininterrumpido las 24 horas del da, los 7 das de la semana. Un Cluster de Alta-Disponibilidad es un conjunto de dos o ms mquinas, que se caracterizan porque comparten los discos de almacenamiento de datos, y porque estn constantemente monitorizndose entre si. Si se produce un fallo del hardware o de las aplicaciones de alguna de las mquinas del Cluster, el software de Alta-Disponibilidad es capaz de prearrancar automticamente los servicios que han fallado en cualquiera de las otras mquinas del Cluster. Y cuando la mquina que ha fallado se recupera, los servicios son nuevamente migrados a la mquina original. Esta capacidad de recuperacin automtica de servicios garantiza la integridad de la informacin, ya que no hay prdida de datos, y adems evita molestias a los usuarios, que no tienen por qu notar que se ha producido un problema. Para poder cumplir con el objetivo de ser capaz de estar siempre dando servicios, este tipo de Cluster se implementa en base a tres factores, los cuales son: Fiabilidad: Probabilidad de un funcionamiento correcto.

Arquitectura Paralelas

Pgina 11

Sistemas de Clsters
Disponibilidad: La calidad de estar siempre presente, listo para el uso, a mano, accesible. Dotacin de servicio: Debe existir un servicio proporcionado por el Cluster. Este tipo de Cluster est diseado para resolver mltiples problemas dentro de los cuales encontramos los siguientes: Sistemas de informacin redundante. Sistemas tolerantes a fallos. Balanceo de carga entre varios servidores. Balanceo de conexiones entre varios servidores. Como se puede apreciar las necesidades que se pretenden solucionar son: tener un servicio disponible y ahorrar econmicamente todo lo que sea posible.

5.3 - Cluster de Alta-Confiabilidad (HR, High Reliability)


Estos tipos de Clusters son los ms difciles de implementar. No se basan solamente en conceder servicios de Alta-Disponibilidad, sino en ofrecer un entorno de sistema altamente confiable. Esto implica muchsima sobrecarga en el sistema, son tambin Clusters muy acoplados. Dar a un cluster SSI capacidad de Alta-Confiabilidad implica gastar recursos necesarios para evitar que aplicaciones caigan. La idea de este tipo de Cluster es que cuando un servicio se ha cado, ste sea relanzado utilizando el ltimo checkpoint (o punto de parada) del servidor anterior, adems otra de sus funciones es mantener el estado de las aplicaciones. Generalmente este tipo de Clusters suele ser utilizado para entornos de tipo empresarial y esta funcionalidad solamente puede ser efectuada por hardware especializado. Por el momento no existe ninguno de estos Clusters implementados como software. Esto se debe a limitaciones de la latencia de la red, as como a la complejidad de mantener los estados.

Arquitectura Paralelas

Pgina 12

Sistemas de Clsters 6 - 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

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

Arquitectura Paralelas

Pgina 13

Sistemas de Clsters
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. 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. 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

Arquitectura Paralelas

Pgina 14

Sistemas de Clsters
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. 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.) 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: 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. 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.
Arquitectura Paralelas Pgina 15

Sistemas de Clsters
Myrinet (Myrinet 2000 y Myri-10G): Su latencia es de 1,3/10 s, y su ancho de Banda de 2/10Gbps, respectivamente para Myrinet 2000 y Myri-10G. 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: 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. 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: 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. 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. Adems, a travs del mecanismo de pre-loading (LD_PRELOAD) se puede conseguir que todas las comunicaciones del sistema vayan a travs de SCI-SOCKETS (transparencia para el usuario). 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:

Arquitectura Paralelas

Pgina 16

Sistemas de Clsters
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. 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.

Arquitectura Paralelas

Pgina 17

Sistemas de Clsters 7 - SISTEMAS CLUSTERS IMPLEMENTADOS


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. 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. Google Durante el ao 2003, el cluster Google lleg a estar conformado por ms de 15.000 computadores personales. En promedio, una consulta en Google lee cientos de megabytes y consume algunos billones de ciclos del CPU. 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. 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. 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).
Arquitectura Paralelas Pgina 18

Sistemas de Clsters
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. 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. 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.

8 - GESTIN DE RECURSOS DISTRIBUIDOS:

8.1 - 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 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.
Arquitectura Paralelas Pgina 19

Sistemas de Clsters
Se puede eliminar un trabajo. El gestor de colas se configura. Salida estndar de trabajos Salida de error de trabajos. Sistemas gestores de colas populares: Sun Grid Engine (SGE), PBS, Open PBS y Torque.

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

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

Arquitectura Paralelas

Pgina 20

Sistemas de Clsters
Ejemplos: Simulaciones (earth simulator), genmica computacional, prediccin meteorolgica (MM5), simulacin de corrientes y vertidos en el mar, aplicaciones en qumica computacional.

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

11 - CONCLUSIONES:
El Clustering es una tecnologa econmica pero que brinda grandes ventajas en escalabilidad y disponibilidad ms que los sistemas convencionales de multiprocesamiento, que adems de ser costosas no han cumplido con los requerimientos de resistencia a fallos. Los clusters al ser sistemas redundantes son ms confiables, o sea que si cae un nodo, el trabajo es compartido por los otros nodos y el sistema sigue funcionando y la informacin no se pierde. La mayora de Clusters requieren arquitecturas y/o sistemas operativos homogneos por lo que si necesitamos agregar un nuevo nodo deber cumplir con dicha regla de homogeneidad, pero que pasara si la arquitectura ya no sigue vigente en el mercado?, entonces el sistema Cluster ya no puede ser extendido. Los sistemas de software libre contribuyen de forma importante al desarrollo de los clusters, entre ellos resaltando al sistema operativo GNU/Linux. Gracias al software libre es que estas tecnologas no se estancan si no que son retomadas por entidades de todo el mundo para contribuir en el crecimiento cientfico de la tecnologa Clustering.

Arquitectura Paralelas

Pgina 21

Vous aimerez peut-être aussi