Improving efficiency of parallel vertex-centric algorithms for irregular graphs

Date
2019
Advisor
Instructor
Source Title
IEEE Transactions on Parallel and Distributed Systems
Print ISSN
1045-9219
Electronic ISSN
Publisher
IEEE Computer Society
Volume
30
Issue
10
Pages
2265 - 2282
Language
English
Type
Article
Journal Title
Journal ISSN
Volume Title
Abstract

Memory access is known to be the main bottleneck for shared-memory parallel graph applications especially for large and irregular graphs. Propagation blocking (PB) idea was proposed recently to improve the parallel performance of PageRank and sparse matrix and vector multiplication operations. The idea is based on separating parallel computation into two phases, binning and accumulation, such that random memory accesses are replaced with contiguous accesses. In this paper, we propose an algorithm that allows execution of these two phases concurrently. We propose several improvements to increase parallel throughput, reduce memory overhead, and improve work efficiency. Our experimental results show that our proposed algorithms improve shared-memory parallel throughput by a factor of up to 2× compared to the original PB algorithms. We also show that the memory overhead can be reduced significantly (from 170 percent down to less than 5 percent) without significant degradation of performance. Finally, we demonstrate that our concurrent execution model allows asynchronous parallel execution, leading to significant work efficiency in addition to throughput improvements.

Course
Other identifiers
Book Title
Keywords
Parallel algorithms, Graph algorithms, Sparse matrix vector multiplication (SpMV), Sparse matrix sparse vector multiplication (SpMSpV), High performance computing
Citation
Published Version (Please cite this version)