Making Caches Work for Graph Analytics
Yunming Zhang, Vladimir Kiriansky, Charith Mendis, Matei Zaharia,, Saman Amarasinghe

TL;DR
This paper introduces cache-aware techniques that significantly improve the performance of large-scale graph analytics by optimizing cache utilization, achieving up to 4x speedups over existing frameworks.
Contribution
It presents two novel, low-overhead cache optimization techniques—frequency-based clustering and CSR segmenting—that enhance graph processing efficiency.
Findings
Up to 4x speedup for PageRank, Label Propagation, and Collaborative Filtering.
2x speedup for Betweenness Centrality.
Techniques are easy to implement on existing frameworks.
Abstract
Modern hardware systems are heavily underutilized when running large-scale graph applications. While many in-memory graph frameworks have made substantial progress in optimizing these applications, we show that it is still possible to achieve up to 4 speedups over the fastest frameworks by greatly improving cache utilization. Previous systems have applied out-of-core processing techniques from the memory/disk boundary to the cache/DRAM boundary. However, we find that blindly applying such techniques is ineffective because of the much smaller performance gap between DRAM and cache. We present two techniques that take advantage of the cache with minimal or no instruction overhead. The first, frequency based clustering, groups together frequently accessed vertices to improve the utilization of each cache line with no runtime overhead. The second, CSR segmenting, partitions the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGraph Theory and Algorithms · Advanced Graph Neural Networks · Cloud Computing and Resource Management
