Sistemas Concurrentes y Distribuidos
|
|
Seminario 3.
Introducción al paso de mensajes con MPI.
El objetivo de este seminario es hacer una introducción a la ejecución
de procesos concurrentes usando paso de mensajes con alguna implementación del estándar MPI.
Transparencias del seminario (PDFs)
Instalación de Open-mpi
Para probar estas prácticas se debe disponer de los paquetes de desarrollo y ejecución de programas MPI. En Ubuntu, hay dos implementaciones de MPI disponibles, para instalar la implementación OpenMPI basta con usar apt-get para instalar estos dos paquetes:
openmpi-bin
libopenmpi-dev
Una vez instalados, se dispone de las órdenes mpicxx (para compilar) y mpirun (para ejecutar).
(probado en Ubuntu 14 en noviembre de 2015).
Archivos fuente disponibles:
Todos estos archivos deben descargarse en una misma cárpeta. El código
y el makefile que se proporcionan se han probado en Linux.
-
Archivos fuente C++ con los ejemplos del seminario:
- holamundo.cpp:
Ejecución de varios procesos, cada uno de los cuales imprime un mensaje en la salida estándar (sec. 3.1).
- sendrecv1.cpp:
Envio asíncrono seguro de un mensaje y recepción del mismo (sec. 3.2)
- sendrecv2.cpp:
Difusión de un mensaje en una cadena de procesos (sec. 3.2).
- intercambio_sincrono.cpp:
Intercambio síncrono (seguro) de mensajes entre pares de procesos (sec 4).
- multireceive.cpp:
Sondeo continuo de varias fuentes desconocidas (sec 5).
- intercambio_nobloq.cpp:
Intercambio asíncrono (inseguro) de mensajes entre pares de procesos (sec 5).
-
Archivo para y ejecutar los fuentes Java con la orden make:
- makefile:
Usar make para compilar todos los ejemplos, o bien make 1 para compilar y ejecutar el primer ejemplo (igualmente, usar make 2, make 3, etc... para el resto de ejemplos hasta el sexto).
sitio web modificado por última vez el 15 de Septiembre de 2015