Cache-Friendly Data Layout for Massive Graph
Cache-Friendly Data Layout for Massive Graph
复制标题
DOI:
10.1109/nas.2018.8515737
复制
发表时间:
2018-10
期刊:
影响因子:
--
通讯作者:
Yuxiang Shan;Zhan Shi;D. Feng;Ouyang Mengyun;F. Wang
中科院分区:
文献类型:
--
作者:
Yuxiang Shan;Zhan Shi;D. Feng;Ouyang Mengyun;F. Wang
Storage hierarchy is widely used to mitigate the vast performance gap between different storage components economically, and the cache plays an important role in increasing the efficiency of memory access. However, the in-memory data organization of traditional graph computing framework is not well-optimized for various caches, especially the CPU cache, since classical caches are effectiveless towards irregular access pattern of graph applications. This work presents a cache- friendly graph data layout strategy to improve the efficiency of graph processing. By both considering the parameters of cache line and the pattern of access to adjacent list, we sort the edges to generate a sequential layout, and use BFS (Breadth First Search) algorithm to reorder the vertices for improving locality, thus benefit the CPU cache, without altering the code of graph processing toolkits. The efficiency improvement of Sort layout ranges from 11% up to 78.76% on BGL and SNAP with CC (Connected Components [1]). The BFS layout can benefit 3 classical algorithms on GraphChi: CC, TC (Triangle Counting) and PageRank [2], with the ratios of 15%–20%.