Connected components is a fundamental kernel in graph applications. The fastest existing parallel multicore algorithms for connectivity are based on some form of edge sampling and/or linking and compressing trees. However, many combinations of these design choices have been left unexplored. In this paper, we design the ConnectIt framework, which provides different sampling strategies as well as various tree linking and compression schemes. ConnectIt enables us to obtain several hundred new variants of connectivity algorithms, most of which extend to computing spanning forest. In addition to static graphs, we also extend ConnectIt to support mixes of insertions and connectivity queries in the concurrent setting. We present an experimental evaluation of ConnectIt on a 72-core machine, which we believe is the most comprehensive evaluation of parallel connectivity algorithms to date. Compared to a collection of state-of-the-art static multicore algorithms, we obtain an average speedup of 12.4x (2.36x average speedup over the fastest existing implementation for each graph). Using ConnectIt, we are able to compute connectivity on the largest publicly-available graph (with over 3.5 billion vertices and 128 billion edges) in under 10 seconds using a 72-core machine, providing a 3.1x speedup over the fastest existing connectivity result for this graph, in any computational setting. For our incremental algorithms, we show that our algorithms can ingest graph updates at up to several billion edges per second. To guide the user in selecting the best variants in ConnectIt for different situations, we provide a detailed analysis of the different strategies. Finally, we show how the techniques in ConnectIt can be used to speed up two important graph applications: approximate minimum spanning forest and SCAN clustering.
翻译:连接的组件是图形应用程序中的基本内核。 连接的当前速度最快的平行多核心算法基于某种形式的边缘抽样和(或)连接和压缩树。 但是, 这些设计选择的许多组合还没有被探索。 在本文中, 我们设计了“ 连接It” 框架, 它提供了不同的取样策略以及各种树链接和压缩计划。 连接 使我们能够获得数百种新的连接算法新变量, 其中多数都延伸到计算横贯森林的计算。 除了静态图形外, 我们还扩展“ 连接It”, 以支持同时设置中的插入和连接查询组合。 我们在72个核心机器上展示了“ 连接It” 的实验性评估, 我们认为这是对平行连接算法的最为全面的评估。 比较了“ TrinkItIt” 框架, 它提供了不同的取样策略, 与目前每个图表中最快速的算法相比, 我们的平均速度速度增长。 使用“ 连接ItrealIT” 可以在两个最大的公开图表上进行互连通( 超过35亿个顶的“ ” 和“ liver liver” 分析, 在1010亿“x” 中提供我们最新的快速的“ 的“我们” 显示” 的“我们当前图表” 显示一个最接近的“Sqolorlevorlational’x” 的计算” 显示” 。 在10秒钟中, 显示一个最接近的计算结果, 。 。