Cache-efficient fork-processing patterns on large graphs

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 networ...

Full description

Saved in:
Bibliographic Details
Main Authors: LU, Shengliang, SUN, Shixuan, PAUL, Johns, LI, Yuchen, HE, Bingsheng
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2021
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/6136
https://ink.library.smu.edu.sg/context/sis_research/article/7139/viewcontent/3448016.3457253.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-7139
record_format dspace
spelling sg-smu-ink.sis_research-71392021-09-29T12:12:05Z Cache-efficient fork-processing patterns on large graphs LU, Shengliang SUN, Shixuan PAUL, Johns LI, Yuchen HE, Bingsheng 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. 2021-06-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/6136 info:doi/10.1145/3448016.3457253 https://ink.library.smu.edu.sg/context/sis_research/article/7139/viewcontent/3448016.3457253.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Graph Processing Systems Fork-Processing Pattern Concurrent Query Execution Buffered Execution Model Databases and Information Systems Graphics and Human Computer Interfaces
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Graph Processing Systems
Fork-Processing Pattern
Concurrent Query Execution
Buffered Execution Model
Databases and Information Systems
Graphics and Human Computer Interfaces
spellingShingle Graph Processing Systems
Fork-Processing Pattern
Concurrent Query Execution
Buffered Execution Model
Databases and Information Systems
Graphics and Human Computer Interfaces
LU, Shengliang
SUN, Shixuan
PAUL, Johns
LI, Yuchen
HE, Bingsheng
Cache-efficient fork-processing patterns on large graphs
description 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.
format text
author LU, Shengliang
SUN, Shixuan
PAUL, Johns
LI, Yuchen
HE, Bingsheng
author_facet LU, Shengliang
SUN, Shixuan
PAUL, Johns
LI, Yuchen
HE, Bingsheng
author_sort LU, Shengliang
title Cache-efficient fork-processing patterns on large graphs
title_short Cache-efficient fork-processing patterns on large graphs
title_full Cache-efficient fork-processing patterns on large graphs
title_fullStr Cache-efficient fork-processing patterns on large graphs
title_full_unstemmed Cache-efficient fork-processing patterns on large graphs
title_sort cache-efficient fork-processing patterns on large graphs
publisher Institutional Knowledge at Singapore Management University
publishDate 2021
url https://ink.library.smu.edu.sg/sis_research/6136
https://ink.library.smu.edu.sg/context/sis_research/article/7139/viewcontent/3448016.3457253.pdf
_version_ 1770575834901381120