A Greedy Algorithm for Optimally Pipelining a Reduction
Bradley R. Lowery, Julien Langou

TL;DR
This paper introduces two new greedy algorithms for reduction operations in parallel computing, proving optimality under certain models and demonstrating superior practical performance over existing methods.
Contribution
The paper presents novel greedy algorithms for reduction, proving their optimality in specific communication models and showing they outperform existing algorithms in practice.
Findings
Optimality of the greedy algorithm in unidirectional networks under realistic assumptions
The greedy algorithm matches the time complexity of an optimal broadcast in bidirectional networks
Experimental results show the greedy algorithm outperforms state-of-the-art reduction algorithms
Abstract
Collective communications are ubiquitous in parallel applications. We present two new algorithms for performing a reduction. The operation associated with our reduction needs to be associative and commutative. The two algorithms are developed under two different communication models (unidirectional and bidirectional). Both algorithms use a greedy scheduling scheme. For a unidirectional, fully connected network, we prove that our greedy algorithm is optimal when some realistic assumptions are respected. Previous algorithms fit the same assumptions and are only appropriate for some given configurations. Our algorithm is optimal for all configurations. We note that there are some configuration where our greedy algorithm significantly outperform any existing algorithms. This result represents a contribution to the state-of-the art. For a bidirectional, fully connected network, we present a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Distributed systems and fault tolerance
