Table of Contents
Fetching ...

PASGAL: Parallel And Scalable Graph Algorithm Library

Xiaojun Dong, Yan Gu, Yihan Sun, Letong Wang

TL;DR

PASGAL addresses the challenge of scaling parallel graph processing on large-diameter graphs, where conventional BFS-like methods incur high synchronization overhead proportional to the diameter $D$. It introduces vertical granularity control (VGC) and hash-bag frontier structures to coarsen work and hide scheduling costs, enabling scalable implementations of BFS, SCC, BCC, and SSSP. The key contributions include a redesign of Parallel SCC with $O(n+m)$ work and polylog span, alongside efficient BFS, BCC (via FAST-BCC), and SSSP algorithms all leveraging VGC. Extensive experiments on 22 graphs across diverse domains show PASGAL outperforms state-of-the-art baselines on large-diameter graphs and remains competitive on small-diameter graphs, with substantial speedups over the sequential baseline, highlighting its practical impact for scalable graph analytics.

Abstract

In this paper, we introduce PASGAL (Parallel And Scalable Graph Algorithm Library), a parallel graph library that scales to a variety of graph types, many processors, and large graph sizes. One special focus of PASGAL is the efficiency on \textit{large-diameter graphs}, which is a common challenge for many existing parallel graph processing systems: many existing graph processing systems can be even slower than the standard sequential algorithm on large-diameter graphs due to the lack of parallelism. Such performance degeneration is caused by the high overhead in scheduling and synchronizing threads when traversing the graph in the breadth-first order. The core technique in PASGAL to achieve high parallelism is a technique called \textit{vertical granularity control (VGC)} to hide synchronization overhead, as well as careful redesign of parallel graph algorithms and data structures. In our experiments, we compare PASGAL with state-of-the-art parallel implementations on BFS, SCC, BCC, and SSSP. PASGAL achieves competitive performance on small-diameter graphs compared to the parallel baselines, and is significantly faster on large-diameter graphs.

PASGAL: Parallel And Scalable Graph Algorithm Library

TL;DR

PASGAL addresses the challenge of scaling parallel graph processing on large-diameter graphs, where conventional BFS-like methods incur high synchronization overhead proportional to the diameter . It introduces vertical granularity control (VGC) and hash-bag frontier structures to coarsen work and hide scheduling costs, enabling scalable implementations of BFS, SCC, BCC, and SSSP. The key contributions include a redesign of Parallel SCC with work and polylog span, alongside efficient BFS, BCC (via FAST-BCC), and SSSP algorithms all leveraging VGC. Extensive experiments on 22 graphs across diverse domains show PASGAL outperforms state-of-the-art baselines on large-diameter graphs and remains competitive on small-diameter graphs, with substantial speedups over the sequential baseline, highlighting its practical impact for scalable graph analytics.

Abstract

In this paper, we introduce PASGAL (Parallel And Scalable Graph Algorithm Library), a parallel graph library that scales to a variety of graph types, many processors, and large graph sizes. One special focus of PASGAL is the efficiency on \textit{large-diameter graphs}, which is a common challenge for many existing parallel graph processing systems: many existing graph processing systems can be even slower than the standard sequential algorithm on large-diameter graphs due to the lack of parallelism. Such performance degeneration is caused by the high overhead in scheduling and synchronizing threads when traversing the graph in the breadth-first order. The core technique in PASGAL to achieve high parallelism is a technique called \textit{vertical granularity control (VGC)} to hide synchronization overhead, as well as careful redesign of parallel graph algorithms and data structures. In our experiments, we compare PASGAL with state-of-the-art parallel implementations on BFS, SCC, BCC, and SSSP. PASGAL achieves competitive performance on small-diameter graphs compared to the parallel baselines, and is significantly faster on large-diameter graphs.
Paper Structure (7 sections, 2 figures, 5 tables, 1 algorithm)

This paper contains 7 sections, 2 figures, 5 tables, 1 algorithm.

Figures (2)

  • Figure 1: Speedup on #processors for strongly connected component (SCC) algorithms over Tarjan's algorithm tarjan1972depth (sequential, always 1). The tested algorithms include PASGAL (this paper), GBBS gbbs2021, and Multistep slota2014bfs. We present four graphs of different types. The top two graphs have small diameters and the bottom two have larger diameters.
  • Figure 2: Speedup of parallel algorithms over the standard sequential algorithm. $y$-axis is in log-scale. Bars below 1.0 mean the parallel algorithm is slower than a sequential one. Some bars are invisible because they are close to 1. "N/A": not applicable. "OOM": out-of-memory.