Next: Portabilidad Frente a Interoperabilidad
Up: Bibliotecas de Programación Paralela
Previous: Parallel Virtual Machine
  Índice General
La interfaz de MPI fue especificada por un comité de unos 40 expertos, provenientes de la investigación y la industria. La razón principal para desarrollar MPI fue que cada fabricante de MPP (Massively Parallel Processor) estaba creando su propia biblioteca de computación paralela y distribuida basada en paso de mensajes, de forma que no sería posible desarrollar aplicaciones paralelas portables entre sistemas.
MPI es una especificación estándar de la interface para una biblioteca de computación paralela y distribuida que cada fabricante de MPP puede implementar, de forma que internamente realicen la implementación aprovechando las características físicas o de programa del sistema.
Así pues, una aplicación desarrollada usando MPI será más rápida que la correspondiente de PVM al ejecutarla en un MPP. Entre las principales características de MPI destacan:
- un ámplio conjunto de rutinas de comunicación punto-a-punto,
- un ámplio conjunto de rutinas de comunicación entre grupos de procesos,
- un contexto de comunicación para el diseño de bibliotecas paralelas,
- la posibilidad de especificar diferentes topologías de comunicación,
- la posibilidad de crear tipos de datos derivados para enviar mensajes que contengan datos no contiguos en memoria,
- existen varias implementaciones de calidad de MPI disponibles (LAM, MPICH, CHIMP),
- existe una implementación de MPI para C++,
- en MPI se puede hacer uso de comunicación asíncrona,
- MPI maneja más eficientemente el paso de mensajes,
- usando MPI se pueden desarrollar aplicaciones más eficientes en MPP y clusters,
- MPI es totalmente portable,
- existe una especificación formal de MPI,
- MPI es un estándar (sus características y comportamiento se acordaron en un foro abierto),
- MPI posee un conjunto de funciones de comunicación más ámplio que el disponible en PVM.
A pesar de que las características anteriores hacen de MPI una fuente más rica de métodos de comunicación que PVM, aún no tiene resueltos ciertas cuestiones como son:
- la creación de aplicaciones tolerantes a fallos,
- la operación entre implementaciones de una misma aplicación utilizando diferentes implementaciones de MPI,
- la determinación dinámica de recursos disponibles en el sistema.
Next: Portabilidad Frente a Interoperabilidad
Up: Bibliotecas de Programación Paralela
Previous: Parallel Virtual Machine
  Índice General
Francisco Javier Garcia Castellano
2000-12-14