Académique Documents
Professionnel Documents
Culture Documents
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
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
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
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.
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.
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
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.
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.
Arquitectura Paralelas
Pgina 12
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
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.
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.
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.
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