Instalación y Configuración de un Cluster bajo PelicanHPC

Text-only Preview

Instalacion y configuracion de un Cluster de
Alto rendimiento basado en PelicanHPC
Por Diego I. G. Najar Carrascal
http://www.linkedin.com/in/dignajar

Indice
1. Introduccion.............................................................................................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. Configuracion de las maquinas virtuales...........................................2
2.4. PelicanHPC........................................................................................2
3. Instalacion y configuracion de PelicanHPC sobre VirtualBox....................4
3.1. Primeros pasos..................................................................................4
3.2. Configuracion del nodo master.........................................................5
3.3. Configuracion de los nodos esclavos.................................................8
3.4. Clonacion de los nodos esclavos.....................................................10
4. Inicio y configuracion de PelicanHPC......................................................11
4.1. Inicio y configuracion del nodo master............................................11
4.2. Inicio y configuracion de los nodos esclavos...................................14
4.3. Configuracion final del nodo master................................................15
4.4 Comandos utiles 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
Conclusion..................................................................................................19
Bibliografica...............................................................................................20

1. Introduccion
1.1. Objetivo
Se propuso como objetivo instalar y configurar un Cluster con una distribucion
GNU/Linux. Se utilizaran maquinas virtuales - si funciona en maquinas virtuales
funciona en maquinas fisicas - para virtualizar un nodo master 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 interconexion para

proveer un sistema coordinado, capaz de procesar una carga.
-
Dr. Thomas Sterling
1.3. Tipos de Cluster
*
Alto rendimiento (HP, high performance): Los Cluster de alto rendimiento han
sido creados para compartir el recurso mas valioso de una computadora, es
decir, el tiempo de proceso. Cualquier operacion que necesite altos tiempos de

computo puede ser ejecutada en un o Cluster de alto rendimiento, siempre que
se encuentre un algoritmo que sea paralelizable.

*
Alta disponibilidad (HA, high availability): Los Cluster de alta disponibilidad
pretenden dar servicios las 24hs de cualquier tipo, son Cluster donde la

principal funcionalidad es estar controlando y actuando para que un servicio o
varios se encuentren activos durante el maximo periodo de tiempo posible.

*
Alta eficiencia (HT, high throughput): Los Cluster de alta eficiencia tiene como
objetivo la ejecucion de la mayor cantidad de tareas en el menor tiempo

posible.
Podemos encontrar muchos mas tipos de Cluster, y combinaciones de ellos, solo se
nombraron los tipos mas importantes, y mas usados.
1

2. Sistema
2.1. Componentes de Hardware
*
Intel Quad Core 6600 2.4GHz - (4 nucleos)
*
2GB Memoria RAM
*
500GB Disco rigido
2.2. Componentes de Software
*
Sistema operativo nativo GNU/Linux (Gentoo Linux)
*
Maquinas virtuales bajo VirtualBox v4.1.6
*
Sistema operativo para el Cluster GNU/Linux (PelicanHPC basado en Debian)
http://idea.uab.es/mcreel/PelicanHPC
2.3. Configuracion de las maquinas virtuales
*
Nodo Master: 1 procesador, 512MB Ram, sin disco rigido, booteo desde la
imagen Live-CD de PelicanHPC
*
Nodo Slave 1: 1 procesador, 512MB Ram, sin disco rigido, booteo a traves de
la red LAN
*
Nodo Slave 2: 1 procesador, 512MB Ram, sin disco rigido, booteo a traves de
la red LAN
2.4. PelicanHPC
Es una distribucion de GNU/Linux basa en Debian para la creacion 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 master 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 apt-
get, como esta basada en la distribucion Debian tenemos una gran cantidad de
paquetes de software.
Caracteristicas a destacar:
*
Disponible para procesadores de 64 y 32 bits.
*
Contiene lo ultima version estable del paquete OpenMPI.
*
GNU Octave lenguaje de alto nivel para realizar calculos numericos, es
considerado la version libre de MATLAB. Utiliza todo el poder de los Cluster que
utilizan MPI, dividiendo los calculos en diferentes nodos.
*
Linkpack libreria especial para el el calculo del algebra lineal en Cluster.
2

