ScholarGate
助手

消息传递并行编程

消息传递并行编程通过显式通信协调分布式内存机器上的进程,是大型高性能计算的主导模型。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

在消息传递并行编程中,每个进程都有自己的私有内存,进程仅通过发送和接收消息进行协作;消息传递接口(MPI)是为该模型提供点对点和集体通信原语的标准库。

Scope

本主题涵盖分布式内存并行计算机的消息传递范式:点对点发送/接收操作及其阻塞和非阻塞变体、集体操作(广播、散布/收集、归约、全部到全部)、进程组和通信器,以及事实上的MPI标准。它还涵盖了结构化成本模型,例如批量同步并行(BSP)模型,这些模型指导算法设计和性能推理。

Core questions

  • 计算如何在不共享地址空间的分布式内存进程之间进行分区?
  • 何时应使用集体操作替代显式点对点通信?
  • 如何对并行算法的通信成本进行建模和最小化?

Key theories

点对点和集体通信
MPI围绕进程之间的显式消息和优化的集体模式(广播、归约和收集)构建并行计算,其高效实现对于可扩展的分布式内存程序至关重要。
批量同步并行模型
BSP模型将计算结构化为局部计算、通信和屏障同步的超步,提供了一个清晰的成本模型,连接了算法设计和消息传递硬件。
通信感知算法设计
由于在分布式内存机器上通信通常是主要的成本,因此并行算法的设计和分析旨在最小化消息量和延迟,平衡计算与通信。

Clinical relevance

MPI是超级计算机上科学模拟(气候建模、计算流体动力学、分子动力学)以及任何必须跨集群的许多分布式内存节点进行扩展的计算的支柱。

History

Valiant于1990年提出的BSP模型为并行计算提供了一种桥接抽象;MPI论坛于1994年将消息传递标准化,随后的MPI版本以及Gropp、Snir、Dongarra及其同事的参考文本使其成为高性能计算的通用语言。

Key figures

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

Related topics

Seminal works

  • gropp2014
  • valiant1990
  • snir1998

Frequently asked questions

为什么消息传递更适用于超大型并行机器?
大型并行计算机在物理上是分布式内存的:没有单一的共享内存可以扩展。消息传递直接匹配这种硬件,并强制程序员显式管理数据局部性,这正是实现扩展到数千甚至数百万个核心的关键。

Methods for this concept

Related concepts