pase de mensaje mpi elaborado: betzaida romero. agenda historia y evolución que es mpi conceptos...
TRANSCRIPT
![Page 1: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/1.jpg)
Pase de MensajeMPI
Elaborado:Betzaida Romero
![Page 2: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/2.jpg)
Agenda
Historia y EvoluciónQue es MPIConceptosVentajasDesventajasEjemploConclusiones
![Page 3: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/3.jpg)
Historia MPI
•Al diseñarse MPI, se tomaron en cuenta las características más atractivas de los sistemas existentes para el paso de mensajes, resultando así, en una fuerte influencia para MPI los trabajos hechos por IBM, INTEL, NX/, Express, nCUBE's Vernex, p4 y PARMACS. Otras contribuciones importantes provienen de Zipcode, Chimp, PVM, Chameleon y PICL.
•Estandarizar MPI involucró a cerca de 60 personas de 40 organizaciones diferentes principalmente de U.S.A. y Europa.
•La mayoría de los vendedores de computadoras concurrentes estaban involucrados con MPI, así como con investigadores de diferentes universidades, laboratorios del gobierno e industrias.
![Page 4: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/4.jpg)
Historia MPI
• El proceso de estandarización comenzó en el taller de estándares para el paso de mensajes en un ambiente con memoria distribuida, patrocinado por el Centro de Investigación en Computación Paralela en Williamsburg, Virginia,Estados Unidos (Abril 29-30 de 1992).
•Se llegó a una propuesta preliminar conocida como MPI1, enfocada principalmente en comunicaciones punto a punto sin incluir rutinas para comunicación colectiva y no presentaba tareas seguras.El estándar final por el MPI fue presentado en la conferencia de Supercómputo en Noviembre de 1993, constituyéndose así el foro para el MPI.
•En un ambiente de comunicación con memoria distribuida en la cual las rutinas de paso de mensajes de nivel bajo, los beneficios de la estandarización son muy notorios. MPI-1 apareció en 1994, el estándar MPI-2 fue lanzado en 1997
![Page 5: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/5.jpg)
Pase de MensajeMPI
Las arquitecturas de Computación paralela pueden verse como una extensión de las arquitecturas convencionales que permiten la cooperación y comunicación entre elementos de procesos. Existen actualmente 2 paradigmas en las arquitecturas de computación paralela:
ParadigmasArquitecturaProgramación Comunicación
![Page 6: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/6.jpg)
Pase de MensajeMPI
Respecto al modelo de programación existe hoy en día 3 paradigmas principales
Modelo de memoria Compartida
ParalelizacionDe datos
Modelo Pase deMensaje
![Page 7: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/7.jpg)
Que es MPI
•La Interfaz de Paso de Mensajes (conocido ampliamente como MPI, siglas en inglés de Message Passing Interface) es un protocolo de comunicación entre computadoras.
•Es el estándar para la comunicación entre los nodos que ejecutan un programa en un sistema de memoria distribuida.
• Las implementaciones en MPI consisten en un conjunto de bibliotecas de rutinas que pueden ser utilizadas en programas escritos en los lenguajes de programación C, C++, Fortran y Ada java etc
![Page 8: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/8.jpg)
Objetivo Principal
•El objetivo principal de MPI es logar la portabilidad a través de diferentes máquinas, tratando de obtener un lenguaje de programación que permita ejecutar de manera transparente, aplicaciones sobre sistemas heterogéneos.
![Page 9: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/9.jpg)
Biblioteca de Pase de Mensajes Java
![Page 10: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/10.jpg)
Bibliotecas
![Page 11: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/11.jpg)
Ventajas
•La escalabilidad. Las computadoras con sistemas de memoria distribuida son fáciles de escalar, mientras que la demanda de los recursos crece, se puede agregar más memoria y procesadores.
•La ventaja de MPI sobre otras bibliotecas de paso de mensajes, es que los programas que utilizan la biblioteca son portables (dado que MPI ha sido implementado para casi toda arquitectura de memoria distribuida), y rápidos, (porque cada implementación de la librería ha sido optimizada para el
hardware en la cual se ejecuta).
![Page 12: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/12.jpg)
Desventajas
•El acceso remoto a memoria es lento.
•La programación puede ser complicada
![Page 13: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/13.jpg)
Ejemplo
#include <mpi.h> #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char idstr[32]; char buff[128]; int numprocs; int myid; int i; MPI_Status stat;
MPI_Init(&argc,&argv); //sus arg son punteros a las func //main(),argc,argv
// Determino el numero de proceso MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
MPI_Comm_rank(MPI_COMM_WORLD,&myid); //comunicador envia mensajes entre si
![Page 14: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/14.jpg)
Ejemplo
if(myid == 0) { printf("Tenemos %d procesadores\n", numprocs); for(i=1;i<numprocs;i++) {
sprintf(buff, "¡Holaaa %d! ", i); // Regresa el resultadoMPI_Send(buff, 128, MPI_CHAR, i, 0, MPI_COMM_WORLD); } for(i=1;i<numprocs;i++) { // Recive el valor de cada procesoMPI_Recv(buff, 128, MPI_CHAR, i, 0, MPI_COMM_WORLD, &stat); printf("%s\n", buff); } }
![Page 15: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/15.jpg)
Ejemplo
else { // Recive el valor de cada proceso
MPI_Recv(buff, 128, MPI_CHAR, 0, 0, MPI_COMM_WORLD, &stat); sprintf(idstr, "Procesador %d ", myid); strcat(buff, idstr); strcat(buff, "reportandose\n"); // Regresa el resultadoMPI_Send(buff, 128, MPI_CHAR, 0, 0, MPI_COMM_WORLD); } // FInalizaMPI_Finalize(); return 0; }
![Page 16: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/16.jpg)
Trabajos Futuros
![Page 17: Pase de Mensaje MPI Elaborado: Betzaida Romero. Agenda Historia y Evolución Que es MPI Conceptos Ventajas Desventajas Ejemplo Conclusiones](https://reader036.vdocumento.com/reader036/viewer/2022083011/5665b49d1a28abb57c92a9f8/html5/thumbnails/17.jpg)
Conclusiones
•El acceso remoto a memoria es lento.
•La programación puede ser complicada
•Java Puro escaso rendimiento debido a la inicialización costosa RMI
•Falta de rendimiento se agudiza para redes de baja latencia (Myrinet, SCI