Programación Paralela con Paso de Mensajes
La programación paralela con paso de mensajes coordina procesos en máquinas de memoria distribuida mediante comunicación explícita, siendo el modelo dominante para la computación de alto rendimiento a gran escala.
Definition
En la programación paralela con paso de mensajes, cada proceso tiene su propia memoria privada y los procesos cooperan únicamente enviando y recibiendo mensajes; la Interfaz de Paso de Mensajes (MPI) es la biblioteca estándar que proporciona primitivas de comunicación punto a punto y colectivas para este modelo.
Scope
Este tema cubre el paradigma de paso de mensajes para computadoras paralelas de memoria distribuida: operaciones de envío/recepción punto a punto y sus variantes de bloqueo y no bloqueo, operaciones colectivas (difusión, dispersión/recolección, reducción, todo a todo), grupos de procesos y comunicadores, y el estándar de facto MPI. También cubre modelos de costos estructurados como el modelo Bulk Synchronous Parallel (BSP) que guían el diseño de algoritmos y el razonamiento sobre el rendimiento.
Core questions
- ¿Cómo se particionan los cálculos entre procesos de memoria distribuida que no comparten espacio de direcciones?
- ¿Cuándo deberían las operaciones colectivas reemplazar la comunicación explícita punto a punto?
- ¿Cómo se puede modelar y minimizar el costo de comunicación de un algoritmo paralelo?
Key theories
- Comunicación punto a punto y colectiva
- MPI estructura la computación paralela en torno a mensajes explícitos entre procesos y patrones colectivos optimizados —difusiones, reducciones y recolecciones— cuyas implementaciones eficientes son fundamentales para programas escalables de memoria distribuida.
- Modelo Bulk Synchronous Parallel
- El modelo BSP estructura la computación en superpasos de computación local, comunicación y sincronización de barrera, proporcionando un modelo de costos claro que une el diseño de algoritmos y el hardware de paso de mensajes.
- Diseño de algoritmos conscientes de la comunicación
- Dado que la comunicación a menudo domina el costo en máquinas de memoria distribuida, los algoritmos paralelos se diseñan y analizan para minimizar el volumen y la latencia de los mensajes, equilibrando la computación con la comunicación.
Clinical relevance
MPI es la columna vertebral de la simulación científica en supercomputadoras —modelado climático, dinámica de fluidos computacional, dinámica molecular— y de cualquier cálculo que deba escalarse a través de los muchos nodos de memoria distribuida de un clúster.
History
El modelo BSP de Valiant de 1990 proporcionó una abstracción puente para la computación paralela; el Foro MPI estandarizó el paso de mensajes en 1994, y las sucesivas versiones de MPI, junto con los textos de referencia de Gropp, Snir, Dongarra y sus colegas, lo convirtieron en la lingua franca de la computación de alto rendimiento.
Key figures
- William Gropp
- Jack Dongarra
- Marc Snir
- Leslie Valiant
Related topics
Seminal works
- gropp2014
- valiant1990
- snir1998
Frequently asked questions
- ¿Por qué se prefiere el paso de mensajes para máquinas paralelas muy grandes?
- Las grandes computadoras paralelas tienen memoria físicamente distribuida: no existe una única memoria compartida que escalar. El paso de mensajes se ajusta directamente a este hardware y obliga al programador a gestionar explícitamente la localidad de los datos, lo que permite escalar a miles o millones de núcleos.