*
Herramientas de configuracion nativas de PelicanHPC.
*
Autoconfiguracion de llaves publicas/privadas para la comunicacion a traves 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 graficas.
3

3. Instalacion y configuracion de PelicanHPC sobre
VirtualBox
3.1. Primeros pasos
Como primer instancia debemos bajar la imagen de PelicanHPC, para este informe
vamos a utilizar la ultima version de PelicanHPC v2.6, por lo tanto nos dirigimos al
sitio oficial, vamos a la seccion "Download", y descargamos la imagen "pelicanhpc-
v2.6.iso". (http://idea.uab.es/mcreel/PelicanHPC)
Una vez que tengamos la imagen, podemos comenzar con la configuracion de las
maquinas virtuales.
Antes de iniciar VirtualBox debemos iniciar los modulos necesarios(drv, netdp, netflt).
Iniciar modulos para VirtualBox
# for m in vbox{drv,netadp,netflt}; do modprobe $m; done
Ejecutamos VirtualBox
# VirtualBox
Figura 3.1.1 - VirtualBox v4.1.6
4

3.2. Configuracion del nodo master
Ahora nos centraremos en crear una maquina virtual para el nodo master de nuestro
Cluster Para esto creamos una maquina virtual nueva, y completamos los parametros
que nos pide. Ingresamos el nombre de la maquina virtual, y le damos a elegir que es
un sistema operativo Linux como se ve en la figura 3.2.1, para nuestro caso
seleccionamos que es un Linux con version de kernel 2.6 y de 64bits.
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 master Debemos setear un poco mas de 256MB
(por favor que sea potencia de 2), en el ejemplo seteamos 512MB.
Despues de setear la memoria RAM, se nos pide que indiquemos si vamos a utilizar un
disco fisico. PelicanHPC bootea sobre la memoria RAM asi que no sera necesario el
disco.
Finalizamos la creacion y nos debera aparecer la maquina virtual en nuestro
VirtualBox.
5

Figura 3.2.2 - Cantidad de memoria que tendra disponible nuestra maquina virtual
Hacemos click derecho sobre la maquina virtual, y nos dirigimos a la
configuracion(settings). Seleccionamos la opcion "System", desmarcamos todas las
opciones donde dice "Boot Order", y dejamos seleccionado solo el checkbox "CD/DVD-
ROM". 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.
6

Figura 3.2.3 - Configuracion del orden de booteo
Una vez configurado el orden
de booteo, nos dirigimos a la
opcion

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

Ahora debemos configurar la red de nuestra maquina virtual, como se ve en la figura
3.2.4. Nos dirigimos a la opcion que dice Network. Seleccionamos "Internal Network",
y le damos un nombre a nuestra red, por ejemplo "pcpd".
Figura 3.2.4 - Configuracion de la red sobre la maquina virtual del nodo master
Con estos pequenos detalles de configuracion ya tendriamos configurada la maquina
virtual para nuestro nodo master.
3.3. Configuracion de los nodos esclavos
Para esto, necesitamos crear una maquina virtual nueva, luego con la opcion de clonar
maquinas virtuales, podemos crear mas nodos esclavos para nuestro Cluster.
Las maquinas virtuales deben tener por lo menos 512MB de memoria RAM para su
correcto funcionamiento.
Creamos una maquina virtual, asignamos las mismas caracteristicas que el nodo
master, y luego nos dirigimos a la configuracion de la misma, seleccionamos la opcion
"System", debemos configurar el orden del booteo de tal forma que busque sobre la
red el arranque. Para esto desmarcamos todos los checkbox y dejamos habilitado
solamente el "Network" como se visualiza en la figura 3.3.1.
8

Document Outline

    • ﾿
    • ﾿
    • ﾿
    • ﾿
  • ﾿
    • ﾿
      • ﾿
    • ﾿