English

Node-Aware Improvements to Allreduce

Distributed, Parallel, and Cluster Computing 2019-10-23 v1

Abstract

The \texttt{MPI\_Allreduce} collective operation is a core kernel of many parallel codebases, particularly for reductions over a single value per process. The commonly used allreduce recursive-doubling algorithm obtains the lower bound message count, yielding optimality for small reduction sizes based on node-agnostic performance models. However, this algorithm yields duplicate messages between sets of nodes. Node-aware optimizations in MPICH remove duplicate messages through use of a single master process per node, yielding a large number of inactive processes at each inter-node step. In this paper, we present an algorithm that uses the multiple processes available per node to reduce the maximum number of inter-node messages communicated by a single process, improving the performance of allreduce operations, particularly for small message sizes.

Keywords

Cite

@article{arxiv.1910.09650,
  title  = {Node-Aware Improvements to Allreduce},
  author = {Amanda Bienz and Luke N. Olson and William D. Gropp},
  journal= {arXiv preprint arXiv:1910.09650},
  year   = {2019}
}

Comments

10 pages, 11 figures, ExaMPI Workshop at SC19

R2 v1 2026-06-23T11:50:34.812Z