基于更快可达性的并行强连通分量算法
分布式、并行与集群计算
2023-05-16 v2 数据结构与算法
摘要
计算强连通分量(SCC)是图处理中的基本问题。随着当今现实世界图规模日益增大,并行 SCC 愈发重要。SCC 在并行环境下具有挑战性,尤其在大直径图上尤为困难。许多现有并行 SCC 实现在大直径图上甚至慢于 Tarjan 顺序算法。为应对该挑战,我们提出一种高效的并行 SCC 实现,采用一种新的并行可达性算法。我们的方案基于称为垂直粒度控制(VGC)的新颖思想。它打破同步屏障以提升并行度并隐藏调度开销。为在 SCC 算法中使用 VGC,我们还设计了称为并行哈希袋的高效数据结构。它利用并行动态重调大小来避免在维护前沿(一轮中处理的顶点)时的冗余工作。我们使用新的并行可达性算法实现了 Blelloch 等人(J. ACM, 2020)的并行 SCC 算法。我们在 18 个图上(包括社交、网络、k-NN 和晶格图)将我们的实现与最先进系统(包括 GBBS、iSpan、Multi-step 以及我们高度优化的 Tarjan(顺序)算法)进行比较。在 96 核的机器上,我们的实现在 18 个图中的 16 个上最快。在所有图的均值(几何平均)上,我们的 SCC 比此前最佳并行代码(GBBS)快 6.0×,比 Tarjan 顺序算法快 12.8×,比每个图上现有最佳实现快 2.7×。我们相信我们的技术具有独立价值。我们还将并行哈希袋与 VGC 方案应用于其他图问题,包括连通性与最小元素列表(LE-lists)。
引用
@article{arxiv.2303.04934,
title = {Parallel Strong Connectivity Based on Faster Reachability},
author = {Letong Wang and Xiaojun Dong and Yan Gu and Yihan Sun},
journal= {arXiv preprint arXiv:2303.04934},
year = {2023}
}