Agregar a favoritos      Ayuda      Português      Ingles     

Interfaz de Paso de Mensajes

Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com
INTRODUCCION A M(ESSAGE) P(ASSING) I(NTERFACE) Paradigma de Transferencia de Mensajes Cada procesador corre un programa Todas las variables son privadas La comunicación se realiza a través de subrutinas especiales Trans-mensajes
Monografias.com
¿Qué es MPI? Es una implementación de un estándar del modelo de paso de mensajes Atiende a una estructura SPMD (Single Program/Multiple Data) Imágenes del programa en cada máquina 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? Los datos se comparten por medio del paso de mensajes Consiste en una serie de librerías C
Monografias.com
MPI (Message Passing Interface) ? Una colección de rutinas adecuadas para facilitar la comunicación (intercambio de datos y sincronización de tareas) entre distintos procesadores. MPI : 1994 / MPI 2 : 1997 Existen bibliotecas para C y Fortran (C++ y F90). Características: Es estándar (por consenso, no por normativa) Portable Flexible (~ 125 rutinas) y expandible Simple (con las 6 rutinas básicas se puede hacer mucho!) ¿Qué es MPI?
Monografias.com
Características de MPI Principalmente dirigido a proveer portabilidad del código fuente. No esta totalmente alcanzado todavía Ofrece gran funcionalidad Diferentes tipos de comunicaciones Soporta gran cantidad de tipo de datos Soporta datos definidos por el usuario Manejo de diferentes topologías MPI se escribió con algunos puntos un poco perdidos En teoría las aplicaciones MPI se pueden compilar con cualquier implementación MPI existente, pero es posible que el comportamiento sea ligeramente diferente Necesidad de recursos que no estén garantizados por la implementación MPI NO ES PORTABLE TOTALMENTE
Monografias.com
Portabilidad de los programas Aspectos a considerar debido a la variedad de implementaciones MPI Suponer buffering. No asumir que el envío de datos es tipo buffer Suponer sincronización de barrera para llamadas colectivas. En MPI, la comunicación colectiva es bloqueante, pero el programa no debe depender del tipo de sincronización (en este caso barrera) Ambigüedades en la comunicación. Los mensajes enviados son los que se espera recibir
Monografias.com
Local Area Multiprocesor (LAM) Entorno y sistema de desarrollo para procesamiento en paralelo que trabaja sobre redes formadas por procesadores independientes Utiliza programación estándar de paso de mensajes (MPI) LAM proporciona al usuario una librería API para el paso de mensajes entre diferentes nodos que colaboran para la realización de una aplicación paralela Funciona en una gran cantidad de plataformas UNIX y permite trabajar con diferentes tipos de maquinas mezclados
Monografias.com
Las diferentes máquinas pueden conectarse a través de una red de área local o a través de Internet Características: Completa implementación del estándar 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 librerías adicionales MPI para la programación LAM Local Area Multiprocesor (LAM)
Monografias.com
MPICH y MPICH2 MPICH2 es una implementación (bastante) portable de alta performance del standart MPI (-1 y -2) Principales logros: 1) provee una implementación MPI soportada en una gran variedad de plataformas HETEROGENEAS. Con gran variedad de redes (10Gigabits, Infiniband, Myrinet, Quadrics ) y tiene algunas cosas interesantes para su mejor funcionamiento en sistemas propietarios como BlueGene, Cray, etc 2) Es fácil de utilizar en otros entornos derivados lo que permite ampliar sus capacidades enormemente. Por ejemplo crear nuestra librería, o Petsc, o scalapack
Monografias.com
Como funcionan? Se debe compilar con las librerias adecuadas. mpicc -o s.exe sistema.c -lm Se debe ejecutar con las instrucciones adecuadas. En general en maquinas grandes, ese problema no es nuestro problema source /opt/Modules/3.2.6/init/bash module add mvapich2 Mpirun/mpiexec --comm=pmi -np $NP S.exe
Monografias.com
Como funciona MPI? En FORTRAN será vía el llamado a subrutinas: call MPI_ROUTINE (ARGUMENTOS, IERROR) En C el uso será de la forma: MPI_Xxxxxx(argumentos) El primer paso será invocar a la biblioteca adecuada (C: mpi.h, F: mpif.h) p.e.: #include “mpi.h” Todo programa MPI tiene que ser inicializado y finalizado (para liberar correctamente los recursos).
Monografias.com
Versión Fortran PROGRAM simple include ’mpif.h’ integer errcode ! Inicializar MPI call MPI_INIT (errcode) ! Parte Principal del Prog... ! Terminar MPI call MPI_FINALIZE (errcode) end Versión C #include “mpi.h” /* Headers */ main(int argc, char **argv) { /* Inicializar MPI */ MPI_Init (&argc, &argv); /* Parte principal del Prog..... */ /* Terminar MPI */ MPI_Finalize (); exit (0); } Un programa MPI: el esquema básico Prog.Basico
Monografias.com
Como funciona MPI? Los siguientes pasos son definir un comunicador, indicar el número total de procesadores en el sistema y el rango de cada uno dentro del conjunto. El comunicador típico es MPI_COMM_WORLD (definido en mpi.h/mpif.h): son todos los nodos requeridos al sistema. (Pueden definirse otros comunicadores si es necesario) Comunicador
Monografias.com
Comunicadores A cada proceso se le asigna un numero (rank) consecutivo empezando desde 0 Un mismo procesador puede pertenecer a varios comunicadores diferentes, y su ‘rank’ sera diferente en cada uno de ellos MPI_COMM_WORLD es un comunicador que engloba a todos los procesos Los mensajes se marcan con una etiqueta o tag que sirve para distinguir entre diferentes tipos
Partes: 1, 2

Página siguiente 

Comentarios


Trabajos relacionados

Ver mas trabajos de Programacion

 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Iniciar sesión

Ingrese el e-mail y contraseña con el que está registrado en Monografias.com

   
 

Regístrese gratis

¿Olvidó su contraseña?

Ayuda