PelicanHPC Implementación fisica con dos nodos
Implementación fisica de cluster de alto rendimiento con PelicanHPC
Implementación fisica de cluster PelicanHPC
Cluster de Alto Rendimiento
Implementacion de Cluster PelicanHPC
Practica de Clusters
PelicanHPC práctica fisica con dos nodos
Implementación fisica de Cluster de Alto Rendimiento con PelicanHPC con dos nodos
Presentación de Redes de alcantarillado y agua potable
PelicanHPC Implementación fisica con dos nodos
1. IMPLEMENTACION DE UN
CLUSTER DE ALTO
RENDIMIENTO CON PELICAN
HPC
Analizando tiempo de ejecución con dos nodos
22 de Mayo de 2018
Alumno
Iván Luis Jiménez
2. Descripción de la implementación
Ejecutaremos un programa hecho en C++, dicho programa multiplica una matriz A x B = C. Primeramente ejecutaremos el
programa sólo en el nodo maestro y tomaremos el tiempo que tarda, después lo ejecutaremos pero junto con otro nodo.
El sistema en el que montaremos el escenario software será en el Sistema Operativo PelicanHPC versión 1.4 y será
Booteado en una USB.
Preparando la USB Booteable para arrancar desde ahí
Tenemos que tener una USB Booteable para que nuestra computadora (Master) pueda iniciar desde ella, por tanto
tendremos que grabar la ISO del Sistema Operativo PelicanHPC versión 1.4
Para ello necesitamos un Sistema Operativo Linux, cualquier versión. Éste nos ayudara a ejecutar comandos para poder
Bootear la USB.
Insertamos nuestra USB y ponemos atención en el nombre de nuestro dispositivo que aparece en la dirección /dev/sd*
Una vez que ya identificamos el nombre de nuestro dispositivo tenemos que tener a la mano nuestro ISO de PelicanHPC,
y tenerlo ubicado en algún lugar de nuestro PC.
Hecho esto procedemos a teclear el comando de la imagen:
Damos enter y una vez que haya terminado el proceso tecleamos el comando sudo sync
Hecho esto ya tenemos nuestra USB Booteable.
Preparando el Nodo Maestro para entrar desde la USB Booteable
Tenemos que configurar la BIOS de la PC Maestra para que pueda leer la memoria Booteada. Depende de cada
computadora la tecla a presionar para entrar a la BIOS. En nuestro caso tecleamos F2 y configuramos los siguientes
parámetros:
Ruta de la ISO de PelicanHPC
Nombre de nuestro USB
3. Activamos la opción de Network Boot [Enable]
Cambiamos el Boot Mode [Legacy]
Y la opción de Network Boot la colocamos en primera instancia.
Hecho esto ya podemos apagar nuestro PC que será nuestro Master y luego insertar la USB Booteada y encender la PC.
4. Entrando al entorno PelicanHPC
Debemos seleccionar la primera opción
Después que haya entrado debemos teclear en user: user y en password: PelicanHPC
Después teclear el comando startx para iniciar el entorno gráfico y hacer las pruebas cómodamente.
Requerimientos Hardware
Características de los Nodos
Nodo CPU Memora RAM IP
Maestro Core i3 1.80 GHz x 4 8 GB 10.11.12.1
Esclavo Core i3 2.0 GHz x 4 6 GB 10.11.12.46
5. Requerimientos Software
Sistema Operativo: PelicanHPC derivado de Debian (Modo Live CD)
Versión: 1.4
MPI: Librería necesaria para correr el programa en C++ de una matriz de manera paralela. Dicha librería ya está incluida
junto a PelicanHPC no es necesario instalarla.
Compilador g++ para compilar los programas en C++. Ya viene instalado en PelicanHPC, no es necesario instalarlo.
Desarrollo
Arrancamos el servidor DHCP con el comando pelican_setup para que el otro nodo pueda conectarse al clúster.
Tenemos información sobre los nodos:
Teniendo ya preparado los nodos.
6. Compilamos el programa optimizado para MPI, que nos ayudara a comunicarse por la red con los nodos a través de paso
de mensajes.
Si ejecutamos el programa normalmente (una vez), el tiempo es muy pequeño (segundos)
Pero si ejecutamos 250 veces el mismo programa en paralelo obtendremos: Medido en segundos
Si lo ejecutamos incluyendo el nodo:
El archivo ~/tmp/bhosts contiene las IP de todos los nodos agregados al cluster
7. En el lado del nodo maestro (10.11.12.1) tenemos:
En el lado del nodo esclavo (10.11.12.46) tenemos:
8. Observaciones:
Nodo/s Tiempo de ejecución con 250 replicas
Maestro 0.195619 segundos
Maestro y Esclavo 0.150016 segundos
Conclusiones:
Al observar los tiempos obtenidos se puede concluir que si se ve mejoras en el tiempo, es decir, que agregando un segundo
nodo el tiempo de procesamiento se reduce, tal vez no es considerable para un humano, pero en tiempo de procesamiento
del procesador si es considerable.
Hay que considerar que tal vez el procesamiento de dicho programa, en particular la multiplicación de los arreglos, no es
considerable para el procesador, sino más bien lo que hace que aumente el tiempo es el paso de mensajes de nodo a
nodo, es decir, tarda más en enviar los parámetros de nodo a nodo que en el procesamiento real.