Cache-Efficient Fork-Processing Patterns on Large Graphs
Shengliang Lu, Shixuan Sun, Johns Paul, Yuchen Li, Bingsheng He
摘要
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, including Ligra, Gemini, and GraphIt. 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. In order to improve the cache reuse, we divide the graph into partitions each sized of LLC (last-level cache) capacity, and the queries in an FPP are buffered and executed on the partition basis. We further develop efficient intra- and inter-partition execution strategies for efficiency. For intra-partition processing, since the graph partition fits into LLC, we propose to execute each graph query with efficient sequential algorithms (in contrast with parallel algorithms in existing parallel graph processing systems) and present an atomic-free query processing method by consolidating contending operations to cache-resident graph partition. For inter-partition processing, we propose two designs, yielding and priority-based scheduling, to reduce redundant work in processing. Besides, we theoretically prove that ForkGraph performs the same amount of work, to within a constant factor, as the fastest known sequential algorithms in FPP queries processing, which is work efficient. Our evaluations on real-world graphs show that ForkGraph significantly outperforms state-of-the-art graph processing systems (including Ligra, Gemini, and GraphIt) with two orders of magnitude speedups.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper6
- ThunderRW: An In-Memory Graph Random Walk EngineShixuan Sun, Yuhang Chen, Shengliang Lu, Bingsheng He 等VLDB 2021 · 被引用 31 次
- CoroGraph: Bridging Cache Efficiency and Work Efficiency for Graph Algorithm ExecutionXiangyu Zhi, Xiao Yan, Bo Tang, Ziyao Yin 等VLDB 2024 · 被引用 12 次
- MITra: A Framework for Multi-Instance Graph TraversalJia Li, Wenyue Zhao, Nikos Ntarmos, Yang Cao 等VLDB 2023 · 被引用 7 次
- ACGraph: An Efficient Asynchronous Out-of-Core Graph Processing FrameworkDechuang Chen, Sibo Wang, Qintian GuoSIGMOD 2026 · 被引用 3 次
- LightTraffic: On Optimizing CPU-GPU Data Traffic for Efficient Large-scale Random WalksYipeng Xing, Yongkun Li, Zhiqiang Wang, Yinlong Xu 等ICDE 2023 · 被引用 3 次
它引用的顶会 Paper3
- Traversing Large Graphs on GPUs with Unified MemoryPrasun Gera, Hyojong Kim, Piyush Sao, Hyesoon Kim 等VLDB 2020 · 被引用 58 次
- Practical parallel hypergraph algorithmsJulian ShunPPoPP 2020 · 被引用 48 次
- ConnectIt: A Framework for Static and Incremental Parallel Graph Connectivity AlgorithmsLaxman Dhulipala, Changwan Hong, Julian ShunVLDB 2021 · 被引用 41 次
相关 Paper
- LCCG: a locality-centric hardware accelerator for high throughput of concurrent graph processingJin Zhao, Yu Zhang, Xiaofei Liao, Ligang He 等SC 2021 · 被引用 8 次
- Large-Scale Graph Processing on FPGAs with Caches for Thousands of Simultaneous MissesMikhail Asiatici, Paolo IenneISCA 2021 · 被引用 28 次
- PairGraph: An Efficient Search-space-aware Accelerator for High-performance Concurrent Pairwise QueriesYutao Fu, Zhongtian Long, Yu Zhang, Zirui He 等DAC 2025 · 被引用 1 次
- An Efficient Memoization Engine for Concurrent Graph Query ProcessingSen Gao, Shengliang Lu, Shixuan Sun, Yuchen Li 等ICDE 2025 · 被引用 1 次
- vGraph: Memory-Efficient Multicore Graph Processing for Traversal-Centric AlgorithmsMenghan Jia, Yiming Zhang, Xinbiao Gan, Dongsheng Li 等SC 2022 · 被引用 1 次
