TY - GEN
T1 - Improving Memory Access Locality for Large-Scale Graph Analysis Applications
AU - Cong, Guojing
AU - Makarychev, Konstantin
N1 - Publisher Copyright:
Copyright © (2009) by the International Society for Computers and Their Applications. All rights reserved.
PY - 2009
Y1 - 2009
N2 - Large-scale graph analysis on irregular instances is challenging due to the erratic memory access pattern. Although various techniques have been proposed to improve cache performance, in general they do not apply to algorithms with fine-grained parallelism. Most parallel graph algorithms exhibit poor locality behavior and thus poor cache performance on current architectures. In this paper we present our study of improving spatial locality for graph analysis applications. Our approach is to lay out the graph in a fashion that matches the frequently occurred patterns in parallel graph algorithms. We manipulate the graph layout by permuting the labelings of vertices. We show that the graph layout problem is NP-hard for the traversal pattern, and present performance comparisons of different labeling approaches. We further discuss the impact of labeling on fundamental building blocks of parallel algorithms such as pointer jumping and Euler-tour tree computation. Experimental results show that the labeling technique improves the scalability of the algorithms as a result of more efficient use of memory bandwidth.
AB - Large-scale graph analysis on irregular instances is challenging due to the erratic memory access pattern. Although various techniques have been proposed to improve cache performance, in general they do not apply to algorithms with fine-grained parallelism. Most parallel graph algorithms exhibit poor locality behavior and thus poor cache performance on current architectures. In this paper we present our study of improving spatial locality for graph analysis applications. Our approach is to lay out the graph in a fashion that matches the frequently occurred patterns in parallel graph algorithms. We manipulate the graph layout by permuting the labelings of vertices. We show that the graph layout problem is NP-hard for the traversal pattern, and present performance comparisons of different labeling approaches. We further discuss the impact of labeling on fundamental building blocks of parallel algorithms such as pointer jumping and Euler-tour tree computation. Experimental results show that the labeling technique improves the scalability of the algorithms as a result of more efficient use of memory bandwidth.
KW - Breadth-first Search
KW - Depth-first Search
KW - Locality
KW - Parallel Graph Algorithms
UR - http://www.scopus.com/inward/record.url?scp=83155163606&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:83155163606
T3 - 22nd ISCA International Conference on Parallel and Distributed Computing and Communication Systems 2009, PDCCS 2009
SP - 121
EP - 127
BT - 22nd ISCA International Conference on Parallel and Distributed Computing and Communication Systems 2009, PDCCS 2009
PB - International Society for Computers and Their Applications (ISCA)
T2 - 22nd International Conference on Parallel and Distributed Computing and Communication Systems, PDCCS 2009
Y2 - 24 September 2009 through 26 September 2009
ER -