Year: 2025
Type: article
Abstract: Given an edge-weighted graph and a set of potentially overlapping vertex groups, a group Steiner tree (GST) is a minimum weight tree that includes at least one vertex in each group. Finding GSTs serves as a classical approach to keyword search in relational databases. Existing studies use CPUs to find optimal GSTs in a serial way, and remain slow in some cases. No prior work has applied GPUs to meet this challenge. To fill this gap, first, we propose a parallel-friendly GST solution framework, by breaking the traditional bottom-up dynamic programming order. Second, since a direct execution of this framework on GPUs faces a severe workload imbalance problem, we develop a GST-customized load balancing approach. Specifically, we employ kernel fusion and global memory coalescing techniques to efficiently utilize different parallel granularities to match divergent tree construction workloads. Third, since existing pruning methods cannot be directly applied to a parallel scheme, we modify feasible pruning procedures to reduce the computation burden, and rigorously prove the solution correctness. Furthermore, inspired by recent applications, we present a novel dynamic programming algorithm for finding optimal diameter-bounded GSTs on GPUs. Experiments on various real datasets show that the proposed techniques achieve a speedup of 48-2390× over state-of-the-art methods, and can handle some large weighted graphs where existing solutions are too slow to be applied, and thus could greatly improve the user experience in related applications.
DOI: 10.1145/3769792
Authors: Jiayu Li, Yahui Sun, Bojing Ma, Libang Chen, Mengxi Hu, Feng Zhang, Rong-Hua Li
Institutions: Renmin University of China, Beijing Institute of Technology
Language: English
Topic: Graph Theory and Algorithms
Subfield: Computer Vision and Pattern Recognition
Field: Computer Science
Domain: Physical Sciences
Open Access status: bronze
OpenAlex ID: W4417070631
