A parallel algorithm for minimum spanning tree on GPU

被引:5
作者
de Alencar Vasconcellos, Jucele Franca [1 ]
Caceres, Edson Norberto [1 ]
Mongelli, Henrique [1 ]
Song, Siang Wun [2 ]
机构
[1] Univ Fed Mato Grosso do Sul, Coll Comp, Campo Grande, MS, Brazil
[2] Univ Sao Paulo, Inst Math & Stat, Sao Paulo, SP, Brazil
来源
2017 INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING WORKSHOPS (SBAC-PADW) | 2017年
基金
巴西圣保罗研究基金会;
关键词
D O I
10.1109/SBAC-PADW.2017.20
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Computing a minimum spanning tree (MST) of a graph is a fundamental problem in Graph Theory and arises as a subproblem in many applications. In this paper, we propose a parallel MST algorithm and implement it on a GPU (Graphics Processing Unit). One of the steps of previous parallel MST algorithms is a heavy use of parallel list ranking. Besides the fact that list ranking is present in several parallel libraries, it is very time-consuming. Using a different graph decomposition, called strut, we devised a new parallel MST algorithm that does not make use of the list ranking procedure. Based on the BSP/CGM model we proved that our algorithm is correct and it finds the MST after O(log p) iterations (communication and computation rounds). To show that our algorithm has a good performance on real parallel machines, we have implemented it on GPU. The way that we have designed the parallel algorithm allowed us to exploit the computing power of the GPU. The efficiency of the algorithm was confirmed by our experimental results. The tests performed show that, for randomly constructed graphs, with vertex numbers varying from 10,000 to 30,000 and density between 0.02 and 0.2, the algorithm constructs an MST in a maximum of six iterations. When the graph is not very sparse, our implementation achieved a speedup of more than 50, for some instances as high 296, over a minimum spanning tree sequential algorithm previously proposed in the literature.
引用
收藏
页码:67 / 72
页数:6
相关论文
共 19 条
[1]  
Abdullah-Al M, 2016, 2016 IEEE SYMPOSIUM ON COMPUTERS AND COMMUNICATION (ISCC), P1047, DOI 10.1109/ISCC.2016.7543874
[2]  
[Anonymous], 1992, The Design and Analysis of Algorithms
[3]  
Caceres E. N., 1993, PARALLEL PROCESSING, V3, P223
[4]  
Chan A., 1999, Parallel Processing Letters, V9, P533, DOI 10.1142/S0129626499000499
[5]   Efficient parallel graph algorithms for coarse-grained multicomputers and BSP [J].
Dehne, F ;
Ferreira, A ;
Cáceres, E ;
Song, SW ;
Roncato, A .
ALGORITHMICA, 2002, 33 (02) :183-200
[6]  
GRAHAM RL, 1985, ANN HIST COMPUT, V7, P43
[7]   COMPUTING CONNECTED COMPONENTS ON PARALLEL COMPUTERS [J].
HIRSCHBERG, DS ;
CHANDRA, AK ;
SARWATE, DV .
COMMUNICATIONS OF THE ACM, 1979, 22 (08) :461-464
[8]  
Johnsonbaugh R., 1991, SIGCSE Bulletin, V23, P151, DOI 10.1145/107005.107032
[9]  
Karp R. M., 1990, HDB THEORETICAL COMP, VA
[10]  
Kershenbaum A., 1972, Proceedings of the ACM annual conference-Volume, V1, P518, DOI 10.1145/800193.569966