Given a large data graph, trimming techniques can reduce the search space by removing vertices without outgoing edges. One application is to speed up the parallel decomposition of graphs into strongly connected components (SCC decomposition), which is a fundamental step for analyzing graphs. We observe that graph trimming is essentially a kind of arc-consistency problem, and AC-3, AC-4, and AC-6 are the most relevant arc-consistency algorithms for application to graph trimming. The existing parallel graph trimming methods require worst-case $\mathcal O(nm)$ time and worst-case $\mathcal O(n)$ space for graphs with $n$ vertices and $m$ edges. We call these parallel AC-3-based as they are much like the AC-3 algorithm. In this work, we propose AC-4-based and AC-6-based trimming methods. That is, AC-4-based trimming has an improved worst-case time of $\mathcal O(n+m)$ but requires worst-case space of $\mathcal O(n+m)$; compared with AC-4-based trimming, AC-6-based has the same worst-case time of $\mathcal O(n+m)$ but an improved worst-case space of $\mathcal O(n)$. We parallelize the AC-4-based and AC-6-based algorithms to be suitable for shared-memory multi-core machines. The algorithms are designed to minimize synchronization overhead. For these algorithms, we also prove the correctness and analyze time complexities with the work-depth model. In experiments, we compare these three parallel trimming algorithms over a variety of real and synthetic graphs. Specifically, for the maximum number of traversed edges per worker by using 16 workers, AC-3-based traverses up to 58.3 and 36.5 times more edges than AC-6-based trimming and AC-4-based trimming, respectively.
翻译:根据一个大的数据图形, 修剪技术可以通过去除不向外边缘的脊椎来减少搜索空间。 一个应用是加速将图形平行分解为连接度强的组件( SCC 分解) 。 这是分析图形的一个基本步骤 。 我们观察到, 修剪图基本上是一种反向一致性问题, 而 AC-3、 AC-4 和 AC-6 是用于图形处理的最相关的弧一致性算法 。 现有的平行图三角方法需要最坏的情况 $\ mathal O( n3m) 时间和最坏的情况 $\ mathc 。 以最坏的情况算法 A- c 和 最坏的 O- c 运算法 。 以最坏的情况算法 A- 4 和 最坏的 O- c- c 数字 。 使用最坏的 O- c 和 最坏的 O- c 直径的 O- c 数字 。 使用最坏的 O- c 和 最坏的 O- c 直径的算法 和最坏的 O- c- m 最坏的 最坏的算的 A- tal- tal- tal- tal- tal- 和最坏的 A- m 和最坏的 A- c- c- t- t- t- t- t- 和最坏的 A- m y 和最坏的 A- 和最坏的 A- c- c- m- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t- t-