Biconnectivity is one of the most fundamental graph problems. The canonical parallel biconnectivity algorithm is the Tarjan-Vishkin algorithm, which has $O(n+m)$ optimal work (number of operations) and polylogarithmic span (longest dependent operations) 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 generates an auxiliary graph with $O(m)$ edges). 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 even slower than the sequential algorithm on many real-world graphs. We propose the first parallel biconnectivity algorithm (FAST-BCC) that has optimal work, polylogarithmic span, and is space-efficient. Our algorithm first generates 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. All the steps in our algorithm are highly-parallel. 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 ran them on a 96-core machine on 27 graphs, including social, web, road, $k$-NN, and synthetic graphs, with significantly varying sizes and edge distributions. FAST-BCC is the fastest on all 27 graphs. On average (geometric means), FAST-BCC is 5.1$\times$ faster than GBBS, and 3.1$\times$ faster than the best existing baseline on each graph.


翻译:双连通分量是最基础的图论问题之一。经典的并行双连通分量算法是Tarjan-Vishkin算法,该算法在具有$n$个顶点和$m$条边的图上具有$O(n+m)$的最优工作量(操作数量)和多对数跨度(最长依赖操作序列)。然而,Tarjan-Vishkin算法在实践中并未被广泛采用。我们认为其原因在于空间效率低下(它会生成一个包含$O(m)$条边的辅助图)。在实践中,现有的并行实现基于广度优先搜索(BFS)。由于BFS的跨度与图的直径成正比,现有的并行双连通分量实现在大直径图上性能较差,在许多实际应用图上甚至可能比串行算法更慢。我们提出了首个具有最优工作量、多对数跨度且空间高效的并行双连通分量算法(FAST-BCC)。我们的算法首先基于输入图的任意生成树生成骨架图,然后利用骨架图的连通性信息计算原始输入图的双连通分量。算法中的所有步骤都具有高度并行性。我们细致地分析了算法的正确性,这一证明过程具有高度复杂性。我们实现了FAST-BCC算法,并与现有实现(包括GBBS、Slota和Madduri算法以及串行Hopcroft-Tarjan算法)进行了比较。我们在配备96核的机器上对27个图进行了测试,这些图包括社交网络、网页链接、道路网络、$k$近邻图和合成图,其规模和边分布差异显著。FAST-BCC在所有27个图上均表现最快。平均而言(几何平均数),FAST-BCC比GBBS快5.1倍,比每个图上现有的最佳基准算法快3.1倍。

0
下载
关闭预览

相关内容

在数学和计算机科学之中,算法(Algorithm)为一个计算的具体步骤,常用于计算、数据处理和自动推理。精确而言,算法是一个表示为有限长列表的有效方法。算法应包含清晰定义的指令用于计算函数。 来自维基百科: 算法
【2023新书】并行算法,Parallel Algorithms ,400页pdf
专知会员服务
72+阅读 · 2023年8月6日
最全综述 | 图像分割算法
计算机视觉life
14+阅读 · 2019年6月20日
基于数据的分布式鲁棒优化算法及其应用【附PPT与视频资料】
人工智能前沿讲习班
27+阅读 · 2018年12月13日
最新|深度离散哈希算法,可用于图像检索!
全球人工智能
14+阅读 · 2017年12月15日
并行算法演进,从MapReduce到MPI
凡人机器学习
10+阅读 · 2017年11月5日
国家自然科学基金
3+阅读 · 2017年12月31日
国家自然科学基金
0+阅读 · 2017年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2014年12月31日
VIP会员
相关VIP内容
【2023新书】并行算法,Parallel Algorithms ,400页pdf
专知会员服务
72+阅读 · 2023年8月6日
相关基金
国家自然科学基金
3+阅读 · 2017年12月31日
国家自然科学基金
0+阅读 · 2017年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
8+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员