TL;DR
This paper introduces ForkGraph, a cache-efficient system for processing fork-processing patterns in large graphs, significantly improving performance by optimizing cache reuse and execution strategies on multi-core architectures.
Contribution
ForkGraph is a novel system that enhances cache efficiency and processing speed for FPP in large graphs through partitioning, sequential algorithms, and scheduling strategies.
Findings
ForkGraph achieves up to 100x speedup over existing systems.
Partitioning graphs into LLC-sized blocks improves cache reuse.
Theoretical analysis confirms work efficiency of ForkGraph.
Abstract
As large graph processing emerges, we observe a costly fork-processing pattern (FPP) that is common in many graph algorithms. The unique feature of the FPP is that it launches many independent queries from different source vertices on the same graph. For example, an algorithm in analyzing the network community profile can execute Personalized PageRanks that start from tens of thousands of source vertices at the same time. We study the efficiency of handling FPPs in state-of-the-art graph processing systems on multi-core architectures. We find that those systems suffer from severe cache miss penalty because of the irregular and uncoordinated memory accesses in processing FPPs. In this paper, we propose ForkGraph, a cache-efficient FPP processing system on multi-core architectures. To improve the cache reuse, we divide the graph into partitions each sized of LLC capacity, and 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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
