Accelerating Computation of Steiner Trees on GPUs
Date17th Mar 2022
Time02:00 PM
Venue Google Meet
PAST EVENT
Details
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. One of the most popular algorithms is by Kou, Markowsky and Berman (KMB) which provides a 2-approximation to STP. In practice, a na\"{i}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 20x 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 4x over OGDF's KMB, the only published open-source KMB implementation.
Speakers
Mr. Rajesh Pandian M, Roll No: CS16D003
CSE