ScholarGate
Assistente

Message-Passing Parallel Programming

Message-passing parallel programming coordinates processes on distributed-memory machines by explicit communication, the dominant model for large-scale high-performance computing.

Trova un argomento con PaperMindIn arrivoFind papers & topics
Tools & resources
Scarica le diapositive
Learn & explore
VideoIn arrivo

Definition

In message-passing parallel programming, each process has its own private memory and processes cooperate solely by sending and receiving messages; the Message Passing Interface (MPI) is the standard library that provides point-to-point and collective communication primitives for this model.

Scope

This topic covers the message-passing paradigm for distributed-memory parallel computers: point-to-point send/receive operations and their blocking and non-blocking variants, collective operations (broadcast, scatter/gather, reduction, all-to-all), process groups and communicators, and the de facto MPI standard. It also covers structured cost models such as the Bulk Synchronous Parallel (BSP) model that guide algorithm design and performance reasoning.

Core questions

  • How are computations partitioned across distributed-memory processes that share no address space?
  • When should collective operations replace explicit point-to-point communication?
  • How can the communication cost of a parallel algorithm be modeled and minimized?

Key theories

Point-to-point and collective communication
MPI structures parallel computation around explicit messages between processes and optimized collective patterns—broadcasts, reductions, and gathers—whose efficient implementations are central to scalable distributed-memory programs.
Bulk Synchronous Parallel model
The BSP model structures computation into supersteps of local computation, communication, and barrier synchronization, giving a clean cost model that bridges algorithm design and message-passing hardware.
Communication-aware algorithm design
Because communication often dominates cost on distributed-memory machines, parallel algorithms are designed and analyzed to minimize message volume and latency, balancing computation against communication.

Clinical relevance

MPI is the backbone of scientific simulation on supercomputers—climate modeling, computational fluid dynamics, molecular dynamics—and of any computation that must scale across the many distributed-memory nodes of a cluster.

History

Valiant's 1990 BSP model gave a bridging abstraction for parallel computation; the MPI Forum standardized message passing in 1994, and successive MPI versions plus reference texts by Gropp, Snir, Dongarra, and colleagues made it the lingua franca of high-performance computing.

Key figures

  • William Gropp
  • Jack Dongarra
  • Marc Snir
  • Leslie Valiant

Related topics

Seminal works

  • gropp2014
  • valiant1990
  • snir1998

Frequently asked questions

Why is message passing preferred for very large parallel machines?
Large parallel computers are physically distributed-memory: there is no single shared memory to scale. Message passing matches this hardware directly and forces the programmer to manage data locality explicitly, which is what enables scaling to thousands or millions of cores.

Methods for this concept

Related concepts