论文标题

混合MPI+MPI代码中的集体:设计,实践和性能

Collectives in hybrid MPI+MPI code: design, practice and performance

论文作者

Zhou, Huan, Gracia, Jose, Zhou, Naweiluo, Schneider, Ralf

论文摘要

使用节点间并行性的消息传递编程模型和节点级并行性的共享存储器编程模型的使用混合方案的使用已广泛传播。有关混合消息传递接口(MPI)以及开放多处理(OpenMP)编程帐户的现有广泛实践。然而,需要强大的编程工作才能从MPI+OpenMP代码中获得绩效收益。结合MPI和MPI共享存储器模型(MPI+MPI)的新兴混合方法是有希望的。但是,编写有效的混合MPI+MPI计划(尤其是在涉及集体沟通操作的情况下),不要被视为理所当然。 在本文中,我们提出了一种新的设计方法,以实现基于上下文的集体通信操作。我们的方法避免了纯MPI中语义要求所需的节点内存复制(节点通信开销)。我们还提供包装器原始图,以隐藏用户的所有设计细节,其中包括有关如何与这些原语结构混合MPI+MPI代码的实践。微基准表明,我们的集体与纯MPI背景下的集体相当或优越。通过与纯MPI和Hybrid MPI+OpenMP模型相比,我们进一步验证了混合MPI+MPI模型(使用我们的包装器原始素)的有效性。

The use of hybrid scheme combining the message passing programming models for inter-node parallelism and the shared memory programming models for node-level parallelism is widely spread. Existing extensive practices on hybrid Message Passing Interface (MPI) plus Open Multi-Processing (OpenMP) programming account for its popularity. Nevertheless, strong programming efforts are required to gain performance benefits from the MPI+OpenMP code. An emerging hybrid method that combines MPI and the MPI shared memory model (MPI+MPI) is promising. However, writing an efficient hybrid MPI+MPI program -- especially when the collective communication operations are involved -- is not to be taken for granted. In this paper, we propose a new design method to implement hybrid MPI+MPI context-based collective communication operations. Our method avoids on-node memory replications (on-node communication overheads) that are required by semantics in pure MPI. We also offer wrapper primitives hiding all the design details from users, which comes with practices on how to structure hybrid MPI+MPI code with these primitives. The micro-benchmarks show that our collectives are comparable or superior to those in pure MPI context. We have further validated the effectiveness of the hybrid MPI+MPI model (which uses our wrapper primitives) in three computational kernels, by comparison to the pure MPI and hybrid MPI+OpenMP models.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源