Está en la página 1de 22

Instalacin y configuracin de un Cluster de Alto rendimiento basado en PelicanHPC

Por Diego I. G. Najar Carrascal http://www.linkedin.com/in/dignajar

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 ard!are...............................................................2 2.2. Componentes de So"t!are................................................................2 2.3. Con"i#uracin de las ma$uinas virtuales...........................................2 2.%. &elican &C........................................................................................2 3. Instalacin ' con"i#uracin de &elican &C sobre (irtual)o*....................% 3.1. &rimeros pasos..................................................................................% 3.2. Con"i#uracin del nodo m+ster........................................................., 3.3. Con"i#uracin de los nodos esclavos.................................................3.%. Clonacin de los nodos esclavos.....................................................1. %. Inicio ' con"i#uracin de &elican &C......................................................11 %.1. Inicio ' con"i#uracin del nodo m+ster............................................11 %.2. Inicio ' con"i#uracin de los nodos esclavos...................................1% %.3. Con"i#uracin "inal del nodo m+ster................................................1, %.% Comandos /tiles de &elican &C.......................................................10 1#re#ar un nuevo nodo esclavo.........................................................10 1pa#ar todos los nodos esclavos........................................................10 Iniciar entorno #ra"ico.........................................................................10 ,. )enc2mar3s...........................................................................................14 ,.1. 56O&S 75loatin# point operation per seconds8.................................14 Conclusin..................................................................................................19 )iblio#r+"ica...............................................................................................2.

1. Introduccin
1.1. Objetivo
Se propuso como objeti o instalar ! con"igurar un Cluster con una distribuci#n GN$/%inu&. Se utili'aran ma(uinas irtuales si funciona en maquinas virtuales funciona en maquinas fsicas para virtualizar un nodo mster y dos nodos esclavos.

1.2. Que es un Cluster?


Es una clase de arquitectura de computador paralelo que se basa en unir maquinas independientes cooperativas integradas por medio de redes de interconexin para proveer un sistema coordinado, capaz de procesar una carga. - Dr. )homas Sterling

1.3. Tipos de Cluster


lto rendimiento !"#, $ig$ performance%& 'os (luster de alto rendimiento $an sido creados para compartir el recurso mas valioso de una computadora, es decir, el tiempo de proceso. (ualquier operacin que necesite altos tiempos de computo puede ser e)ecutada en un o (luster de alto rendimiento, siempre que se encuentre un algoritmo que sea paralelizable. lta disponibilidad !" , $ig$ availability%& 'os (luster de alta disponibilidad pretenden dar servicios las *+$s de cualquier tipo, son (luster donde la principal funcionalidad es estar controlando y actuando para que un servicio o varios se encuentren activos durante el mximo periodo de tiempo posible. lta eficiencia !",, $ig$ t$roug$put%& 'os (luster de alta eficiencia tiene como ob)etivo la e)ecucin de la mayor cantidad de tareas en el menor tiempo posible.

#odemos encontrar muc$os mas tipos de (luster, y combinaciones de ellos, solo se nombraron los tipos mas importantes, y mas usados.

2. Sistema
2.1. Componentes de Hardware
Intel *uad Core ++,, -..G/' 0 1. n2cleos3 -G4 5emoria 675 8,,G4 Disco r9gido

2.2. Componentes de Software


