Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ndice
Introduccin Historia Caractersticas Funcionamiento Mensajes Llamadas Funciones Tipos Compilacin Ejemplo Bibliografa
Introduccin
Qu
es MPI?
-Iniciales de Message Passing interface -Es una especificacin para programacin de paso de mensajes -Proporciona una librera de funciones
-Atiende a una estructura SPMD(Single Program/Multiple Data) Datos locales a cada maquina Todos los procesadores trabajan con el mismo programa, pero los datos pueden ser diferentes. Como asignar tareas diversas con datos diversos?
Introduccin
Lenguajes
FORTRAN C/C++ (Intentos de puente entre JAVA y MPI, mpiJava API )
Ventajas
Programas portables Ms rpidos que los de otras bibliotecas Gran funcionalidad Soporta gran cantidad de tipos de datos Incluyendo datos definidos por el usuario
Objetivos:
Conseguir una comunicacin eficiente. Definir interfaz implementable en distintas plataformas sin cambios significativos.
Historia
Comenz en Abril de 1992 con el Workshop on Standards for Message Passing in Distributed Memory Environment patrocinado por el Center for Research on Parallel Computing en Williamsburg,Virginia Involucr cerca de 60 personas y 40 organizaciones de Europa y EEUU Empresas que han participado:
Universidades:
Historia
Evolucin
1992 Comienzo Nov 1992 Primera versin MPI 1
Mayo 1994
CRI/EPCC
Desarrollo para procesamiento en paralelo que trabaja sobre redes formadas por procesadores independientes Funciona en una gran cantidad de plataformas UNIX Las diferentes mquinas pueden conectarse a travs de una red de rea local o a travs de Internet
Caractersticas:
Completa implementacin del estndar MPI Existen diversas herramientas de desarrollo Posibilidad de mezclar diferentes tipos de maquinas en una misma red Es posible activar o desactivar nodos dentro de la red Si un nodo cae se detecta y es posible recuperarlo cuando vuelva a funcionar Existen libreras adicionales MPI para la programacin LAM
MPICH (MPIChamaleon)
Implementacin
Caractersticas
Creado
Incluye
definiciones para:
Comunicaciones Existencia
colectivas:
de implementaciones libres.
Funcionamiento
Siguiendo el modelo SPMD, el usuario escribir su aplicacin como un proceso secuencial del que se lanzarn varias instancias que cooperan entre s.
Los
Mensajes en MPI
Compuesto
por:
Envoltura
Direccin destino Direccin fuente Informacin adicional para transmitir y entregar el mensaje(etiqueta, comunicator)
Llamadas de MPI
4
clases:
1. Llamadas utilizadas para inicializar, administrar y finalizar comunicaciones.
MPI_Init, MPI_Finalice
MPI_Finalize
Permite terminar una sesin MPI ltima llamada a MPI que un programa realice. Permite liberar la memoria usada por MPI.
MPI_Comm_size
Determina el nmero total de procesos que pertenecen a un comunicator.
MPI_Comm_rank
Determina el identificador (rank) del proceso actual.
Un procesador enva y otro recibe Comunicacin elemental en MPI Dos modos de comunicacin
Bloqueante No bloqueante
Comunicacin colectiva
Comunicaciones
de un procesador a varios y de varios procesadores a uno Se reduce la posibilidad de error Cdigo fuente ms fcil de leer Normalmente, la rutina colectiva es ms rpida
Comunicacin colectiva
Operacin
broadcast: Un nico proceso enva copia de los mismos datos a todos los procesos de un grupo
MPI_Bcast (void *buf, int count, MPI_Datatype dtype, int root, MPI_Comm comm);
Aadir el fichero
#include
"mpi.h",
Compilacin en MPI
C
% mpcc -o programa programa.c % mpcc -o programa programa.c
FORTRAN
% mpf77 -o programa programa.f % mpf90 -dalign -o programa programa.f
Ejecucin
mprun -np num_procesos programa
Bibliografa
www.wikipedia.org www.informatica.uv.es www.mpich.org
www.mcs.anl.gov
(ejercicios resueltos)
www.cs.kent.edu/~farrell/dist/ref/implementations.html
www.mpi-forum.org
PREGUNTAS?