Interfaz de paso de mensajes


La interfaz de paso de mensajes ( MPI ) es un estándar de paso de mensajes estandarizado y portátil diseñado para funcionar en arquitecturas informáticas paralelas . El estándar MPI define la sintaxis y la semántica de las rutinas de la biblioteca que son útiles para una amplia gama de usuarios que escriben programas portátiles de paso de mensajes en C , C++ y Fortran . Hay varias implementaciones de MPI de código abierto , que fomentaron el desarrollo de una industria de software paralelay alentó el desarrollo de aplicaciones paralelas a gran escala portátiles y escalables.

El esfuerzo de la interfaz de paso de mensajes comenzó en el verano de 1991, cuando un pequeño grupo de investigadores inició discusiones en un refugio de montaña en Austria. De esa discusión surgió un taller sobre estándares para el paso de mensajes en un entorno de memoria distribuida, que se llevó a cabo el 29 y 30 de abril de 1992 en Williamsburg, Virginia . [1] Los asistentes a Williamsburg discutieron las características básicas esenciales para una interfaz de paso de mensajes estándar y establecieron un grupo de trabajo para continuar con el proceso de estandarización. Jack Dongarra , Tony Hey, y David W. Walker presentaron un borrador de propuesta preliminar, "MPI1", en noviembre de 1992. En noviembre de 1992 se llevó a cabo una reunión del grupo de trabajo de MPI en Minneapolis y se decidió colocar el proceso de estandarización sobre una base más formal. El grupo de trabajo de MPI se reunió cada 6 semanas durante los primeros 9 meses de 1993. El borrador del estándar MPI se presentó en la conferencia Supercomputing '93 en noviembre de 1993. [2] Después de un período de comentarios públicos, que resultó en algunos cambios en MPI, la versión 1.0 de MPI se lanzó en junio de 1994. Estas reuniones y el debate por correo electrónico juntos constituyeron el Foro MPI, cuya membresía ha estado abierta a todos los miembros de la comunidad de computación de alto rendimiento .

El esfuerzo de MPI involucró a unas 80 personas de 40 organizaciones, principalmente en los Estados Unidos y Europa. La mayoría de los principales proveedores de computadoras concurrentes participaron en el esfuerzo de MPI, colaborando con investigadores de universidades, laboratorios gubernamentales y la industria .

MPI proporciona a los proveedores de hardware paralelos un conjunto básico de rutinas claramente definido que se puede implementar de manera eficiente. Como resultado, los proveedores de hardware pueden aprovechar esta colección de rutinas estándar de bajo nivel para crear rutinas de alto nivel para el entorno de comunicación de memoria distribuida suministrado con sus máquinas paralelas . MPI proporciona una interfaz portátil fácil de usar para el usuario básico, pero lo suficientemente potente como para permitir a los programadores utilizar las operaciones de paso de mensajes de alto rendimiento disponibles en máquinas avanzadas.

En un esfuerzo por crear un estándar universal para el paso de mensajes, los investigadores no lo basaron en un solo sistema, sino que incorporaron las características más útiles de varios sistemas, incluidos los diseñados por IBM, Intel , nCUBE , PVM, Express, P4 y PARMACS. . El paradigma de paso de mensajes es atractivo debido a su amplia portabilidad y se puede utilizar en comunicaciones para multiprocesadores de memoria distribuida y memoria compartida, redes de estaciones de trabajo y una combinación de estos elementos. El paradigma se puede aplicar en múltiples configuraciones, independientemente de la velocidad de la red o la arquitectura de la memoria.

El apoyo para las reuniones de MPI provino en parte de DARPA y de la Fundación Nacional de Ciencias de EE. UU. (NSF) bajo la subvención ASC-9310330, el acuerdo cooperativo del Centro de ciencia y tecnología de NSF número CCR-8809615, y de la Comisión Europea a través del Proyecto Esprit P6643. La Universidad de Tennessee también hizo contribuciones financieras al Foro MPI.