Ring allreduce achieves more scalable synchronous SGD training than parameter-server or peer-to-peer architectures because its per-step communication cost is nearly independent of worker count.
Understanding and Optimizing the Performance of Distributed Machine Learning Applications on Apache Spark
1 Pith paper cite this work. Polarity classification is still indexing.
abstract
In this paper we explore the performance limits of Apache Spark for machine learning applications. We begin by analyzing the characteristics of a state-of-the-art distributed machine learning algorithm implemented in Spark and compare it to an equivalent reference implementation using the high performance computing framework MPI. We identify critical bottlenecks of the Spark framework and carefully study their implications on the performance of the algorithm. In order to improve Spark performance we then propose a number of practical techniques to alleviate some of its overheads. However, optimizing computational efficiency and framework related overheads is not the only key to performance -- we demonstrate that in order to get the best performance out of any implementation it is necessary to carefully tune the algorithm to the respective trade-off between computation time and communication latency. The optimal trade-off depends on both the properties of the distributed algorithm as well as infrastructure and framework-related characteristics. Finally, we apply these technical and algorithmic optimizations to three different distributed linear machine learning algorithms that have been implemented in Spark. We present results using five large datasets and demonstrate that by using the proposed optimizations, we can achieve a reduction in the performance difference between Spark and MPI from 20x to 2x.
citation-role summary
citation-polarity summary
fields
cs.DC 1years
2019 1verdicts
REJECT 1roles
background 1polarities
support 1representative citing papers
citing papers explorer
-
Performance Analysis and Comparison of Distributed Machine Learning Systems
Ring allreduce achieves more scalable synchronous SGD training than parameter-server or peer-to-peer architectures because its per-step communication cost is nearly independent of worker count.