SMOaaS: a Scalable Matrix Operation as a Service model in Cloud

Matrix operations are fundamental to a wide range of scientific applications such as Graph Theory, Linear Equation System, Image Processing, Geometric Optics, and Probability Analysis. As the workload in these applications has increased, the sizes of matrices involved have also significantly increased. Parallel execution of matrix operations in existing cluster-based systems performs effectively for relatively small matrices but significantly suffers as matrices become larger due to limited resources. Cloud Computing offers scalable resources to handle this limitation; however, the benefits of having access to almost-infinite scalable resources in the Cloud also come with challenges of ensuring time and resource-efficient matrix operations. To the best of our knowledge, there is no specific Cloud service that optimizes the efficiency of matrix operations on Cloud infrastructure. To address this gap and offer convenient service of matrix operations, the paper proposes a novel scalable service framework called Scalable Matrix Operation as a Service. Our framework uses Dynamic Matrix Partition techniques, based on matrix operation and sizes, to achieve efficient work distribution, and scales based on demand to achieve time and resource-efficient operations. The framework also embraces the basic features of security, fault tolerance, and reliability. Experimental results show that the adopted dynamic partitioning technique ensures faster and better performance when compared to the existing static partitioning technique.

[1]  Mahesh Prakash,et al.  SparkCloud: A Cloud-Based Elastic Bushfire Simulation Service , 2018, Remote. Sens..

[2]  David E. Keyes,et al.  Hierarchical Matrix Operations on GPUs: Matrix-Vector Multiplication and Compression , 2019, ACM Trans. Math. Softw..

[3]  M. Fiedler A property of eigenvectors of nonnegative symmetric matrices and its application to graph theory , 1975 .

[4]  Srinivasan Parthasarathy,et al.  Fast Sparse Matrix-Vector Multiplication on GPUs: Implications for Graph Mining , 2011, Proc. VLDB Endow..

[5]  Zhengping Qian,et al.  MadLINQ: large-scale distributed matrix computation for the cloud , 2012, EuroSys '12.

[6]  Nirwan Ansari,et al.  Spark-based large-scale matrix inversion for big data processing , 2016, 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[7]  Alexey L. Lastovetsky,et al.  Column-Based Matrix Partitioning for Parallel Matrix Multiplication on Heterogeneous Processors Based on Functional Performance Models , 2011, Euro-Par Workshops.

[8]  James Demmel,et al.  Matrix factorizations at scale: A comparison of scientific data analytics in spark and C+MPI using three case studies , 2016, 2016 IEEE International Conference on Big Data (Big Data).

[9]  Alexey L. Lastovetsky,et al.  Searching for the Optimal Data Partitioning Shape for Parallel Matrix Matrix Multiplication on 3 Heterogeneous Processors , 2014, 2014 IEEE International Parallel & Distributed Processing Symposium Workshops.

[10]  Alexey Lastovetsky,et al.  Recent Advances in Matrix Partitioning for Parallel Computing on Heterogeneous Platforms , 2019, IEEE Transactions on Parallel and Distributed Systems.

[11]  Vipul Gupta,et al.  OverSketch: Approximate Matrix Multiplication for the Cloud , 2018, 2018 IEEE International Conference on Big Data (Big Data).

[12]  Alexey L. Lastovetsky,et al.  Network‐aware optimization of communications for parallel matrix multiplication on hierarchical HPC platforms , 2016, Concurr. Comput. Pract. Exp..

[13]  Rong Gu,et al.  Efficient large scale distributed matrix computation with spark , 2015, 2015 IEEE International Conference on Big Data (Big Data).

[14]  Srinivasan Parthasarathy,et al.  Fast Sparse Matrix-Vector Multiplication on GPUs for Graph Applications , 2014, SC14: International Conference for High Performance Computing, Networking, Storage and Analysis.

[15]  Jin-Soo Kim,et al.  HAMA: An Efficient Matrix Computation with the MapReduce Framework , 2010, 2010 IEEE Second International Conference on Cloud Computing Technology and Science.

[16]  James Demmel,et al.  Matrix Factorization at Scale: a Comparison of Scientific Data Analytics in Spark and C+MPI Using Three Case Studies , 2016, ArXiv.

[17]  Alexey L. Lastovetsky On Grid-based Matrix Partitioning for Heterogeneous Processors , 2007, Sixth International Symposium on Parallel and Distributed Computing (ISPDC'07).

[18]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[19]  Francisco F. Rivera,et al.  Sparse matrix-vector multiplication on the Single-Chip Cloud Computer many-core processor , 2013, J. Parallel Distributed Comput..

[20]  Alexey Kalinov,et al.  Natural block data decomposition for heterogeneous clusters , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[21]  Jarek Nieplocha,et al.  SRUMMA: a matrix multiplication algorithm suitable for clusters and scalable shared memory systems , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[22]  Shih-Hao Wang,et al.  Scaling Up Matrix Factorization with Cloud Computing for Collaborative Recommendation , 2018, 2018 International Conference on System Science and Engineering (ICSSE).

[23]  Fan Wu,et al.  tpSpMV: A two-phase large-scale sparse matrix-vector multiplication kernel for manycore architectures , 2020, Inf. Sci..

[24]  C. D. Meyer,et al.  Generalized inverses of linear transformations , 1979 .

[25]  Yves Robert,et al.  Partitioning a Square into Rectangles: NP-Completeness and Approximation Algorithms , 2002, Algorithmica.