Title :
MatrixMap: Programming Abstraction and Implementation of Matrix Computation for Big Data Applications
Author :
Yaguang Huangfu;Jiannong Cao;Hongliang Lu;Guanqing Liang
Author_Institution :
Dept. of Comput., Hong Kong Polytech. Univ., Hong Kong, China
Abstract :
The computation core of many big data applications can be expressed as general matrix computations, including linear algebra operations and irregular matrix operations. However, existing parallel programming systems such as Spark do not have programming abstraction and efficient implementation for general matrix computations. In this paper, we present MatrixMap, a unified and efficient data-parallel system for general matrix computations. MatrixMap provides powerful yet simple abstraction, consisting of a distributed data structure called bulk key matrix and a computation interface defined by matrix patterns. Users can easily load data into bulk key matrices and program algorithms into parallel matrix patterns. MatrixMap outperforms current state-of-the-art systems by employing three key techniques: matrix patterns with lambda functions for irregular and linear algebra matrix operations, asynchronous computation pipeline with optimized data shuffling strategies for specific matrix patterns and in-memory data structure reusing data in iterations. Moreover, it can automatically handle the parallelization and distribute execution of programs on a large cluster. The experiment results show that MatrixMap is 12 times faster than Spark.
Keywords :
"Data structures","Programming","Linear algebra","Machine learning algorithms","Sparks","Sparse matrices","Computational modeling"
Conference_Titel :
Parallel and Distributed Systems (ICPADS), 2015 IEEE 21st International Conference on
Electronic_ISBN :
1521-9097
DOI :
10.1109/ICPADS.2015.11