Sie sind auf Seite 1von 5

PRCTICA

Departamento Acadmico
Programa Acadmico

Plan de Estudios

Formato

Ing. en Sistemas Computacionales

ISIC-2010-224

SyC-01-2013-P

Asignatura

Clave de la Asignatura

Crditos SATCA

Taller de Sistemas Operativos

SCA-1026

No. de Prctica
P_SCA1026_02

Sistemas y Computacin

0-4-4

Semestre
4

Nombre de la Prctica
Configuracin de un clster usando LAM/MPI (3a. Parte)

Competencia de la Prctica
Administracin de las aplicaciones de un SO tipo Unix

1. INTRODUCCIN
Una de las ventajas del clster, es el cmputo de alto rendimiento mediante procesos en paralelo, que
consiste en realizar una misma tarea utilizando diferentes recursos simultneamente, en nuestro caso
del clster, empleando diferentes equipos.
MPI (message passing interface) es un protocolo de comunicacin estndar e independiente del
lenguaje de programacin utilizado. Es el modelo dominante en computacin de alto rendimiento
(supercmputo). MPI consiste de un conjunto de rutinas utilizables desde C, C++, Fortran, C#, Java o
Python. MPI proporciona la sincronizacin y comunicacin entre procesos que se encuentran en los
diferentes nodos, intercambiando datos y resultados, as como informacin para su administracin.
Existen varias implementaciones de MPI; utilizaremos LAM (Local Area Multicomputer), basada en
la biblioteca de software del laboratorio de Cmputo Cientfico de la University of Notre Dame,
Indiana, USA (https://www.nd.edu/ ) y del Argone National Laboratory (http://www.anl.gov/ )

2. REQUERIMIENTOS
Equipo, herramientas y material.
Cuaderno de la asignatura,
Pluma,
Computadora

Software
SO xNiX
lam-runtime
lam4-dev

3. DESCRIPCIN DE LA PRCTICA.
1) Instalar LAM/MPI en el nodo maestro del clster
2) Instalar programas de compilacin en el nodo maestro del clster
3) Probar la funcionalidad del clster
4) Compilar el programa fuente

5) Enlazar el programa objeto.


6) Ejecutar la aplicacin en el clster

Descripcin 1. Instalar LAM/MPI en el nodo maestro del clster


Procedemos a instalar la versin LAM de MPI en el equipo maestro, con clave de usuario
administrador. El comando es:
sudo apt-get install lam-runtime
Nota: Tambin es posible utilizar synaptic para la instalacin.

Descripcin 2. Instalar programas de compilacin en el nodo maestro del clster.


Para facilitar la compilacin de programas para el entorno MPI, se cuenta con programas 'script' que
integran las libreras y cabeceras necesarias. En el caso de los lenguajes C, C++ y Fortran el script es
mpicc,mpiCC y mpiff77 respectivamente, que se encuentran en el paquete lam4-dev.
El comando para instalar lam4-dev es: sudo apt-get install lam4-dev. Igualmente se puede emplear
synaptic.
Descripcin 3. Probar la funcionalidad del clster.
LAM/MPI proporciona aplicaciones para compilar y ejecutar aplicaciones en el clster.
Un resumen de estas aplicaciones se muestra en la tabla 1

Aplicacin

Descripcin

recon -v <lam.conf>

Prueba la funcionalidad de LAM/MPI. El


archivo
<lam.conf>
contiene
los
nombres de los nodos del clster.

lamboot -v <lam.conf>

Inicializa el clster LAM.

lamnodes

Muestra el nmero de nodos y cpu's


dentro del clster.

mpirun -np <No.> <programa>

Ejecuta el <programa> en <No> nodos


del clster

mpicc -g -c <programa.c>

Script para compilar programas de


lenguaje C. Se genera un archivo
<programa.o>

mpiCC -g -c <programa.cc>

Script para compilar


lenguaje C++

programas

de

Tabla 1: Instrucciones de LAM/MPI


