Title
Anatomy of machine learning algorithm implementations in MPI, Spark, and Flink
Abstract
AbstractWith the ever-increasing need to analyze large amounts of data to get useful insights, it is essential to develop complex parallel machine learning algorithms that can scale with data and number of parallel processes. These algorithms need to run on large data sets as well as they need to be executed with minimal time in order to extract useful information in a time-constrained environment. Message passing interface MPI is a widely used model for developing such algorithms in high-performance computing paradigm, while Apache Spark and Apache Flink are emerging as big data platforms for large-scale parallel machine learning. Even though these big data frameworks are designed differently, they follow the data flow model for execution and user APIs. Data flow model offers fundamentally different capabilities than the MPI execution model, but the same type of parallelism can be used in applications developed in both models. This article presents three distinct machine learning algorithms implemented in MPI, Spark, and Flink and compares their performance and identifies strengths and weaknesses in each platform.
Year
DOI
Venue
2018
10.1177/1094342017712976
Periodicals
Keywords
Field
DocType
Machine learning, Big Data, HPC, MDS, MPI, Spark, Flink, K-means, Terasort
Data set,Spark (mathematics),Computer science,Theoretical computer science,Implementation,Message Passing Interface,Artificial intelligence,k-means clustering,Parallel computing,Algorithm,Execution model,Strengths and weaknesses,Big data,Machine learning
Journal
Volume
Issue
ISSN
32
1
1094-3420
Citations 
PageRank 
References 
5
0.52
18
Authors
4
Name
Order
Citations
PageRank
Supun Kamburugamuve1759.21
Pulasthi Wickramasinghe250.52
Saliya Ekanayake3909.34
Geoffrey Fox44070575.38