Sistema operati o nati o GN$/%inu& 1Gentoo %inu&3 5a(uinas irtuales bajo :irtual4o& ..;.+ Sistema operati o para el Cluster GN$/%inu& 1Pelican/PC basado en Debian3 http://idea.uab.es/mcreel/Pelican/PC

2.3. Confi ura!i"n de las ma#uinas virtuales


Nodo Mster ; procesador< 8;-54 6am< sin disco r9gido< booteo desde la imagen %i e0CD de Pelican/PC Nodo Sla!e 1 ; procesador< 8;-54 6am< sin disco r9gido< booteo a tra =s de la red %7N Nodo Sla!e 2 ; procesador< 8;-54 6am< sin disco r9gido< booteo a tra =s de la red %7N

2.$. %eli!anH%C
>s una distribuci#n de GN$/%inu& basa en Debian para la creaci#n de Cluster de alto rendimiento en poco minutos< iene en "ormato iso0h!brid1CD ! $S43 de esta "orma podemos bootear directamente la imagen desde un CD o un pendri e $S4. Pelican/PC le permite al usuario reali'ar computo paralelo usando 5PI. >l nodo m?ster bootea desde la imagen ! los nodos escla os bootean utili'ando P@>1Preboot e@ecution >n ironment3. )odos los nodos del Cluster obtiene el sistema de archi o de la misma imagen< de esta "orma garanti'a (ue todos ellos ejecutan el mismo so"tware. Pelican/PC permite instalar pa(uetes nue os utili'ando el manejador de pa(uetes apt0 get< como esta basada en la distribuci#n Debian tenemos una gran cantidad de pa(uetes de so"tware. Cara!ter&sti!as a desta!ar' Disponible para procesadores de +. ! A- bits. Contiene lo ultima ersi#n estable del pa(uete Bpen5PI. GN$ Bcta e lenguaje de alto ni el para reali'ar c?lculos num=ricos< es considerado la ersi#n libre de 57)%74. $tili'a todo el poder de los Cluster (ue utili'an 5PI< di idiendo los c?lculos en di"erentes nodos. %inkpack librer9a especial para el el calculo del ?lgebra lineal en Cluster.

/erramientas de con"iguraci#n nati as de Pelican/PC. 7utocon"iguraci#n de lla es publicas/pri adas para la comunicaci#n a tra =s de SS/. >scritorio @CC> con"igurado ! listo para usar. 7demas contiene algunos tutoriales de Pelican/PC en "ormato PDC ! con su respecti o lector de PDCs< na egador web< ! algunas herramientas gr?"icas.

". Instalacin y configuracin de PelicanHPC sobre #irtual$o%


3.1. %rimeros pasos
Como primer instancia debemos bajar la imagen de Pelican/PC< para este in"orme amos a utili'ar la ultima ersi#n de Pelican/PC -.+< por lo tanto nos dirigimos al sitio o"icial< amos a la secci#n DDownloadE< ! descargamos la imagen Dpelicanhpc0 -.+.isoE. 1http://idea.uab.es/mcreel/Pelican/PC3 $na e' (ue tengamos la imagen< podemos comen'ar con la con"iguraci#n de las ma(uinas irtuales. 7ntes de iniciar :irtual4o& debemos iniciar los m#dulos necesarios1dr < netdp< net"lt3. Iniciar m#dulos para :irtual4o& - for m in vbox.drv,netadp,netflt/0 do modprobe 1m0 done

>jecutamos :irtual4o& - 2irtual3ox

(i ura 3.1.1 - 2irtual3ox v+.4.5

3.2. Confi ura!i"n del nodo m)ster


7hora nos centraremos en crear una ma(uina irtual para el nodo m?ster de nuestro Cluster Para esto creamos una ma(uina irtual nue a< ! completamos los par?metros (ue nos pide. Ingresamos el nombre de la ma(uina irtual< ! le damos a elegir (ue es un sistema operati o %inu& como se e en la "igura A.-.;< para nuestro caso seleccionamos (ue es un %inu& con ersi#n de kernel -.+ ! de +.bits.

(i ura 3.2.1 - 6ueva maquina virtual %uego como se e en la "igura A.-.- no pide (ue ingresemos la cantidad de memoria 675 (ue a a utili'ar nuestro nodo m?ster Debemos setear un poco mas de -8+54 1por "a or (ue sea potencia de -3< en el ejemplo seteamos 8;-54. Despu=s de setear la memoria 675< se nos pide (ue indi(uemos si amos a utili'ar un disco "9sico. Pelican/PC bootea sobre la memoria 675 as9 (ue no sera necesario el disco. Cinali'amos la creaci#n ! nos deber? aparecer la ma(uina :irtual4o&. irtual en nuestro

(i ura 3.2.2 (antidad de memoria que tendr disponible nuestra maquina virtual /acemos click derecho sobre la ma(uina irtual< ! nos dirigimos a la con"iguraci#n1settings3. Seleccionamos la opci#n DS!stemE< desmarcamos todas las opciones donde dice D4oot BrderE< ! dejamos seleccionado solo el checkbo& DCD/D:D0 6B5E. >sto es necesario para (ue nuestra ma(uina irtual cuando inicie sepa (ue debe bootear sobre la imagen .ISB (ue bajamos anteriormente< "igura A.-.A.

(i ura 3.2.3 - (onfiguracin del orden de booteo

$na e' con"igurado el orden de booteo< nos dirigimos a la opci#n Storage< ! seleccionamos la imagen (ue amos a bootear< hacemos click sobre el CD06B5 (ue aparece sobre el lado derecho. 7demas seleccionamos el checkbo& %i e CD/D:D< como se indica en la "igura.

7hora debemos con"igurar la red de nuestra ma(uina irtual< como se e en la "igura A.-... Nos dirigimos a la opci#n (ue dice Network. Seleccionamos DInternal NetworkE< ! le damos un nombre a nuestra red< por ejemplo DpcpdE.

(i ura 3.2.$ - (onfiguracin de la red sobre la maquina virtual del nodo mster Con estos pe(ueFos detalles de con"iguraci#n !a tendr9amos con"igurada la ma(uina irtual para nuestro nodo m?ster.

3.3. Confi ura!i"n de los nodos es!lavos


Para esto< necesitamos crear una ma(uina irtual nue a< luego con la opci#n de clonar ma(uinas irtuales< podemos crear mas nodos escla os para nuestro Cluster. %as ma(uinas irtuales deben tener por lo menos 8;-54 de memoria 675 para su correcto "uncionamiento. Creamos una ma(uina irtual< asignamos las mismas caracter9sticas (ue el nodo m?ster< ! luego nos dirigimos a la con"iguraci#n de la misma< seleccionamos la opci#n DS!stemE< debemos con"igurar el orden del booteo de tal "orma (ue bus(ue sobre la red el arran(ue. Para esto desmarcamos todos los checkbo& ! dejamos habilitado solamente el DNetworkE como se isuali'a en la "igura A.A.;.

(i ura 3.3.1 - (onfiguracin de la maquina virtual del nodo esclavo

7hora amos a la opci#n DNetworksE ! con"iguramos el adaptador de red para (ue trabaje sobre la misma red (ue nuestro nodo m?ster< completamos el nombre de la red como DpcpdE. :ea la "igura de la derecha.

3.$. Clona!i"n de los nodos es!lavos


Gracias a :irtual4o& podemos con"igurar un solo nodo escla o ! luego duplicar este tantas eces (ueramos. Por lo tanto hacemos click derecho sobre la imagen del nodo escla o (ue creamos reci=n< ! hacemos click sobre DcloneE< nos pedir? (ue seteamos un nombre para la ma(uina irtual clonada como se e en la "igura A...;< en mi caso el nombre es DPelican/PC Sla e -E< tildamos el checkbo& para (ue le asigne nue as 57C a las ma(uinas irtuales anteriores< por cuestiones de no tener problemas "uturos ! (ue no se repitan las 57Cs en el sistema.

(i ura 3.$.1 (lonacin de una maquina virtual Ga tenemos dos ma(uinas irtuales para los nodos escla os< podemos agregar cuantos (ueramos de estos clones< pero no es recomendable !a (ue son ma(uinas irtuales ! en el "ondo ha! ; sola ma(uina ejecutando todas estas ma(uinas irtuales.

1.

&. Inicio y configuracin de PelicanHPC


%uego de tener nuestras ma(uinas irtuales es necesario iniciar primero (ue todo la ma(uina irtual del nodo m?ster< ! con"igurar algunos par?metros antes de iniciar los nodos escla os.

$.1. *ni!io + !onfi ura!i"n del nodo m)ster


Iniciamos nuestra ma(uina bot#n DStartE. irtual nodo m?ster con un simple doble click o con el

Como primer instancia podemos er el men2 del Grub como se muestra en la "igura ..;.;< donde nos da a elegir iniciar la distribuci#n Dli eE o Dli e 1"ailsa"e3E< ! otras opciones para comprobar la memoria ! una a!uda. Seleccionamos la opci#n Dli eE.

(i ura $.1.1 7niciando la maquina virtual nodo mster

11

>speramos a (ue inicie. G nos mostrara la pantalla de Pelican Setup como se e en la "igura de la derecha< le damos al bot#n BH. %uego nos pedir? si (ueremos crear un directorio home/user con archi os de prueba ! unos tutoriales< seguimos con el bot#n Ges. G por ultimo nos pide (ue cambiemos el password del usuario DuserE< ademas de cambiarlo deben recordarlo< sera el password (ue usaran todos los nodos escla os ! el m?ster $na e' "inali'ada la con"iguraci#n podemos er en la "igura ..;.- el login del sistema.

(i ura $.1.2 'ogin del nodo mster

12

Ga booteamos ! con"iguramos a medias nuestro Cluster< ahora ingresamos con el usuario DuserE ! el password (ue seteamos en el paso anterior. $na e' logueados< ejecutamos el comando DpelicanIsetupE - pelican8setup

$na e' iniciado nos aclara (ue debemos tener cuidado con los ser idores D/CP (ue est=n en nuestra red en com2n< por(ue Pelican/PC debe manejar un ser idor D/CP para darle las direcciones IP a nuestros nodos escla os. Como estamos emulando una red< no tenemos este problema< pero si lo estu i=ramos haciendo "9sicamente< ! utili'amos alg2n router (ue tiene el ser icio de D/CP acti ado deber9amos desacti ar esta opci#n. Siguiendo los pasos< le damos al bot#n Ges< nos dir? (ue (uiere reiniciar algunos componentes< seguimos con el bot#n Ges ! !a estar9amos preparados para iniciar nuestros nodos escla os.

13

$.2. *ni!io + !onfi ura!i"n de los nodos es!lavos


Dejamos de lado la ma(uina irtuales nodos escla os. irtual con el nodo m?ster< e iniciamos las ma(uinas

Como puede er en la "igura ..-.;< el nodo escla o busca un ser idor D/CP para (ue le asigne una IP< ac? es cuando en nodo m?ster le asigna una IP a cada nodo escla o. %uego de asignarle la direcci#n IP le en i? una imagen del sistema al nodo escla o< ! de esta "orma el nodo escla o bootea. Inicia el kernel ! los procesos.

(i ura $.2.1 3uscando servidor 9"(#

(i ura $.2.2 'ogin del nodo esclavo

1%

$na e' (ue todos los nodos escla os "ueron iniciados 1"igura ..-.-3< debemos ol er al nodo m?ster para terminar de acoplar nuestro Cluster.

$.3. Confi ura!i"n final del nodo m)ster


Nos dirigimos a la ma(uina irtual (ue contiene el nodo m?ster< ! reali'amos la b2s(ueda de los nodos escla os. Pulsamos el bot#n DNoE as9 el nodo m?ster hace broadcast con pings< anali'a la red en b2s(ueda de nodos posibles< cuando un nodo retorna el ping1pong3< el nodo m?ster agrega al Cluster el nodo escla o. >n la "igura ..A.; podemos er (ue el nodo m?ster encontr# - nodos escla os.

(i ura $.3.1 :e encontraron los * nodos esclavos Ga tenemos - nodos escla os detectados por el nodo m?ster< por lo tanto podemos seguir< pulsamos en el bot#n DGesE ! listo< !a tenemos nuestro Cluster "uncionando. Pueden er la "igura siguiente ..A.-< del lado i'(uierdo tenemos los dos nodos escla os ! del lado derecho tenemos nuestro nodo m?ster.

1,

(i ura $.3.2 - 6odos esclavos e)ecutando $top

$.$ Comandos ,tiles de %eli!anH%C


Pelican/PC cuenta con algunos comandos 2tiles (ue se pueden ejecutar desde el nodo m?ster. 7gregar un nue o nodo escla o Si deseamos agregar un nue o nodo escla o debemos iniciar el nodo< esperar (ue boote la imagen por red< ! luego correr el comando siguiente. # pelican_restart_hpc 7pagar todos los nodos escla os Si (ueremos podemos apagar todos los nodos escla os con un solo comando< por lo tanto desde el nodo m?ster ejecutamos el comando siguiente. # pelican_nodes stop Iniciar entorno gra"ico Si (ueremos iniciar el entorno gr?"ico @CC>< ejecutamos el comando siguiente. # startx

10

'. $enc(mar)s
-.1. (.O%S /(loatin point operation per se!onds0

%os C%BPS son una medida de rendimiento de una computadora< especialmente en c?lculos cient9"icos (ue re(uieren un gran uso de coma "lotante. Por lo tanto amos a ejecutar un pe(ueFo benchamark (ue trae el propio Pelican/PC para er la cantidad de C%BPS (ue tiene nuestro Cluster Para esto debemos ejecutar el binario D"lopsE pero bajo 5PI< de esta "orma el Cluster se comunica con sus nodos escla os. >n la "igura 8.;.; se puede er como los nodos escla os inicia en el proceso D"lopsE. >speci"icamos el archi o con los hosts de nuestra red - mpirun $ostfiles tmp;b$osts .;flops

>l archi o DbhostsE contiene las direcciones IP de todos los nodos escla os ! la propia del nodo m?ster >ste archi o es generado autom?ticamente cuando se inicia ! con"igura el nodo m?ster Igual (ue las lla es publicas del nodo m?ster est?n distribuidas en los nodos escla os para (ue se puedan conectar 9a SS/ ! sin necesidad de ingresar el password en cada comunicaci#n.

(i ura -.1.1 E)ecutando el comando <flops=

14

Btras opci#n (ue podemos agregarle al comando mpirun son la cantidad de procesadores (ue amos a usar del Cluster< por ejemplo si (ueremos (ue el comando D"lopsE solo se ejecute en - procesadores< podemos agregar el "lag D0np -E de esta "orma< el nodo m?ster< buscara dos nodos escla os distintos ! ejecutara el comando en solo estos dos. Pelican/PC tiene la propiedad de buscar los nodos escla os menos cargados ! asignar el procesos en esos nodos. Como podemos er en la "igura 8.;.- el nodo m?ster da la orden ! luego los dos nodos escla os ejecutan el comando D"lopsE< ! obtenemos los resultados para los procesadores (ue utili'amos. Para mostrar mejor la idea< ahora amos a ejecutar ; solo proceso de D"lopsE< entonces el Cluster deri a este proceso a un solo nodo escla o ! obtenemos los resultados de ; solo nodo< podemos er en la "igura 8.;.- sobre el nodo escla o de arriba (ue se esta ejecutando el comando D"lopsE ! sobre el nodo escla o de abajo no se esta ejecutando el proceso.

(i ura -.1.1 E)ecucin del comando flops con 4 y * procesadores >jecuci#n de D"lopsE en - procesadores - mpirun $ostfiles tmp;b$osts -np * .;flops

>jecuci#n de D"lopsE en ; procesador - mpirun $ostfiles tmp;b$osts -np 4 .;flops

1-

Conclusin
Pelican/PC es una mu! buena distribuci#n para crear un Cluster de alto rendimiento en pocos minutos< totalmente autocon"igurable< detecci#n ! con"iguraci#n de nodos escla os casi transparentes. 7demas de ser una ersi#n %i e0CD se puede instalar al disco de manera sencilla pero eso escapa de nuestro in"orme. Contiene un entorno gr?"ico li iano ! con"igurable1@CC>3 especial para la gente (ue no le gusta el shell< o desea manejar mas terminales de los normal o utili'ar herramientas de ploteo de "unciones matem?ticas. :iene con librer9as especiales para la programaci#n paralela ! ademas librer9as de calculo num=rico ! algebraico (ue tambi=n hacen uso del sistema Cluster. Gran cantidad de so"tware para instalar !a (ue Pelican/PC esta basada en Debian< ! utili'a todos sus repositorios< con un simple comando1apt0get install 7P%IC7CIBN3 podemos instalar pa(uetes.

19

$ibliogrfica
D4eowul" Cluster Computing with %inu& b! )homas SterlingE. %ibro. DPagina o"icial de la distribuci#n Pelican/PCE. Jeb. Khttp://idea.uab.es/mcreel/Pelican/PCL DCoro o"icial de la distribuci#n Pelican/PCE. Coro. Jeb. Khttp://pelicanhpc.MNNN;O.n..nabble.com/L DComputer ClusterE. Jikipedia. Jeb. Khttp://en.wikipedia.org/wiki/ComputerIclusterL DGeneral in"ormation about the Bpen 5PI ProjectE. Jeb. Khttp://www.open0mpi.org/"a(/Pcategor!QgeneralL DGN$ Bcta eE. 7plicaci#n de calculo num=rico. Jeb. Khttp://www.gnu.org/so"tware/octa eL

2.

También podría gustarte