Para probar la funcionalidad de LAM podemos emplear el comando recon -v lam.conf; aunque no es
una garanta que opere al 100% el clster, es una forma de detectar algn problema a tiempo.
Arranque del clster.
i)
Desde la terminal del equipo maestro, y en la carpeta <home> del usuario comn b1 en el
clster, ejecutar el comando lamboot -v lam.conf, donde lam.conf es el archivo de configuracin del
clster, que debe contener un listado con los nodos del mismo. Su sintaxis es muy simple, debe
contener las direcciones IP de cada nodo (ver Tabla 2)

10.9.26.186
10.9.26.235
10.9.26.170

Tabla 2: Ejemplo de archivo de configuracin del clster: lam.conf

Si el arranque del clster es correcto debemos ver un listado con los nodos dentro del mismo:

LAM 7.1.4/MPI 2 C++/ROMIO - Indiana University


n-1<6648> ssi:boot:base:linear: booting n0 (127.0.0.1)
n-1<6648> ssi:boot:base:linear: finished
ars@ars-TECRA-R840:/espejo$ lamnodes
n0

localhost:1:origin,this_node

ii)

Una forma fcil de confirmar cuntos nodos se encuentran en el clster es mediante el


comando lamnodes

Descripcin 4. Compilar el programa fuente.


Un ejemplo sencillo para probar el clster, es el clsico hola mundo, que su cdigo fuente en
lenguaje C para el entorno del clster, sera el siguiente:

#include <stdio.h>
#include <mpi.h>
int main(int argc, char *argv[])
{
int rank, size;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank); // obtiene identificador
MPI_Comm_size(MPI_COMM_WORLD, &size); // obtiene No. procesos
printf("Hola Mundo! Soy el %d de %d\n", rank, size);
MPI_Finalize();
return 0;
}
Si dicho cdigo fuente se guarda con el nombre de archivo hola.c, el proceso de compilacin sera con
la siguiente instruccin desde terminal:

mpicc -g -c hola.c
El resultado de la compilacin (sino hay errores de sintaxis) ser un archivo en la misma carpeta con
el mismo nombre pero diferente extensin; as, podr verse el archivo hola
Nota: en caso de mostrarse errores de compilacin, editar nuevamente el archivo con las correcciones
apropiadas y compilar nuevamente.
Descripcin 5. Enlazar el programa objeto.
El programa objeto generado por la compilacin, puede requerir del uso de libreras, como por
ejemplo, de cmputo numrico, de graficacin, etc y estas se integran en el proceso de enlace. En
nuestro ejemplo, donde no empleamos libreras especializadas, las instrucciones para el enlace
seran:
mpicc -g hola.o -o holamundo
El resultado como se indica en la instruccin anterior, es un archivo ejecutable con el nombre
holamundo.
Descripcin 6 . Ejecutar la aplicacin en el clster
Para la ejecucin en el clster del programa holamundo, la instruccin podra ser (para otras opciones, ver
LAM/MPI User's guide)
mpirun -np 4 holamundo
Con esta instruccin se indica que se ejecutarn 4 copias del programa en los nodos del clster indicados
en el archivo de configuracin <lam.conf> que se emple en el arranque del clster.

4. FUENTES DE INFORMACIN.
1. LAM/MPI Installation Guide Version 7.1.2; The LAM/MPI Team, Open Systems Lab; Indiana
University, USA, March 10, 2006; http://lam.fries.net/download/files/7.1.2-install.pdf
2. LAM/MPI User's Guide Version 7.1.1; The LAM/MPI Team, Open Systems Lab; Indiana
University, USA, September 26, 2004; http://lavica.fesb.hr/~slap/VPR/7.1.1-user.pdf
3. Programas de ejemplo en lenguaje C;
http://geco.mines.edu/workshop/aug2011/examples/mpi/index.html

Pueden utilizar la bibliografa de la asignatura, libros electrnicos, revistas, documentos


electrnicos con referencias fidedignas.
Las contigencias que se tengan en el desarrollo de la prctica, reportarlas con la solucin dada.

Das könnte Ihnen auch gefallen