Documente Academic
Documente Profesional
Documente Cultură
Indice
1. Introduccin.............................................................................................1 1.1. Objetivo.............................................................................................1 1.2. Que es un Cluster?...........................................................................1 1.3. Tipos de Cluster.................................................................................1 2. Sistema....................................................................................................2 2.1. Componentes de Hardware...............................................................2 2.2. Componentes de Software................................................................2 2.3. Configuracin de las maquinas virtuales...........................................2 2.4. PelicanHPC........................................................................................2 3. Instalacin y configuracin de PelicanHPC sobre VirtualBox....................4 3.1. Primeros pasos..................................................................................4 3.2. Configuracin del nodo mster.........................................................5 3.3. Configuracin de los nodos esclavos.................................................8 3.4. Clonacin de los nodos esclavos.....................................................10 4. Inicio y configuracin de PelicanHPC......................................................11 4.1. Inicio y configuracin del nodo mster............................................11 4.2. Inicio y configuracin de los nodos esclavos...................................14 4.3. Configuracin final del nodo mster................................................15 4.4 Comandos tiles de PelicanHPC.......................................................16 Agregar un nuevo nodo esclavo.........................................................16 Apagar todos los nodos esclavos........................................................16 Iniciar entorno grafico.........................................................................16 5. Benchmarks...........................................................................................17 5.1. FLOPS (Floating point operation per seconds).................................17 Conclusin..................................................................................................19 Bibliogrfica...............................................................................................20
1. Introduccin
1.1. Objetivo
Se propuso como objetivo instalar y configurar un Cluster con una distribucin GNU/Linux. Se utilizaran maquinas virtuales si funciona en maquinas virtuales funciona en maquinas fsicas para virtualizar un nodo mster y dos nodos esclavos.
Podemos encontrar muchos mas tipos de Cluster, y combinaciones de ellos, solo se nombraron los tipos mas importantes, y mas usados.
2. Sistema
2.1. Componentes de Hardware
Intel Quad Core 6600 2.4GHz - (4 ncleos) 2GB Memoria RAM 500GB Disco rgido
2.4. PelicanHPC
Es una distribucin de GNU/Linux basa en Debian para la creacin de Cluster de alto rendimiento en poco minutos, viene en formato iso-hybrid(CD y USB) de esta forma podemos bootear directamente la imagen desde un CD o un pendrive USB. PelicanHPC le permite al usuario realizar computo paralelo usando MPI. El nodo mster bootea desde la imagen y los nodos esclavos bootean utilizando PXE(Preboot eXecution Environment). Todos los nodos del Cluster obtiene el sistema de archivo de la misma imagen, de esta forma garantiza que todos ellos ejecutan el mismo software. PelicanHPC permite instalar paquetes nuevos utilizando el manejador de paquetes aptget, como esta basada en la distribucin Debian tenemos una gran cantidad de paquetes de software. Caractersticas a destacar: Disponible para procesadores de 64 y 32 bits. Contiene lo ultima versin estable del paquete OpenMPI. GNU Octave lenguaje de alto nivel para realizar clculos numricos, es considerado la versin libre de MATLAB. Utiliza todo el poder de los Cluster que utilizan MPI, dividiendo los clculos en diferentes nodos. Linkpack librera especial para el el calculo del lgebra lineal en Cluster.
Herramientas de configuracin nativas de PelicanHPC. Autoconfiguracin de llaves publicas/privadas para la comunicacin a travs de SSH. Escritorio XFCE configurado y listo para usar. Ademas contiene algunos tutoriales de PelicanHPC en formato PDF y con su respectivo lector de PDFs, navegador web, y algunas herramientas grficas.
Figura 3.2.1 - Nueva maquina virtual Luego como se ve en la figura 3.2.2 no pide que ingresemos la cantidad de memoria RAM que va a utilizar nuestro nodo mster Debemos setear un poco mas de 256MB (por favor que sea potencia de 2), en el ejemplo seteamos 512MB. Despus de setear la memoria RAM, se nos pide que indiquemos si vamos a utilizar un disco fsico. PelicanHPC bootea sobre la memoria RAM as que no sera necesario el disco. Finalizamos la creacin y nos deber aparecer la maquina virtual en nuestro VirtualBox.
Figura 3.2.2 Cantidad de memoria que tendr disponible nuestra maquina virtual Hacemos click derecho sobre la maquina virtual, y nos dirigimos a la configuracin(settings). Seleccionamos la opcin System, desmarcamos todas las opciones donde dice Boot Order, y dejamos seleccionado solo el checkbox CD/DVDROM. Esto es necesario para que nuestra maquina virtual cuando inicie sepa que debe bootear sobre la imagen .ISO que bajamos anteriormente, figura 3.2.3.
Una vez configurado el orden de booteo, nos dirigimos a la opcin Storage, y seleccionamos la imagen que vamos a bootear, hacemos click sobre el CD-ROM que aparece sobre el lado derecho. Ademas seleccionamos el checkbox Live CD/DVD, como se indica en la figura.
Ahora debemos configurar la red de nuestra maquina virtual, como se ve en la figura 3.2.4. Nos dirigimos a la opcin que dice Network. Seleccionamos Internal Network, y le damos un nombre a nuestra red, por ejemplo pcpd.
Figura 3.2.4 - Configuracin de la red sobre la maquina virtual del nodo mster Con estos pequeos detalles de configuracin ya tendramos configurada la maquina virtual para nuestro nodo mster.
Ahora vamos a la opcin Networks y configuramos el adaptador de red para que trabaje sobre la misma red que nuestro nodo mster, completamos el nombre de la red como pcpd. Vea la figura de la derecha.
Figura 3.4.1 Clonacin de una maquina virtual Ya tenemos dos maquinas virtuales para los nodos esclavos, podemos agregar cuantos queramos de estos clones, pero no es recomendable ya que son maquinas virtuales y en el fondo hay 1 sola maquina ejecutando todas estas maquinas virtuales.
10
11
Esperamos a que inicie. Y nos mostrara la pantalla de Pelican Setup como se ve en la figura de la derecha, le damos al botn OK. Luego nos pedir si queremos crear un directorio home/user con archivos de prueba y unos tutoriales, seguimos con el botn Yes. Y por ultimo nos pide que cambiemos el password del usuario user, ademas de cambiarlo deben recordarlo, sera el password que usaran todos los nodos esclavos y el mster Una vez finalizada la configuracin podemos ver en la figura 4.1.2 el login del sistema.
12
Ya booteamos y configuramos a medias nuestro Cluster, ahora ingresamos con el usuario user y el password que seteamos en el paso anterior. Una vez logueados, ejecutamos el comando pelican_setup # pelican_setup
Una vez iniciado nos aclara que debemos tener cuidado con los servidores DHCP que estn en nuestra red en comn, porque PelicanHPC debe manejar un servidor DHCP para darle las direcciones IP a nuestros nodos esclavos. Como estamos emulando una red, no tenemos este problema, pero si lo estuviramos haciendo fsicamente, y utilizamos algn router que tiene el servicio de DHCP activado deberamos desactivar esta opcin. Siguiendo los pasos, le damos al botn Yes, nos dir que quiere reiniciar algunos componentes, seguimos con el botn Yes y ya estaramos preparados para iniciar nuestros nodos esclavos.
13
14
Una vez que todos los nodos esclavos fueron iniciados (figura 4.2.2), debemos volver al nodo mster para terminar de acoplar nuestro Cluster.
Figura 4.3.1 Se encontraron los 2 nodos esclavos Ya tenemos 2 nodos esclavos detectados por el nodo mster, por lo tanto podemos seguir, pulsamos en el botn Yes y listo, ya tenemos nuestro Cluster funcionando. Pueden ver la figura siguiente 4.3.2, del lado izquierdo tenemos los dos nodos esclavos y del lado derecho tenemos nuestro nodo mster.
15
16
5. Benchmarks
5.1. FLOPS (Floating point operation per seconds)
Los FLOPS son una medida de rendimiento de una computadora, especialmente en clculos cientficos que requieren un gran uso de coma flotante. Por lo tanto vamos a ejecutar un pequeo benchamark que trae el propio PelicanHPC para ver la cantidad de FLOPS que tiene nuestro Cluster Para esto debemos ejecutar el binario flops pero bajo MPI, de esta forma el Cluster se comunica con sus nodos esclavos. En la figura 5.1.1 se puede ver como los nodos esclavos inicia en el proceso flops. Especificamos el archivo con los hosts de nuestra red # mpirun hostfiles tmp/bhosts ./flops
El archivo bhosts contiene las direcciones IP de todos los nodos esclavos y la propia del nodo mster Este archivo es generado automticamente cuando se inicia y configura el nodo mster Igual que las llaves publicas del nodo mster estn distribuidas en los nodos esclavos para que se puedan conectar va SSH y sin necesidad de ingresar el password en cada comunicacin.
17
Otras opcin que podemos agregarle al comando mpirun son la cantidad de procesadores que vamos a usar del Cluster, por ejemplo si queremos que el comando flops solo se ejecute en 2 procesadores, podemos agregar el flag -np 2 de esta forma, el nodo mster, buscara dos nodos esclavos distintos y ejecutara el comando en solo estos dos. PelicanHPC tiene la propiedad de buscar los nodos esclavos menos cargados y asignar el procesos en esos nodos. Como podemos ver en la figura 5.1.2 el nodo mster da la orden y luego los dos nodos esclavos ejecutan el comando flops, y obtenemos los resultados para los 2 procesadores que utilizamos. Para mostrar mejor la idea, ahora vamos a ejecutar 1 solo proceso de flops, entonces el Cluster deriva este proceso a un solo nodo esclavo y obtenemos los resultados de 1 solo nodo, podemos ver en la figura 5.1.2 sobre el nodo esclavo de arriba que se esta ejecutando el comando flops y sobre el nodo esclavo de abajo no se esta ejecutando el proceso.
Figura 5.1.1 Ejecucin del comando flops con 1 y 2 procesadores Ejecucin de flops en 2 procesadores # mpirun hostfiles tmp/bhosts -np 2 ./flops
18
Conclusin
PelicanHPC es una muy buena distribucin para crear un Cluster de alto rendimiento en pocos minutos, totalmente autoconfigurable, deteccin y configuracin de nodos esclavos casi transparentes. Ademas de ser una versin Live-CD se puede instalar al disco de manera sencilla pero eso escapa de nuestro informe. Contiene un entorno grfico liviano y configurable(XFCE) especial para la gente que no le gusta el shell, o desea manejar mas terminales de los normal o utilizar herramientas de ploteo de funciones matemticas. Viene con libreras especiales para la programacin paralela y ademas libreras de calculo numrico y algebraico que tambin hacen uso del sistema Cluster. Gran cantidad de software para instalar ya que PelicanHPC esta basada en Debian, y utiliza todos sus repositorios, con un simple comando(apt-get install APLICACION) podemos instalar paquetes.
19
Bibliogrfica
Beowulf Cluster Computing with Linux by Thomas Sterling. Libro. Pagina oficial de la distribucin PelicanHPC. Web. <http://idea.uab.es/mcreel/PelicanHPC> Foro oficial de la distribucin PelicanHPC. Foro. Web. <http://pelicanhpc.788819.n4.nabble.com/> Computer Cluster. Wikipedia. Web. <http://en.wikipedia.org/wiki/Computer_cluster> General information about the Open MPI Project. Web. <http://www.open-mpi.org/faq/?category=general> GNU Octave. Aplicacin de calculo numrico. Web. <http://www.gnu.org/software/octave>
20