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(并行可扩展图算法库),这是一个可适应多种图类型、多处理器及大规模图尺寸的并行图库。PASGAL的一个特别关注点在于对大直径图的处理效率——这是许多现有并行图处理系统面临的共同挑战:由于缺乏并行性,许多现有图处理系统在大直径图上的处理速度甚至可能低于标准串行算法。这种性能退化源于按广度优先顺序遍历图时空闲的线程调度与同步开销。PASGAL实现高并行度的核心技术称为垂直粒度控制(VGC),用以隐藏同步开销,同时辅以对并行图算法与数据结构的精心重构。在实验中,我们将PASGAL与BFS、SCC、BCC及SSSP等最先进的并行实现进行对比。结果表明:PASGAL在小直径图上与并行基准实现性能相当,而在大直径图上则显著更快。