Efficient processing of large-scale sparse matrix-matrix multiplications on a single machine
- Authors
- Jo, Yong-Yeon; Lee, Kyuhwan; Jang, Myung-Hwan; Kim, Sang-Wook; Songz, Eunjee
- Issue Date
- Dec-2017
- Publisher
- Institute of Electrical and Electronics Engineers Inc.
- Citation
- 2017 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2017, v.2017-January, pp.1908 - 1913
- Indexed
- SCOPUS
- Journal Title
- 2017 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2017
- Volume
- 2017-January
- Start Page
- 1908
- End Page
- 1913
- URI
- https://scholarworks.bwise.kr/hanyang/handle/2021.sw.hanyang/151038
- DOI
- 10.1109/SMC.2017.8122896
- Abstract
- Graphs are very widely used to represent datasets in various real-world applications. Many algorithms dealing with graphs represent them in the form of sparse matrices and process them through sparse matrix operations. Recently, as the size of a graph increases rapidly, a single-machine-based graph engine has emerged as a general framework for effectively performing large-scale sparse matrix operations. Sparse matrices multiplication (SpGEMM) is a core building block for developing a variety of graph algorithms such as all source shortest paths, betweenness centrality, breadth first search from multiple sources, subgraph indexing, and graph construction. This paper addresses how to perform two sparse matrices multiplication (SpGEMM) efficiently on a single-machine-based graph engine. To effectively perform the large-scale SpGEMM, we have two issues: (1) selecting an appropriate type of matrix products (i.e., inner products, outer products, and row-row products), and (2) allocating memory space to matrices according to different types of matrix products. We first formulate the cost models for the three matrix product types by reflecting their characteristics. We observed the commonality in the processes of the matrix multiplication and the join in a relational database. Based on this observation, we propose memory allocation schemes for three matrix products by borrowing the idea of memory allocation employed in join. Finally, we show the effectiveness of our approach via extensive experiments with real-life datasets.
- Files in This Item
-
Go to Link
- Appears in
Collections - 서울 공과대학 > 서울 컴퓨터소프트웨어학부 > 1. Journal Articles
Items in ScholarWorks are protected by copyright, with all rights reserved, unless otherwise indicated.