Está en la página 1de 31

Universidad Nacional de Chilecito

Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

Cluster
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. Alto rendimiento 2. Alta disponibilidad 3. Balanceo de carga 4. 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.

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 Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011

Pgina 1

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario 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.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011

Pgina 2

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario 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.

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.

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 de y los servicios que ofrecen, determinan el Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011

Pgina 3

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario 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.

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

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011

Pgina 4

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario 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 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 Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011

Pgina 5

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario 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.)

Ejemplos
GNU/Linux ABC GNU/Linux2 OpenMosix Rocks3 Kerrighed Cndor Sun Grid Engine Unix Solaris HP-UX Aix Windows NT 2000 Server 2003 Server 2008 Server Mac OS X Xgrid Solaris FreeBSD

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.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011

Pgina 6

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario 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: 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, checkpointrestart (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.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011

Pgina 7

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario 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.

Sistemas Clusters Implementados


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.

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. Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011

Pgina 8

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

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.

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


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. Todos los clusters (a excepcin de la segunda versin de Magerit) estn formados por un nmero variable de nodos con procesadoresPowerPC 970 a 2.2GHz interconectados con una red Myrinet. El rendimiento de las mquinas oscilan entre los casi 65 TeraFLOPSproporcionados por las ms de 10000 CPUs de Marenostrum, los casi 16 TeraFLOPS de Magerit (primera versin) con 2400 procesadores o los casi 3 TeraFLOPS de los 5 nodos restantes. La actualizacin de Magerit en 2011 mantiene la arquitectura cluster por su versatilidad y reemplazando los elementos de cmputo por nodos IBM PS702 con procesadores POWER7 a 3.0GHz y logrando unrendimiento ms de 72 TeraFLOPS lo que le convierte en el ms poderoso de Espaa. Esto demuestra la sencillez y flexibilidad de la arquitectura: actualizando algunos elementos se obtienen sistemas ms potentes sin grandes complicaciones.

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. Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011

Pgina 9

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

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.

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.

CLUSTER DE ALTA-DISPONIBILIDAD: LINUX VIRTUAL SERVER


Linux Virtual Server (LVS) es una solucin para gestionar balance de carga en sistemas Linux. Es un proyecto de cdigo abierto iniciado por Wensong Zhang en mayo de 1998. El objetivo es desarrollar un servidor Linux de alto rendimiento que proporcione buena escalabilidad, confiabilidad y robustez usando tecnologa Clustering. El Linux Virtual Server es un servidor altamente escalable y altamente disponible construido sobre un Cluster de servidores reales, con el balanceador de carga corriendo en un sistema operativo Linux. La arquitectura del Cluster servidor es completamente transparente a los usuarios finales, y los usuarios interactan como si fuera solamente un solo servidor virtual de Alto-Rendimiento. La principal idea es proveer de un mecanismo de migracin de sockets. El mecanismose basa en utilizar una mquina servidora a la que se dirigen las peticiones de los usuariosclientes. La interfaz pblica (en Internet) de esta mquina normalmente tiene asociada unadireccin conocida como VIP. El cometido de esta primera computadora es direccionar dichaspeticiones a otros servidores reales mediante varias Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 10

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario tcnicas, de este modo los usuariosclientes ven un nico servidor. No obstante ste opera con varias mquinas para conceder unservicio nico al exterior.

MTODOS DE BALANCEO IP
En este tipo de Cluster el nodo director acta como una especie de router. En el Kerneldel nodo se encuentran aadidas todas las tablas de encaminamiento, las cuales son empleadaspara realizar el reenvo de los paquetes a los servidores reales. Para efectuar este reenvo depaquetes existen tres formas las cuales son: VS-NAT VS-DR Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 11

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario VS-TUN.

VS-NAT
Es el caso ms sencillo de configurar de todos y el que menor rendimiento tienerespecto a los otros dos. VS-NAT hace uso de NAT para modificar direcciones. Existen tantola implementacin para las versiones de Kernel 2.25 como para las 2.46. Ambasimplementaciones dan soporte SMP para LVS en el nodo director (que es el que tiene el Kernel modificado), lo que permite una tasa de manejo de paquetes muy alta para Clusters queproveen de mucho servicio. Para que este tipo de mtodo de balanceo funcione de manera adecuada, se debecontar con el Kernel del director parchado con LVS (ipvs) y a su vez de una batera deservidores, los cuales pueden correr cualquier sistema operativo y cualquier servicio. La tarea realizada por el nodo director es recibir las peticiones de los clientes por su VIP, y ste a su vez reenva los paquetes al servidor real, el cual responde a la peticin y losenva nuevamente al nodo director, el que cambia las direcciones de cabecera para que noexistan problemas a la hora en que el cliente reciba dichos paquetes. Como se puede ver, el mecanismo es muy parecido, por no decir igual, que el de unproxy inverso, excepto por que el redireccionamiento se hace a nivel de Kernel. VS-NAT tiene el mismo problema que los proxys inversos: el nodo director llega a serun cuello de botella en cuanto las exigencias por parte de los clientes se hacen muy altas, o elnmero de servidores internos de la red crece por encima de los 20. Es por esto que este tipode configuracin es la menos utilizada de las tres.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 12

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

VS-NAT [LVS2005] VS-TUN


Este mtodo es ms utilizado que el anterior, se basa en redirigir los paquetes IP delnodo director al destino mediante tcnicas de IP-tunneling. Esto requiere que tanto el nododirector (que debe correr bajo Linux y por tanto puede ser compilado con IP-tunneling) comoel servidor real puedan encapsular y desencapsular paquetes especiales. Para esto es necesarioque la pila IP del sistema operativo lo soporte, y no todos los sistemas operativos lo soportan. Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 13

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario En general la mayora de Unix que existen en el mercado si lo soportan, por lo que en unprincipio no debe ser un grave inconveniente para la eleccin de este mtodo como base deLVS. El funcionamiento mediante este mtodo de balanceo es el siguiente: El cliente hace la peticin a la VIP del director. El director elige mediante el algoritmo de balanceo cul ser el servidor realque atienda la peticin. El servidor encapsula el paquete (que le lleg por la interfaz asignada a la VIP)en otro paquete IP con destino al servidor real. La funcin que cumple el servidor real es atender las peticiones de servicio yresponder, utilizando la direccin con la cual lleg el servicio, es decir, la VIP. Un aspectoimportante es que el servidor real enva directamente los paquetes al cliente sin tenernecesidad de volver a pasar por el nodo director. De esta manera se evita el problema decuello de botella en el director, como ocurre en VS-NAT. Otra caracterstica importante en este tipo de redireccionamiento est dada por que sepuede estar trabajando en una red WAN, por lo tanto los servidores reales pueden estardispersos por cualquier parte del mundo, a las cuales se puede acceder desde el director. Estonos ayuda a no slo distribuir los servicios, sino que tambin poder realizar una distribucingeogrfica de los servidores. Una de las desventajas que tiene este tipo de tcnica es que tanto el director como elservidor tienen que ser capaces de crear interfaces de tipo tunneling, y como consecuencia dehacer IP-tunneling siempre estara implcito un tiempo de procesador ocupado en encapsular odesencapsular los paquetes, que si bien en algunos sistemas puede ser insignificantes, en otrospuede ser decisivo para la eleccin de otro mtodo de balanceo.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 14

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

VS-TUN [LVS2005]. VS-DR Es una tecnologa que realiza un encaminamiento directo de los paquetes del nododirector al los servidores reales. Su base en una tecnologa de red local (en un nico segmento)y en un cambio de direcciones IP-MAC proporcionan el mtodo de reenvo de los paquetes.
Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 15

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

Una similitud que se presenta con VS-TUN es que ambos mtodos no reenvan lospaquetes al nodo director, de esta forma, tampoco existe el cuello de botella presentado en VSNAT. Por ser el que mayor rendimiento obtiene, es uno de los ms utilizados, pero al igual queel resto, presenta una serie de desventajas en su uso y configuracin. El funcionamiento de VS-DR es similar al de VS-TUN en el sentido de que ambosutilizan la direccin VIP no solamente en el nodo director (donde est la direccin VIP real ala que acceden los clientes) sino tambin en los nodos servidores. En este caso, los servidoresposeen dos direcciones asociadas al nodo, una es la IP real asociada a la tarjeta Ethernet, laotra es una direccin loopback especial configurada con la direccin VIP, es conveniente dejarla interfaz loopback que tiene la direccin 127.0.0.1 sin modificar, por lo cual se debe hacer unalias de esta interfaz pero con la direccin conocida como VIP.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 16

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

VS-DR [LVS2005] Cuando un cliente quiere realizar una conexin con el director lanza un paquete ARP(o en su defecto lo manda el router, en cualquier caso el problema es el mismo) para saber cules la direccin MAC del director. ste hace el reenvo dependiendo del algoritmo deplanificacin y al mismo tiempo guarda en su tabla el estado de la conexin que se harealizado. El servidor contesta y se reenva la respuesta hacia el cliente.
Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 17

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

Puede darse el caso que no ocurra as y en vez de contestar el director conteste uno delos servidores reales, por lo cual la conexin se realizar pasando por encima del LVS, en unaespecie de by-pass, y de esta forma el nodo director no guardar ni los estados ni la conexin.Hasta aqu no existe ningn problema. El problema est en el caso de que la tabla ARP del router o cliente se borre y vuelva apedir ARP Who has VIP tell cliente/router concedindose la MAC de otro servidor o inclusodel nodo director, que no tiene ni idea de cmo va la conexin en ese momento ya que el noestaba entregando el servicio Figura N2.7 Problema ARP.

Problema ARP [WIK2004].


Como se puede ver es un problema inherente a la manera en la que se ha configuradola solucin, la que podra ser resuelta poniendo ms de una tarjeta de red al director entreotras soluciones. De cualquier forma, la red se comporta normalmente de manera aleatoria enla concesin de la MAC. Existen varias soluciones, desde parches para el Kernel hasta un comando ifconfig -arp, pasando por meter una tarjeta de red ms en el director o incluso modificando la tablaARP del router para que no solicite ARP dinmicamente sino lo especificado.

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.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 18

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario Ejemplos: Simulaciones (earth simulator), genmica computacional, prediccin meteorolgica (MM5), simulacin de corrientes y vertidos en el mar, aplicaciones en qumica computacional

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 distribucindel 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 unclaro 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.

CLUSTER DE ALTO RENDIMIENTO: OPENMOSIX


En esta seccin se detallar toda la informacin relacionada con el Cluster de Alto-Rendimiento openMosix. Los temas a tratar sern: Qu es openMosix? Descripcin de openMosix. Caractersticas. Tcnicas de monitorizacin. Memoria Compartida.

QU ES OPENMOSIX?
El software openMosix permite realizar la implementacin de un Cluster de Alto- Rendimiento, bajo el sistema operativo Linux. Una cualidad importante de openMosix es la posibilidad de realizar la implementacin de un Cluster de Alto-Rendimiento, sin costos de licencias, esto es debido a que tiene licencia GPL2, lo cual es una de las caractersticas de esta investigacin. Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 19

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario Este proyecto, openMosix, surge de la separacin de los dos principales desarrolladores de Mosix, los cuales son Amnom Barak y Moshe Bar. Esta separacin se produjo debido a diferencias de opinin sobre el futuro de la licencia de Mosix. Moshe Bar continuo desarrollando Mosix pero ahora llamado openMosix, la gran diferencia que existe es que este ltimo es de licencia GPL2. Es importante sealar que openMosix es un parche para el Kernel de Linux por lo que es compatible con el estndar de Linux para plataformas IA32. Los cambios se traducen entorno a un 3% del cdigo total del Kernel, lo que realmente no es muy significativo.

DESCRIPCIN DE OPENMOSIX
El paquete de software openMosix convierte computadores corriendo GNU/LINUX conectados en red, en un Cluster. ste realiza automticamente el balanceo de carga entre los diferentes nodos del Cluster, y estos pueden unirse o retirarse del mismo sin presentar mayores problemas. El software openMosix no dispone de un control centralizado y/o jerarquizado en maestros/esclavos: cada nodo puede operar como un sistema autnomo, y establece independientemente sus propias decisiones. Este diseo permite la configuracin dinmica, donde los nodos pueden aadirse o dejar el Cluster con interrupciones mnimas. Tambin cabe mencionar que openMosix nos brinda una nueva dimensin de la escalabilidad de un Cluster bajo Linux. Permite la construccin de arquitecturas de alto rendimiento, donde la escalabilidad nunca se convierte en un cuello de botella para el rendimiento general del Cluster. Otra ventaja de los sistemas openMosix es la respuesta en condiciones de alta impredecibilidad producida por distintos usuarios y/o situaciones. Los factores que son determinantes en el momento en que la carga es repartida entre los nodos son: su velocidad de conexin, el espacio libre con el que cuente la memoria y la velocidad de los procesadores en trminos de ciclos por segundo. La distribucin de la carga de procesos es realizada por un algoritmo de balanceo de carga, el cual realiza en forma transparente (al usuario, al nodo y al proceso) las migraciones de procesos de un nodo a otro. El beneficio es una mejor reparticin de carga entre los nodos, ya que el mismo Cluster se preocupa de optimizar en todo momento las cargas de los nodos. Adems a travs de las distintas herramientas de monitorizacin es posible visualizar cul es la carga en cada equipo, y cmo el algoritmo de balanceo realiza la distribucin. Tambin se ofrece la posibilidad de que el administrador del sistema pueda afectar el balance de carga automtico mediante una configuracin manual durante la ejecucin de un determinado proceso. Al momento de iniciar un proceso en un nodo x, el Cluster determina, basado en diferentes criterios, si es mejor ejecutar un cierto proceso en un nodo menos cargado. El software openMosix utiliza un algoritmo Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 20

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario avanzado basado en economa de mercado para determinar cul nodo aloja mejor la aplicacin. Por supuesto, el administrador del sistema puede siempre forzar a que una aplicacin sea ejecutada en un cierto nodo. De esta forma, incluso las aplicaciones que han sido paralelizadas se benefician de openMosix. El software openMosix es una de las ms rpidas y fciles vas para instalar un Cluster de AltoRendimiento, sin necesidad de lidiar con libreras extra requeridas ni con problemas de configuracin, debido a que funciona a nivel de Kernel, aadido a la excelente interfaz openMosixView para la administracin del Cluster. El funcionamiento ptimo de openMosix se logra cuando tiene mltiples y largos trabajos ejecutando. Algunos ejemplos de este tipo de aplicaciones pueden ser instituciones financieras ejecutando anlisis de riesgos o instituciones de investigacin cientfica ejecutando comparaciones de ADN. Sin embargo, an hay algunas caractersticas que no incluyen las versiones actuales deopenMosix, pues no todas las aplicaciones pueden migrar a otros nodos, algunas de ellas requieren funciones que se preocupen de que un proceso sea separado en un cierto contexto de sistema y usuario. Durante los pasados aos, muchas personas comenzaron a trabajar en soluciones paralos problemas antes mencionados, dentro de las cuales se pueden encontrar las siguientes: Implementaciones que soportan Checkpointing. La implementacin de las herramientas autodiscovery que hicieron a openMosix msfcil de instalar. El desarrollo del demonio General openMosix. El parche de lmite de carga. El parche de la mscara del Cluster. La implementacin de la Migracin de Memoria Compartida.

CARACTERSTICAS DE UN CLUSTER OPENMOSIX


Antes de empezar a hablar de alguna de las herramientas que permiten la mejor utilizacin de openMosix, es necesario citar sus ventajas y desventajas.

Ventajas de openMosix:
No se requieren paquetes extra, para el Kernel. No son necesarias modificaciones en el cdigo del Kernel. Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 21

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

Desventajas de openMosix:
Es dependiente del Kernel. No migra todos los procesos siempre, tiene limitaciones de funcionamiento. Problemas con memoria compartida. Adems los procesos con mltiples threads (hebras) no ganan demasiada eficiencia. Tampoco se obtendr mucha mejora cuando se ejecute un solo proceso, como por ejemplo el navegador. Este ltimo punto se tratar ms adelante en la seccin de memoria compartida y los motivos de la investigacin de este tipo de Cluster, como un mtodo de solucin.

TCNICAS DE MONITORIZACIN DE OPENMOSIX


Dentro de las tcnicas de monitorizacin de openMosix existen dos, las cuales son: Mosmon. openMosixView.

Mosmon
Mosmon es la tcnica de monitorizacin para el Cluster que ofrece la instalacin bsicade openMosix el cual permite ver en modo texto un grfico de barras, con la carga que tienen los nodos pertenecientes al Cluster.

Mosmon. Para la monitorizacin del Cluster, tambin existe otra herramienta, la cual es msamigable, esta herramienta es openMosixView. Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 22

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

OpenMosixView
La herramienta openMosixView tiene por objeto mostrar en un entorno grfico, cul es la carga de los nodos y adems cumple el rol de interfaz para el resto de herramientas que vienen incorporadas en openMosix. Adems de presentar un entorno grfico amigable, openMosixView permite realizar la administracin del Cluster de forma fcil y dinmica, mediante las distintas herramientas que se mencionarn a continuacin.

Herramientas de openMosixView
Las herramientas que vienen incorporadas en openMosixView son las siguientes: OpenMosixview es la principal aplicacin la cual realiza la monitorizacin y administracin. OpenMosixprocs esta aplicacin es utilizada para la administracin de procesos. OpenMosixcollectorCaptura la informacin del Cluster proporcionada por los demonios. OpenMosixanalyzer esta aplicacin es un analizador de la informacin capturada poropenMosixcollector. OpenMosixhistory historial de monitorizacin de procesos del Cluster. OpenMosixmigmonvisor que representa la migracin de procesos. 3dmosmon visor para monitorizacin de datos en 3D. Todas estas herramientas se encuentran disponibles en la pantalla principal deopenMosixView. Requerimientos: Tener instaladas las libreras QT segn indique la versin. Derechos de superusuario -root-. Las herramientas de usuario de openMosix -userland-tools-.

Operaciones con openMosixView


La aplicacin principal de openMosixView es la mostrada en la siguiente figura.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 23

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

openMosixView. La herramienta openMosixview muestra, para cada nodo que pertenece al Cluster (cadafila): una luz, un botn, un slider, un nmero lcd, dos barras de progreso y un par de etiquetas. Las luces de la izquierda muestran el ID del nodo y su estado. El color rojo significa que el nodo no se encuentra operativo y el color verde, que el nodo est operativo. Si se hace clic en el botn que muestra la direccin IP de un nodo se llamar al dilogode configuracin, que muestra los botones para ejecutar los comandos de mosctl. Con los sliders de velocidad se puede establecer la velocidad que considerar el Cluster para cada nodo. Este parmetro se muestra en el display lcd. Se puede tambin intervenir en el balanceo de carga de cada nodo cambiando sus valores. Los procesos en un Cluster openMosix migran ms fcilmente hacia un nodo cuya velocidad sea ms elevada. Se tiene que tener presente que este concepto de velocidad no tiene que ser el que realmente posea la computadora, es simplemente el parmetro que se quiere que openMosix considere para cada mquina. Las barras de progreso, que conforman el par de columnas en la mitad de la ventana, dan una idea general de la carga de cada nodo del Cluster. La primera se refiere a la carga del procesador y muestra un porcentaje que ser una aproximacin del valor escrito por openMosix en el fichero /proc/hpc/nodes/x/load. La segunda barra muestra la memoria utilizada en cada nodo. El box de la izquierda muestra el total de memoria disponible. Finalmente el box del extremo derecho muestra el nmero de procesadores de cada nodo. En la esquina superior-izquierda se puede ver el box load-balancing efficiency, ste es un 95% y es el indicador de la eficiencia del algoritmo de balanceo de carga. Un valor prximo al 100% indica que la carga computacional ha podido dividirse equitativamente entre los nodos. Podemos utilizar los mens de collector- y analyzer- para administraropenMosixcollector y openMosixanalyzer, respectivamente. Estas dos partes de las aplicaciones openMosixView son muy adecuadas para construir un historial del trabajo hecho y la manera en cmo se ha hecho en el Cluster.

MEMORIA COMPARTIDA
Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 24

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario Como el objetivo planteado para este proyecto era el de implementar un Cluster paraser utilizado como servidor Apache, el cual trabaja con memoria compartida, naci la necesidad de investigar la posible existencia de alguna herramienta que permitiese la migracin de procesos que utilizan memoria compartida y tambin aquellos que utilizan multihebras.

El Problema de la Memoria Compartida


Cuando un proceso que no utiliza memoria compartida debe ser migrado, openMosix destruye el mapa de memoria y las pginas relacionadas en el nodo hogar y hace una recreacin de la misma en el nodo remoto. Esto no puede ser hecho cuando una aplicacin usa memoria compartida, ya que otras aplicaciones estn usando las mismas regiones de la memoria. El resultado de la bsqueda se llama MigShm, una herramienta que debera cumplircon las funcionalidades requeridas y adems posea la caracterstica de ser de licencia GPL. Como se mencion anteriormente dada las caractersticas de los Cluster lo ms conveniente sera aplicar un Cluster de Alta-Disponibilidad, pero debido a que la investigacin, en un principio estuvo centrada en openMosix, se consider importante probar el funcionamiento de esta herramienta como una posible solucin.

MigShm, la Solucin de MAASK


Maya, Anu, Asmita, Snehal, Krushna, las desarrolladoras de MigShm, son estudiantes del Cummins College of Engineering, de la Universidad de Pune, India. Ellas estuvieron durante un ao trabajando en este proyecto y escribieron un reporte acerca del mismo, en donde explican cmo lograron implementarlo. MigShm es un parche DSM para openMosix. DSM significa Distributed SharedMemory. Este parche habilita la migracin de procesos que utilizan memoria compartida en OpenMosix. Ejemplos de este tipo de aplicaciones son Apache, Xfracky, etc. Actualmente, una de las principales limitaciones de openMosix, junto con el problema de la memoria compartida, es el de las aplicaciones que utilizan multi-hebras en el Cluster. Por consiguiente dichas aplicaciones tampoco se pueden beneficiar de las ventajas que presenta el balance de carga que es capaz de realizar openMosix. MigShm apunta a corregir ambas problemticas, tanto la memoria compartida como las multi-hebras. Un demonio llamado mig_shm_daemon() se ejecuta en cada nodo, el cual se encarga de manejar las migraciones de procesos que utilizan memoria compartida a los diferentes mdulos del Cluster.

Ejemplo:

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 25

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

Las Herramientas: ClusterKnoppix y OpenMosix

La distribucin principal utilizada es ClusterKnoppix, y el ncleo openMosix. Como el nombre insina, ClusterKnoppix es una derivada de Knoppix. ClusterKnoppix provee a los usuarios todas las prestaciones de Knoppix (la abundancia de aplicaciones, booteo desde el CD, auto deteccin del hardware, y el soporte para muchos perifricos y dispositivos) junto con las capacidades del agrupamiento de estrellas del openMosix. ParallelKnoppix, PlumpOS, Quantian, y CHAOS son algunas de las distribuciones de linux para hacer un Cluster, pero ClusterKnoppix es probablemente la ms popular porque esta: o Proporciona un verdadero servidor KDE (entre otros tableros del escritorio) o Ofrece varias aplicaciones (tales como GIMP) o Ha adoptado realces de la seguridad de la distribucin CHAOS.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 26

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

Programa de manejo a travs de nodos: OpenMosix


Aparte del hardware y el enlace entre las mquinas, se necesita el software que puede manejar los programas separados a travs de los nodos del cluster. En una computadora sin un cluster corriendo, el sistema operativo permite que una aplicacin sea ejecutada del medio de almacenamiento (tales como discos duros y CDs) a la memoria. El SO se ocupa que la aplicacin sea ejecutada para su terminacin. OpenMosix proporciona la capacidad para el Sistema Operativo (el ncleo de Linux, en nuestro caso) para Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 27

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario ejecutar una aplicacin de cualquier nodo del grupo a la memoria. Cualquier uso dado se emigra al nodo con la capacidad o los recursos ms disponibles. Una vez que openMosix est instalado, los nodos del Cluster comienzan a comunicarse adaptndose continuamente a la carga de trabajo, optimizando la asignacin de recursos. Una caracterstica del openMosix, es el descubrimiento automtico de nodos, permite que los nuevos nodos sean agregados mientras que el cluster est funcionando. Segn el proyecto del openMosix, este puede capturar ms de 1.000 nodos.

Construccin de un Cluster con ClusterKnoppix


Se necesita una red instalada con dos (o ms) computadoras conectadas en red, y cada una con unidades de CD-ROM Tambin dos (o mas) CDs de ClusterKnoppix, que tiene la capacidad de divisar los nodos mientras existan en la red, y por ultimo se necesita una Placa de red LAN y una BIOS que soporte el booteo sobre la red.

Inicializacin del nodo principal


OpenMosix no requiere del primer nodo inicial para ser un nodo principal, pero para mantener una forma prudente, se instala primero el nodo principal. 1. Poner el CD de ClusterKnoppix en la unidad de CD-ROM para su autoarranque. 2. En el booteo: presionar enter. Dar el tiempo suficiente a ClusterKnoppix para que detecte el hardware y arranque. Por defecto empieza en KDE. 3. Una vez adentro, abrir una consola y registrarse como usuario root. - Para esto debemos escribir su y presionar enter. 4. Configurar la interfaz local de la red: ifconfig eth0 192.168.1.10 5. Despus, iniciar el sistema del openMosix: tyd f init. 6. Anunciar este nodo como el nodo principal en el cluster: tyd. tyd: Demonio de autodescubrimiento. Es una pequea aplicacin que esta en constante ejecucin para detectar un nuevo nodo al conectarse.

Inicializacin de un nodo esclavo


Establecer un nodo esclavo no es muy diferente de establecer un nodo principal. Se deben repetir los primeros tres pasos de arriba para inicializar el nodo principal. Configurar la tarjeta de red con los valores mencionados previamente. 7. Configurar la interfaz local de la red: ifconfig eth0 192.168.1.20. 8. Inicializar el sistema del openMosix.: tyd f init. 9. Por ltimo, inserta este nodo en el Cluster: tyd -m 192.168.1.10.

Familia de Herramientas
Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 28

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

Si el estado del Cluster es el adecuado; ClusterKnoppix nos permitir usar las siguientes herramientas:

OpenMosixview

Detectar el nmero de nodos en el Cluster con una interfaz agradable. Se puede ver la eficacia, la carga, y la memoria disponible para el Cluster, el porcentaje de la memoria usado, y otra informacin. No se ver mucha actividad a este punto, puesto que el grupo apenas se est utilizando. Pasa un cierto tiempo hasta que se familiariza con esta aplicacin.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 29

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

OpenMosixmigmon

Esta aplicacin muestra los procesos que se han emigrado del nodo principal al Cluster. Moviendo el Mouse sobre el nodo, brindar el nombre del proceso y su identificacin. Se puede Emigrar un proceso particular del nodo principal.

OpenMosixAnalyzer
Esta aplicacin simple escribe una crnica de la carga del Cluster as como tambin los nodos individuales de su inicializacin hasta el tiempo que el Cluster est activo.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 30

Universidad Nacional de Chilecito


Materia: Arquitecturas Paralelas Alumno: Rodriguez Mario

El Mosmon

Esta herramienta monitorea la carga en el Cluster, la memoria disponible, memoria que fue utilizada, y otras cosas en tiempo real.

El Mtop
Esta herramienta es de inters para las personas que estn familiarizadas con top. Los mantenimientos de top rastrean todos y cada uno de los procesos andando en la computadora. El mtop, tambin exterioriza a cada proceso, con la informacin adicional del nodo en el cual el proceso echa a andar.

Materia: Arquitecturas paralelas Alumno: Rodriguez Mario Ao: 2011 Pgina 31

También podría gustarte