当前位置: X-MOL 学术Int. J. Parallel. Program › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Accelerating Computation of Steiner Trees on GPUs
International Journal of Parallel Programming ( IF 1.5 ) Pub Date : 2021-11-27 , DOI: 10.1007/s10766-021-00723-0
Rajesh Pandian Muniasamy 1 , Rupesh Nasre 1 , N. S. Narayanaswamy 1
Affiliation  

The Steiner Tree Problem (STP) is a well studied graph theoretic problem. It computes a minimum-weighted tree of a given graph such that the tree spans a given subset of vertices called terminals. STP is NP-hard. Due to its wide applicability, it has been a challenge problem in the 11th DIMACS implementation challenge and the PACE 2018 challenge. Due to its importance, polynomial-time approximation algorithms have been devised for solving the STP. One of the most popular algorithms is by Kou, Markowsky and Berman (KMB) which provides a 2-approximation to STP. In practice, a naïve implementation of the KMB algorithm is prohibitively slow for large graphs. Our goal in this work is to improve KMB algorithm’s practical utility by parallelizing it on GPU and reduce its execution time on real-world graphs. This parallelization faces several challenges due to the inherent irregular nature of computation, as well as critical design decisions affecting the algorithm choice and optimizations. We overcome these challenges with interesting algorithmic observations and by exploiting parallelization within sub-steps, and develop the first GPU-based efficient approach to computing Steiner trees using KMB. We illustrate the effectiveness of our approach using several graph benchmarks from the DIMACS Challenge, the PACE Challenge, SteinLib, and SNAP. Our highly optimized GPU implementation achieves an average 20\(\times\) speedup over the CPU-sequential Open Graph algorithms and Data structure (OGDF)’s KMB implementation. In addition to this, our optimized CPU implementation achieves an average 4\(\times\) over OGDF’s KMB, the only published open-source KMB implementation.



中文翻译:

在 GPU 上加速 Steiner 树的计算

斯坦纳树问题 (STP) 是一个经过深入研究的图论问题。它计算给定图的最小加权树,使得树跨越称为终端的给定顶点子集。STP 是 NP 难的。由于其广泛的适用性,它一直是第 11 届 DIMACS 实施挑战赛和 PACE 2018 挑战赛中的挑战问题。由于其重要性,已经设计了多项式时间逼近算法来解决 STP。最流行的算法之一是 Kou、Markowsky 和 ​​Berman (KMB) 的算法,它提供了 STP 的 2 近似值。在实践中,KMB 算法的幼稚实现对于大型图来说非常慢。我们在这项工作中的目标是通过在 GPU 上并行化 KMB 算法并减少其在真实世界图上的执行时间来提高 KMB 算法的实用性。由于计算的固有不规则性以及影响算法选择和优化的关键设计决策,这种并行化面临着几个挑战。我们通过有趣的算法观察和利用子步骤中的并行化克服了这些挑战,并开发了第一个基于 GPU 的高效方法来使用 KMB 计算 Steiner 树。我们使用来自 DIMACS Challenge、PACE Challenge、SteinLib 和 SNAP 的几个图形基​​准来说明我们方法的有效性。我们高度优化的 GPU 实现平均达到 20 我们通过有趣的算法观察和利用子步骤中的并行化克服了这些挑战,并开发了第一个基于 GPU 的高效方法来使用 KMB 计算 Steiner 树。我们使用来自 DIMACS Challenge、PACE Challenge、SteinLib 和 SNAP 的几个图形基​​准来说明我们方法的有效性。我们高度优化的 GPU 实现平均达到 20 我们通过有趣的算法观察和利用子步骤中的并行化克服了这些挑战,并开发了第一个基于 GPU 的高效方法来使用 KMB 计算 Steiner 树。我们使用来自 DIMACS Challenge、PACE Challenge、SteinLib 和 SNAP 的几个图形基​​准来说明我们方法的有效性。我们高度优化的 GPU 实现平均达到 20\(\times\) 加速 CPU 顺序开放图算法和数据结构 (OGDF) 的 KMB 实现。除此之外,我们优化的 CPU 实现 比 OGDF 的 KMB(唯一已发布的开源 KMB 实现)平均实现了 4 \(\times\) 。

更新日期:2021-11-27
down
wechat
bug