Prague: High-Performance Heterogeneity-Aware Asynchronous Decentralized Training
Authors:
Open Access
- 9 March 2020
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 401-416
Abstract
Distributed deep learning training usually adopts All-Reduce as the synchronization mechanism for data parallel algorithms due to its high performance in homogeneous environment. However, its performance is bounded by the slowest worker among all workers. For this reason, it is significantly slower in heterogeneous settings. AD-PSGD, a newly proposed synchronization method which provides numerically fast convergence and heterogeneity tolerance, suffers from deadlock issues and high synchronization overhead. Is it possible to get the best of both worlds --- designing a distributed training method that has both high performance like All-Reduce in homogeneous environment and good heterogeneity tolerance like AD-PSGD? In this paper, we propose Prague, a high-performance heterogeneity-aware asynchronous decentralized training approach. We achieve the above goal with intensive synchronization optimization by exploring the interplay between algorithm and system implementation, or statistical and hardware efficiency. To reduce synchronization cost, we propose a novel communication primitive, Partial All-Reduce, that enables fast synchronization among a group of workers. To reduce serialization cost, we propose static group scheduling in homogeneous environment and simple techniques, i.e., Group Buffer and Group Division, to largely eliminate conflicts with slightly reduced randomness. Our experiments show that in homogeneous environment, Prague is 1.2x faster than the state-of-the-art implementation of All-Reduce, 5.3x faster than Parameter Server and 3.7x faster than AD-PSGD. In a heterogeneous setting, Prague tolerates slowdowns well and achieves 4.4x speedup over All-Reduce.Keywords
Funding Information
- National Science Foundation (CCF-1657333 CCF-1717754 CNS-1717984 CCF-1750656 CCF-1919289)
This publication has 26 references indexed in Scilit:
- Mastering the game of Go with deep neural networks and tree searchNature, 2016
- Petuum2015
- Going deeper with convolutions2015
- ImageNet Large Scale Visual Recognition ChallengeInternational Journal of Computer Vision, 2015
- Scaling Distributed Machine Learning with the Parameter Server2014
- DimmWittedProceedings of the VLDB Endowment, 2014
- The tail at scaleCommunications of the ACM, 2013
- Bandwidth optimal all-reduce algorithms for clusters of workstationsJournal of Parallel and Distributed Computing, 2009
- Expander graphs and their applicationsBulletin of the American Mathematical Society, 2006
- Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation2004