Академический Документы
Профессиональный Документы
Культура Документы
Alumnos:
Strevel Pérez Oliver Carlos
Reyes Hernández Juan Alfredo
Grupo: 5CV6
Profesor: José Alfredo Jiménez Benítez
Los elementos principales que intervienen en el paso de mensajes son el proceso que
envía, el que recibe y el mensaje.
El cual es el siguiente:
En la línea 6 declaramos dos variables de tipo entero, las cuales son el rango y el
tamaño, el rango nos servirá para especificar el identificador de un proceso, y el
tamaño para especificar el número de nodos o procesadores involucrados.
Cualquier programa paralelo con MPI puede implementarse con tan sólo 6 funciones,
aunque hay muchas más funciones para aspectos avanzados. Todas ellas empiezan por
MPI_ y obligan a que todos los programas escritos en MPI contengan la mpi.h.
Ahora antes de llamar a cualquier otra función se debe hacer la llamada a la función
MPI_Init (), solo debe ser invocada una sola vez, sus argumentos son punteros a los
parámetros de la función main (argc y argv) ante mencionados.
Lo que hace esta función es inicializar el ambiente MPI además de que permite al
sistema hacer todas las configuraciones necesarias para que la biblioteca MPI pueda
ser utilizada.
Línea 14: la función MPI_Finalize () sirve para finalizar el servicio de MPI, es obligatorio
terminar el servicio MPI.
Para poder utilizar el compilador y todas las librerías de mpi, si no las tenemos nos
saldrá un mensaje como el siguiente:
El cual nos dice que el programa mpicc puede encontrarse en los siguientes paquetes,
y nos da una lista, y a continuación como instalarlos, en nuestro caso instalamos el
número 1, que siempre es el más probable o el que contiene todos los demás:
Nos dice los paquetes que serán instalados, simplemente esperamos a que la
instalación termine.
Tal vez a algunos les pida una contraseña, esto es porque su usuario tiene contraseña,
simplemente tiene que ponerla.
La opción –np es una opción para el comando mpirun, el numero 4 significa el numero
de procesos que queremos utilizar.
LAM O LAMD
MPD
En el primer caso podemos iniciar el demonio con el comando: mpd &, y será capaz de
ejecutar programas de multiprocesamiento en esta computadora.
Cuando ejecutamos una aplicación MPI bajo MPICH las solicitudes se envían a los
demonios MPD que ya se están ejecutando en cada computadora para poner en
marcha las copias del programa.
Una vez que una copia del programa se ha iniciado se puede usar MPI para
comunicarse con otras copias del mismo programa que se ejecutan en cada máquina
virtual respectivamente.
Todo lo anterior explicado nos hace deducir que en cada computadora que queramos
comunicar necesitara el demonio MPD ejecutándose en ella.
Instalación de MPD
Si intentamos inicializar mpd con el comando mpd &, y si no tenemos instaladas las
librerías adecuadas, no podremos iniciarlo, la consola nos dice que librerías puede que
contengan a mpd:
El cual dice que un archivo llamado ‘.mpd.conf’ debe existir en la carpeta de usuario
‘/etc/mpd.conf’) con permisos de lectura y escritura para el usuario y que al menos
debe contener una línea como la siguiente MPD_SECRETWORD = <contraseña>.
Una manera segura para crear este archivo es utilizando los siguientes comandos:
Y nos da 3 comandos:
Listo el demonio MPD esta inicializado en nuestra computadora, este proceso puede
repetirse en cada una de las computadoras que se requieran.
El comando cd $HOME nos posiciono en la carpeta de usuario, por lo que hay que
trasladarnos a la carpeta donde tengamos el programa, de lo contrarios saldrá este
error:
Cada proceso ejecuta la línea printf cada uno poniendo su identificador y el numero de
procesos que especificamos (4).
Cabe mencionar que todo esto lo hicimos para Linux Mint y como está basado en
Ubuntu, en Ubuntu funciona igual, tal vez para otras distribuciones Linux sean
comandos diferentes o las librerías se llamen diferente, pero en esencia este es el
proceso básico.
Conclusiones
Al principio de esta práctica tuvimos diferentes problemas al ejecutar
la practica ya que el profesor únicamente nos había dado los
comandos mpicc y mpirun, y creímos que a la primera funcionaria
pero grata fue la sorpresa al ver que no era así, tuvimos que realizar
muchas pruebas instalar varias cosas, hasta que conseguimos
compilar y ejecutar la aplicación MPI, de ahí la guía anterior, la cual
realizamos en base a nuestras pruebas, por otra parte las
aplicaciones MPI hacen que el computo en paralelo y el paso de
mensajes entre maquinas diferentes que tengan procesos distintos o
hardware o sistemas operativos distintos sea más fácil.
Este estándar es muy fácil de usar y las aplicaciones tienen una gran
potencia.