2017 IEEE International Conference on Big Data (Big Data) 2017
DOI: 10.1109/bigdata.2017.8257942
|View full text |Cite
|
Sign up to set email alerts
|

Understanding and optimizing the performance of distributed machine learning applications on apache spark

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 propo… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 8 publications
(5 citation statements)
references
References 4 publications
0
5
0
Order By: Relevance
“…Several research efforts for distributed learning of neural networks have been conducted based on Apache Spark. Dunner et al [ 33 ] proposed practical techniques to achieve the best performance in Apache Spark, targeting any distributed algorithms and infrastructures. Zhao et al [ 34 ] proposed a scalable stochastic optimization method on Apache Spark that achieves both computation and communication efficiency.…”
Section: Related Workmentioning
confidence: 99%
“…Several research efforts for distributed learning of neural networks have been conducted based on Apache Spark. Dunner et al [ 33 ] proposed practical techniques to achieve the best performance in Apache Spark, targeting any distributed algorithms and infrastructures. Zhao et al [ 34 ] proposed a scalable stochastic optimization method on Apache Spark that achieves both computation and communication efficiency.…”
Section: Related Workmentioning
confidence: 99%
“…On the contrary, frameworks like MPI (Message Passing Interface) would likely need more complex hand-code and fine tuning (e.g. manually setting chunking size, worker task and their synchronization), and require programming skills that are often well beyond competences of most computational scientists and researchers Dunner et al (2017).…”
Section: Multiple Node Experimentationmentioning
confidence: 99%
“…Apache Spark introduces a number of additional layers into the software stack and thus a number of associated overheads. For this reason, we typically observe that the performance of the Spark-based deployments of Snap ML are slower than those using MPI [6].…”
Section: Software Architecturementioning
confidence: 99%
“…It provides distributed training of a variety of machine learning models and provides easy-to-use APIs in Java, Scala and Python. It does not natively support GPU acceleration, and while it can leverage underlying native libraries such as BLAS, it tends to exhibit slower performance relative to the same distributed algorithms implemented natively in C++ using high-performance computing frameworks such as MPI [6].…”
Section: Introductionmentioning
confidence: 99%