Provably fast and space-efficient parallel biconnectivity

X Dong, L Wang, Y Gu, Y Sun - Proceedings of the 28th ACM SIGPLAN …, 2023 - dl.acm.org
Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and …, 2023dl.acm.org
Computing biconnected components (BCC) of a graph is a fundamental graph problem. The
canonical parallel BCC algorithm is the Tarjan-Vishkin algorithm, which has O (n+ m)
optimal work and polylogarithmic span on a graph with n vertices and m edges. However,
Tarjan-Vishkin is not widely used in practice. We believe the reason is the space-inefficiency
(it uses O (m) extra space). In practice, existing parallel implementations are based on
breath-first search (BFS). Since BFS has span proportional to the diameter of the graph …
Computing biconnected components (BCC) of a graph is a fundamental graph problem. The canonical parallel BCC algorithm is the Tarjan-Vishkin algorithm, which has O(n + m) optimal work and polylogarithmic span on a graph with n vertices and m edges. However, Tarjan-Vishkin is not widely used in practice. We believe the reason is the space-inefficiency (it uses O(m) extra space). In practice, existing parallel implementations are based on breath-first search (BFS). Since BFS has span proportional to the diameter of the graph, existing parallel BCC implementations suffer from poor performance on large-diameter graphs and can be slower than the sequential algorithm on many real-world graphs.
We propose the first p arallel b iconnectivity algorithm (FAST-BCC) that has optimal work, polylogarithmic span, and is space-efficient. Our algorithm creates a skeleton graph based on any spanning tree of the input graph. Then we use the connectivity information of the skeleton to compute the biconnectivity of the original input. We carefully analyze the correctness of our algorithm, which is highly non-trivial.
We implemented FAST-BCC and compared it with existing implementations, including GBBS, Slota and Madduri's algorithm, and the sequential Hopcroft-Tarjan algorithm. We tested them on a 96-core machine on 27 graphs with varying edge distributions. FAST-BCC is the fastest on all graphs. On average (geometric means), FAST-BCC is 3.1× faster than the best existing baseline on each graph.
ACM Digital Library
以上显示的是最相近的搜索结果。 查看全部搜索结果