Implementaci´on de un Cl´uster virtual utilizandoherramientas de Software Libre Kelvin V´elez Rodr´ıguez. Resumen- En este art´ıculo se presenta detalladamente el ´ proceso de implementaci´on virtual de un Cluster hacienda uso de herramientas muy sencillas de software libre y hardware ´ que puede ser encontrado en cualquier tienda muy comun inform´atica, esto contribuyo que varios nodos puedan funcionar ´ paralelamente en el Cluster implementado. Como parte del proceso de instalaci´on se detalla tambi´en la configuraci´on del Sistema Operativo ABC-LINUX, el cual residir´a en una m´aquina virtual de VirtualBox que har´a a su vez de Frontend y as´ı ´ administrar todos los nodos que formaran parte del Cluster. Una vez reunidas e instaladas todas las herramientas se realizaron pruebas de comprobaci´on para constatar que todos los componentes funcionen adecuadamente. ´ Palabras clave- ABC, Beowulf, Cluster, MPI, VirtualBox. Abstract—This article presents in detail the process of virtual implementation of a Cluster finance using very simple tools of free software and very common hardware which can be found at any computer store, this contributed that multiple nodes can operate in parallel in the implemented Cluster. As part of the installation process described also the configuration of the LINUX operating system ABC-, which will reside in a virtual machine from VirtualBox which will in turn from Frontend and so managing all the nodes that will be part of the Cluster. Once assembled and installed all the tools were tested of checking to make sure that all components work properly. como resultado de la convergencia de varias tendencias actuales que incluyen la disponibilidad de microprocesadores econ´omicos de alto rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para c´omputo distribuido de alto rendimiento, as´ı como la creciente necesidad de potencia computacional para aplicaciones que la requieran [2]. Simplemente, un cl´uster es un grupo de m´ultiples computadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un u´ nico ordenador, m´as potente que los comunes de escritorio [2]. Los cl´usters son usualmente empleados para mejorar el rendimiento y/o la disponibilidad por encima de la que es provista por un solo computador t´ıpicamente siendo m´as econ´omico que computadores individuales de rapidez y disponibilidad comparables [2]. Este trabajo de investigaci´on se propone la implementaci´on de un cl´uster de tipo Beowulf, el cual consiste en agrupar varios n´ucleos de los procesadores del frontend y de los nodos para ejecutar programas en forma distribuida en cada uno de los n´ucleos, para el desarrollo de aplicaciones paralelas utilizamos el sistema operativo ABC GNU/LINUX x86 basado en Linux Ubuntu 9.04 con capacidad de trabajar en modo “live” o modo “install”, cuenta con software 100% libre. De esto se obtendr´an grandes beneficios ya que permitir´a poder obtener resultados que no se lograr´ıan con un solo procesador. ´ Index Terms—ABC, Beowulf, Cluster, MPI, VirtualBox. Este art´ıculo fue enviado para revisi´on el 8 de Julio de 2015. La Implementaci´on de un Cl´uster virtual utilizando herramientas de Software Libre fue apoyada por la Carrera de Ingenier´ıa en Sistemas Inform´aticos de la Universidad T´ecnica de Manab´ı. Como proyecto de investigaci´on de primer ciclo. K. V´elez Rodr´ıguez estudiante de la Carrera de Ingenier´ıa en Sistemas Inform´aticos de la Universidad T´ecnica de Manab´ı (e-mail:
[email protected]) ´ I. I NTRODUCCI ON E n la actualidad los sistemas inform´aticos de las entidades p´ublicas y privadas son una pieza imprescindible para su correcto funcionamiento. Cada vez m´as empresas y organismos p´ublicos conf´ıan procesos de negocio cr´ıticos en sistemas inform´aticos para mejorar la productividad y disponer de esta informaci´on cr´ıtica en un tiempo m´ınimo [1]. Es en base a estas necesidades que dia a dia las tecnologias en su af´an por evolucionar son mejoradas obteniendo asi un producto final de primera, contribuyendo asi a la automatizaci´on progresiva de las tareas humanas. La alta disponibilidad, ya sea de servicios o de datos, puede ser alcanzada tanto haciendo uso de soluciones software como de soluciones hardware. La variedad que existe en ambos grupos es muy grande, pudiendo elegir siempre una soluci´on que encaje perfectamente seg´un nuestras necesidades. Las soluciones software nos permiten alcanzar alta disponibilidad instalando y configurando determinadas herramientas y aplicaciones que han sido dise˜nadas para tal efecto [1]. Una de las herramientas de m´as auge y que ayuda mucho a las empresas e entidades acad´emicas en la actualidad son los llamados cl´uster beowulf [2]. El c´omputo con cl´usters surge La estructura del art´ıculo es la siguiente: la Secci´on II presenta como Marco Te´orico, material bibliogr´afico sintetizado referente a arquitecturas cl´uster, la computaci´on de alto rendimiento, programaci´on en paralelo y la virtualizaci´on de Sistemas Operativos. La Secci´on III detalla la metodolog´ıa de instalaci´on y configuraci´on del cl´uster de manera virtualizado. La Secci´on IV describe el proceso de ejecuci´on de la arquitectura cl´uster. En la Secci´on V se presentan los resultados obtenidos en diversas pruebas utilizando herramientas de software libre. Finalmente, la Secci´on VI se establecen las conclusiones a las que se ha llegado al t´ermino del proyecto. ´ II. M ARCO T E ORICO A. Arquitecturas Paralelas En lugar de procesar cada instrucci´on en forma secuencial como es una computadora convencional, un sistema de procesamiento paralelo puede ejecutar procesamiento concurrente de datos para conseguir un menor tiempo de ejecuci´on. Por ejemplo, cuando se ejecuta una instrucci´on en la ALU, puede leerse la siguiente instrucci´on de la memoria. A diferencia de un procesador serial, en el cual se ejecuta una instrucci´on por vez sobre un u´ nico dato, las arquitecturas paralelas operan en forma simult´anea sobre un conjunto de datos y puede ejecutarse una misma instrucci´on en cada procesador como tambi´en el conjunto de CPUs ejecutar distintas instrucciones [3]. B. Arquitectura cl´uster de alto rendimiento Por medio de un cl´uster se pueden conseguir capacidades de c´alculo superiores a las de un ordenador m´as caro que el costo de los cuales uno se usa como el nodo principal denominado “Maestro” y los dem´as llamados “Esclavos”. es tambi´en la u´ nica soluci´on profesional que est´a libremente disponible como software de c´odigo abierto bajo los t´erminos de la Licencia P´ublica General de GNU (GPL) versi´on 2. Una vez creada la m´aquina virtual con todos los par´ametros de memoria asignados de forma conveniente se escoge la opci´on iniciar. Desarrollado por Iker Casta˜nos Chavarri en el Departamento de Ingenier´ıa de Sistemas y Autom´atica de la EUITI de Bilbao. Para la comunicaci´on se deben adquirir componentes que proporcionen la velocidad que la aplicaci´on requiere. La velocidad del switch y la categor´ıa del cableado empleado han de ser la mayor posible ya que en caso de que el cluster este formado por un gran numero de PCs la latencia perjudicar´ıa el rendimiento del sistema * Descargar la ISO de ABC del mirror de la UPV/EHU o del mirror de sourceforge. inclusive pueden ser configurados sin disco duro.4.0.6 y 3. ni monitor. VirtualBox es un potente x86 y AMD64 / Intel64 virtualizaci´on producto para la empresa. OS / 2. Oracle VM VirtualBox Creado originalmente por la empresa alemana Innotek GmbH. D. Windows 7. Macintosh y hosts de Solaris y soporta un gran n´umero de sistemas operativos invitados incluyendo pero no limitado a Windows (NT 4. una raz´on podr´ıa ser porque la direcci´on IP del frontend es asignada a la . conectados a trav´es de una red. XP. cubriendo los fallos que se puedan producir. as´ı como el uso dom´estico. se debe proceder a comenzar el proceso. El hardware en los nodos esclavos es simple. 2. Linux. * Los PCs deben est´an interconectados a trav´es de un switch. C. mouse. o que cada nodo cuente con su propio disco duro lo que facilita la configuraci´on. pero igual sigue siendo Linux el motor del sistema Operativo ABC. VirtualBox se ejecuta en Windows. Server 2003. ya que si usamos un solo nodo este se podr´ıa conectar con un simple cable de red al frontend. Para el almacenamiento se puede emplear un arreglo de discos lo que facilita la administraci´on.conjunto de los ordenadores del cl´uster. ´ Cluster de disponibilidad: Intentan mantener en todo momento la prestaci´on del servicio. por lo general en red inal´ambrica no funciona. Nunca debe utilizar un router para interconectar los PCs. ya que no aparece la versi´on ABC. ´ Cluster de alto rendimiento: Se utiliza normalmente en aplicaciones que realizan c´alculos intesivos. . ´ Cluster de balanceo de carga: Permiten que un conjunto de servidores compartan la carga de trabajo y de tr´afico a sus clientes. Universidad del Pa´ıs Vasco [5]. Crear nueva maquina virtual. Vista.01 y si se usa un router es a este el que se le asigna esta direcci´on. Como primer paso de la instalaci´on. por lo que se recomienda tarjetas de red de 100 Mbps o superior y un componente activo que disminuya la colisi´on en la comunicaci´on [4]. Una vez que ya se cuenta con todos los elementos necesarios para realizar la instalaci´on del cl´uster. 2000. pretenden sustituir a las grandes y costosas supercomputadoras. ABC GNU/Linux La distribuci´on ABC GNU/Linux est´a basada en Ubuntu y est´a especializada en la construcci´on autom´atica de clusters Beowulf de alto rendimiento con tan solo arrancar el sistema en modo ”live” en el frontend o siendo instalado en su disco duro. para hacerlo de manera f´ısica por lo general se debe conseguir un switch si se quiere utilizar mas de un nodo. Actualmente es desarrollado por Oracle Corporation como parte de su familia de productos de virtualizaci´on. Por ese motivo para evitar problemas se utiliza un switch. producto de alto rendimiento para clientes empresariales. En caso de que se quiera construir un cluster en modo “live” no es preciso utilizar disco duro alguno. la memoria. El nodo maestro controla el Cl´uster prestando el sistema de archivos a los nodos esclavos. El Cl´uster se comporta como una sola m´aquina por lo que el nodo principal sirve como consola y los esclavos generalmente no tienen teclado. Se trata de la primera distribuci´on que integra todas estas caracter´ısticas. Fig 1. Actualmente. Usa como gestor de ventanas Gnome. III. y OpenBSD [6]. Windows 8). aparecer´a una ventana en la cual pide seleccionar el disco de inicio del sistema operativo. Linux (2. Seleccion del disco de arranque para instalar ABC. por lo que no hay problemas a la hora de conseguirlos.x Windows. Los nodos arrancan diskless a trav´es de PXE.x). Ha sido publicado un art´ıculo cient´ıfico sobre este sistema en el IEEE y presentado en el Simposium ICAT2009 celebrado en Sarajevo (Bosnia Herzegovina). Solaris y OpenSolaris. se debe crear una m´aquina virtual la cual le ser´a tipo Linux y en la versi´on se escoger´a Other Linux (32 bit). la tarjeta principal y alg´un dispositivo de comunicaci´on (tarjeta de red). No s´olo es VirtualBox un extremadamente rico en caracter´ısticas. En este caso ser´a un cl´uster virtual con el que se realizara la demostraci´on. lo m´ınimo es el procesador. preciso cumplir los siguientes requisitos orientativos: * Utilizar m´as de un PC y todos los PCs integren 256 MB de memoria RAM y que al menos sean procesadores P3 500Mhz o equivalente. Integra el monitor de recursos Ganglia. siendo accedidos v´ıa remota o por terminal serial [4]. El hardware de un Cl´uster tiene una arquitectura basada en multicomputadores. Cada computador posee componentes de hardware que son comunes en el mercado de los PC’s. DOS / 3. M ETODOLOG´I A REQUISITOS M´INIMOS (orientativos): Para poder construir un cluster Beowulf con ABC GNU/Linux es Fig 2. en caso de querer instalar la distribuci´on en el front-end(el PC donde se inserta el disco de ABC) ser´a necesario que ese PC tenga disco duro. en el cual se deber´a indicar la ubicaci´on del ABC Linux. Seleccionar el frontend ABC. Para esto se escribe la palabra install y se presiona enter. recordar que el usuario es “master”. Fig 5. tipo de distribuci´on del teclado que se utiliza. Reiniciar Sistema. Al presionar en siguiente aparecer´a otra ventana en la cual nos muestran todos los par´ametros que ser´an instalados y hay que presionar el bot´on Instalar. Ahora ya est´a culminado el paso de instalaci´on del sistema operativo y se proceder´a a crear los nodos. Cuando la instalaci´on comienza se deber´a escoger el idioma. clic derecho. Fig 4. Nodo2 y Nodo3. Memtest y hd. disco en el cual se instalara el archivo de arranque. red.Cuando inicia el disco de arranque en la m´aquina virtual. luego aparece la ventana en la cual se especificara el usuario y los datos de la cuenta. La instalaci´on puede tardar varios minutos y al finalizar pedir´a que se reinicie el sistema pero para que pueda cumplirse el objetivo del reinicio hay que expulsar el disco de inicio del ABC ya que si no volver´ıa a proceder la instalaci´on. Datos de Usuario. Nodos en VirtualBox. Una vez configuradas todas las interfaces de red en los nodos y el frontend se procede a iniciar en primera instancia la m´aquina que . Terminal. los cuales van a brindar todos sus recursos para que el frontend pueda funcionar mucho mejor. Las caracter´ısticas que se escojan para los nodos no es de tanta importancia ya que no se instalara nada en ninguno de ellos por el momento. en la opci´on que dice “conectado a” se escoge “red interna” y el tipo de adaptador se recomienda usar el mismo en todos los nodos para evitar problemas. el huso horario. Una vez que ya est´a reiniciado el sistema y todo ha salido de forma correcta el sistema operativo debe mostrar el escritorio y los iconos de sus principales herramientas las cuales son: Cluster Monitor. Check. hay que realizar un paso muy importante para que logre el frontend reconocer los nodos cuando estos decidan iniciar en modo LAN. tambi´en pide que se indique el modo con el cual se usara el sistema. Fig 3. configuraciones. Cuando se ha finalizado de crear los nodos. el cual instalara el sistema en el disco duro de la m´aquina virtual. en este caso existe modo Live. Fig 6. Escritorio de ABC LINUX. Opciones de Instalaci´on. La clave si puede ser cualquier combinaci´on que sea segura. el que ser´a utilizado ser´a el modo Install. En este caso se crearan tres nodos denominados Nodo1. aparecer´a en pantalla un texto en el cual pide que cuando la instalaci´on lo solicite se debe ingresar como usuario y como hostname: “master”. Este paso debe realizarse en todos los nodos ya que deben pertenecer a la misma red para que puedan conectarse de manera simple. esto es porque el sistema operativo solo reconoce el a este usuario determinado. Install. Fig 7. Autolamboot. una vez que un nodo culmina su inicio aparece en la u´ ltima l´ınea la frase “node login:”. Fig 12. en la cual detalla de manera gr´afica y en tiempo real toda la informaci´on referente a los nodos y los recursos con los cuales cuenta el sistema actual sumando los recursos de los nodos iniciados. para verificar la conexi´on de los nodos con el frontend que es la m´aquina que tiene el ABC GNU/Linux. los tres nodos que ser´an utilizados e inicializados en modo LAN. En caso de que alg´un nodo sea cerrado o se caiga la conexi´on el sistema lo detectara y actualizara su condici´on actual restando los recursos perdidos por la baja de un nodo. Fig 10. Si se desea observar informaci´on m´as detallada de las estad´ısticas actuales del estado del cl´uster se puede utilizar la herramienta Cl´uster Monitor. Nodo inicializado. Inicializacion de los nodos en modo LAN. Fig 14. Herramienta Cluster Monitor. en este caso el frontend que contiene el ABC Linux. en este caso presionando la tecla “L”. en el ABC Linux abrimos la aplicaci´on Terminal y se escribe la siguiente l´ınea de comando: lamboot –v clusterhosts.Para observar los nodos con sus respectivas direcciones. P RUEBAS Se realizaron diversas pruebas en la arquitectura cl´uster. Tambi´en se puede apreciar el estado detallado de los nodos actuales en el Cl´uster Monitor. la cantidad de hosts levantados y los que han ca´ıdo. . en este caso mostrara que uno de ellos ha ca´ıdo. Herramienta Cluster Monitor. esta l´ınea muestra los nodos conectados y en l´ınea en tiempo real. Fig 11. Direcciones IP de los componentes. Fig 9. Herramienta Cluster Monitor. Configuraci´on de Interfaces de Red. Si en la Terminal escribimos “lamboot –v clusterhost” se detallara un informe en el cual detalla que no se tiene respuesta de un nodo y esto genera un error. en el cual detalla la cantidad de n´ucleos usados. Luego se inician los nodos y se accede al men´u boot de cada uno de ellos y se debe escoger la opci´on LAN. Fig 13. Luego de iniciar todas las maquinas necesarias. Fig 8. IV. contiene el ABC Linux. ya que los nodos lo necesitan para iniciar en modo LAN. El nodo cero “n0” es el frontend y el resto son los nodos iniciados. I Idigoras Gamboa. [2] M. ”Dise˜no e Implementacion de un cluster tipo Beowulf para el desarrollo de c´omputo cient´ıfico avanzado”. por ello decidimos trabajar con un switch para la conexi´on de nodos reales. A. [8] S. Conceptos y alternativas en Linux. en todas las maquinas que intervienen en el proceso. Kelvin V´elez R. Rodr´ıguez S´anchez. Smerling. . ”Procesamiento paralelo: qu´e tener en cuenta para aprovecharlo. a la Carrera de Ingenier´ıa en Sistemas Inform´aticos por la oportunidad que nos brinda para poder prepararnos profesionalmente. Estudiante de sexto nivel de la Carrera de Ingenier´ıa en Sistemas Inform´aticos de la Universidad T´ecnica de Manab´ı − Ecuador (Abril 2012 hasta la actualidad). se procedi´o a crear los nodos en para inicializarlos en modo LAN.org/wiki/ABC GNU/Linux. 2008. pero si se desarrolla la propuesta del Cl´uster los costos ser´an m´as bajos y las caracter´ısticas del servidor o sus prestaciones ser´ıan mucho m´as elevadas ofreciendo un mejor desempe˜no y con opci´on a incrementar caracter´ısticas a medida que la situaci´on lo amerite. * Probamos las conexi´on de m´aquinas reales a trav´es de un router D-Link dom´estico. que si son implementados de manera conveniente resultan muy eficaces. ya que este contiene una direcci´on IP propia y al momento del que nodo buscara la direcci´on IP del ABC no la iba a encontrar porque primero encontraba la direcci´on del router. ”Los cluster como fuente de competitivdad: el caso de la Comunidad Aut´onoma del Pa´ıs Vasco”. Gonz´alez Ram´ırez. la soluci´on fue configurar las interfaces de red eligiendo la opci´on Red Interna. en la cual dice que el usuario debe ser master y as´ı ya no dar´a problemas.). [5] VirtualBox. Universidad del Pa´ıs Vasco. Meteorologia Colombiana. Mel´on Rial. 2003. [3] L. [10] I. (n. [Accessed: 02-Jul-2015]. wikipedia. AGRADECIMIENTOS Los autores agradecen a la Universidad T´ecnica de Manab´ı. d. Mitxeo Grajirena. [7] J.org/. 2012. la correcci´on fue conseguir otra para inicializar bien. Available: https:// www.V. 2015. C ONCLUSIONES * Las herramientas inform´aticas son de mucha ayuda en los procesos que giran en torno a las actividades laborales y empresariales. R EFERENCES [1] S. Barrio Gonz´ales. ”“ESTRUCTURACION DE UN CLUSTER BEOWULF”. pero llegamos a la conclusi´on de que no se puede utilizar un router. pero estos nunca se conectaban e inicializaban en base al ABC. 2009. VI. * Al momento de instalar el ABC en la parte de datos de usuario se ingres´o un nombre cualquiera. * Una vez instalado el sistema operativo en una m´aquina virtual. Universidad Cat´olica de Temuco. ”Cluster Beowulf de 16 Nodos”.org” [Online]. ocasionara un problema de acceso ya que no reconoc´ıa el usuario con el que hab´ıa ingresado. * Los conocimientos adquiridos ser´an de mucha utilidad ya que a medida que avanza la tecnolog´ıa estos procesos son muy bien acogidos por los empresarios y entidades p´ublicas y privadas.”. [Accessed: 04-Jul-2015]. ofreciendo as´ı una herramienta viable para desempe˜narse en el campo laboral VII. estaba corrupta y no inicializaba. ”ABC GNU/LINUX” [Online]. ´ [4] J. R. 2001. R ESULTADOS A. Robledo Vega. la soluci´on fue reinstalar el ABC y leer la primer pantalla que aparece. Available: https://es. Abarca Castro. Instituto Polit´ecnico Nacional. Vicente Molina. Hern´andez Mart´ınez. * En este caso la utilizaci´on de un Cl´uster es muy necesaria ya que si se adquieren equipos individuales para realizar tareas muy complejas o de mucha concurrencia serian equipos con caracter´ısticas muy elevadas y por su puesto ser´an muy caros. ”Instalaci´on y configuraci´on de un cluster de computaci´on”. 2008. ya que los usuarios y dirigentes conf´ıan informaci´on muy valiosa a estos componentes. 2001. Provincia de Manab´ı. Victorino Guzm´an. “Welcome to VirtualBox. Experiencias y problemas En la realizaci´on de este trabajo de investigaci´on se obtuvieron varias experiencias y problemas que se detallan a continuaci´on: * Un problema que se presento fue que la imagen ISO con la que se estuvo trabajando al inicio. Universidad Tecnol´ogica Nacional. Ra´ul Tschanz. eso ocasiono que al momento de visualizar los nodos con sus direcciones IP en la terminal del ABC. ”Cluster Alta Disponibilidad sobre Plataforma GNU/LINUX (VERITAS)”.virtualbox. [6] Wikipedia. Instituto Tecnol´ogico de Chihuahua. de esta manera los nodos y el frontend est´an interconectados. De igual manera el autor agradece el apoyo acad´emico desinteresado del docente gu´ıa de la materia. Ciudad Portoviejo. Universitat Oberta de Catalunya. A. [9] E. Ecuador. ”IMPLEMENTACION DE UN CLUSTER BEOWULF”.