Abstract
Computation of the minimum spanning tree (MST) is a common task in numerous fields of research, such as pattern recognition, computer vision, network design (telephone, electrical, hydraulic, cable TV, computer, road networks etc.), VLSI layout, to name a few. However, for a large-scale dataset when the graphs are complete, classical MST computation algorithms become unsuitable on general purpose computers. Interestingly, in such a case the k-nearest neighbor (kNN) structure can provide an efficient solution to this problem. Only a few attempts were found in the literature that focus on solving the problem using the kNNs. This paper briefs the state-of-the-art strategies for the MST problem and a fast and scalable solution combining the classical Borůvka’s MST algorithm and the kNN graph structure. The proposed algorithm is implemented for CUDA enabled GPUs kNN-Borůvka-GPU), but the basic approach is simple and adaptable to other available architectures. Speed-ups of 30-40 times compared with CPU implementation was observed for several large-scale synthetic and real world data sets.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
NVIDIA CUDA - Programming Guide (2007), http://developer.nvidia.com/
Abello, J., Buchsbaum, A.L., Westbrook, J.: A Functional Approach to External Graph Algorithms. In: Bilardi, G., Pietracaprina, A., Italiano, G.F., Pucci, G. (eds.) ESA 1998. LNCS, vol. 1461, pp. 332–343. Springer, Heidelberg (1998)
Arefin, A.S., Inostroza-Ponta, M., Mathieson, L., Berretta, R., Moscato, P.: Clustering Nodes in Large-Scale Biological Networks Using External Memory Algorithms. In: Xiang, Y., Cuzzocrea, A., Hobbs, M., Zhou, W. (eds.) ICA3PP 2011, Part II. LNCS, vol. 7017, pp. 375–386. Springer, Heidelberg (2011)
Arefin, A.S., Riveros, C., Berretta, R., Moscato, P.: Gpu-fs-knn: A fast and scalable knn computation technique using gpu. Faculty Postgrad Research Poster, The University of Newcastle, Australia (September 2011), http://www.newcastle.edu.au/Resources/Faculties/Faculty%20of%20Engineering%20and%20Built%20Environment/Research/Arefin.pdf
Bader, D.A., Cong, G.: Fast shared-memory algorithms for computing the minimum spanning forest of sparse graphs. J. P. Dist. Comp. 66, 1366–1378 (2006)
Bader, D.A., Madduri, K.: GTgraph: A suite of synthetic graph generators (2006)
Barr, R.S., Helgaon, R.V., Kennington, J.L.: Minimal spanning trees: an empirical investigation of parallel algorithms. Parallel Computing 12(1), 45–52 (1989)
Bentley, J.L., Friedman, J.H.: Fast algorithms for constructing minimal spanning trees in coordinate spaces. IEEE Trans. Comput. 27, 97–105 (1978)
Boruvka, O.: O Jistém Problému Minimálním (About a Certain Minimal Problem) (in Czech, German summary). Práce Mor. Prírodoved. Spol. v Brne III 3 (1926)
Chung, S., Condon, A.: Parallel implementation of borvka’s minimum spanning tree algorithm. In: Proceedings of the 10th International Parallel Processing Symposium, IPPS 1996, pp. 302–308 (1996)
Dehne, F., Götz, S.: Practical parallel algorithms for minimum spanning trees. In: Symposium on Reliable Distributed Systems, pp. 366–371 (1998)
Demetrescu, C., Goldberg, A., Johnson, D.: 9th DIMACS implementation challenge - shortest paths (2006), http://www.dis.uniroma1.it/~challenge9/
Dyen, I., Kruskal, J.B., Black, P.: An indoeuropean classification: A lexicostatistical experiment. Trans. of the American Phil. Soc. 82(5), iii–iv, 1–132
Graham, R.L., Hell, P.: On the history of the minimum spanning tree problem. IEEE Ann. Hist. Comput. 7, 43–57 (1985)
Harish, P., Narayanan, P.J.: Accelerating Large Graph Algorithms on the GPU Using CUDA. In: Aluru, S., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2007. LNCS, vol. 4873, pp. 197–208. Springer, Heidelberg (2007)
Harris, M.: Optimizing parallel reduction in cuda. NVIDIA Developer Tech. (2008)
Hoberock, J., Bell, N.: Thrust - a productivity-oriented library for cuda. Template library, Version 1.4 (2010), http://code.google.com/p/thrust/
Inostroza-Ponta, M.: An Integrated and Scalable Approach Based on Combinatorial Optimization Techniques for the Analysis of Microarray Data. Ph.D. thesis, School of Electrical Engineering and Computer Science, The University of Newcastle, Australia (2008)
Johnson, D.B., Metaxas, P.: A parallel algorithm for computing minimum spanning trees. In: Proceedings of the Fourth Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1992, pp. 363–372 (1992)
Kang, S., Bader, D.A.: An efficient transactional memory algorithm for computing minimum spanning forest of sparse graphs. In: Proc. of the 14th ACM SIGPLAN Symp., Principles and Practice of Parallel Programming, PPoPP, pp. 15–24 (2009)
Moret, B.M.E., Shapiro, H.D.: An empirical assessment of algorithms for constructing a minimum spanning tree. DIMACS Monographs (1994)
Murtagh, F.: A survey of recent advances in hierarchical clustering algorithms. Comput. J. 26(4), 354–359 (1983)
Nesetril, J., Milkov, E., Nesetrilov, H.: Otakar boruvka on minimum spanning tree problem translation of both the 1926 papers, comments, history. Discrete Mathematics 233(1-3), 3–36 (2001)
Nobari, S.H., Bressan, S., Rassi, C.: A data parallel minimum spanning tree algorithm for most graphics processing units. In: Proc. of the Int. Con. ADPC (2010)
Rostrup, S., Srivastava, S., Singhal, K.: Fast and memory-efficient minimum spanning tree on the gpu (2011)
Siek, J., Lee, L.Q., Lumsdaine, A.: Boost random number library (June 2000), http://www.boost.org/libs/graph/
Sintorn, E., Assarsson, U.: Fast parallel gpu-sorting using a hybrid algorithm. J. Parallel Distrib. Comput. 68, 1381–1388 (2008)
Tepper, M., Mejail, M., Musé, P., Almansa, A.: Boruvka Meets Nearest Neighbors (2011), http://hal.archives-ouvertes.fr/docs/00/58/31/20/PDF/preprint.pdf
van de Vijver, M.J., He, Y.D., et al.: A gene-expression signature as a predictor of survival in breast cancer. The New England JM 347(25), 1999–2009 (2002)
Vineet, V., Harish, P., Patidar, S., Narayanan, P.J.: Fast minimum spanning tree for large graphs on the gpu. In: Proc. of Conf. on HPG, pp. 167–171. ACM (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Arefin, A.S., Riveros, C., Berretta, R., Moscato, P. (2012). kNN-Borůvka-GPU: A Fast and Scalable MST Construction from kNN Graphs on GPU. In: Murgante, B., et al. Computational Science and Its Applications – ICCSA 2012. ICCSA 2012. Lecture Notes in Computer Science, vol 7333. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31125-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-31125-3_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-31124-6
Online ISBN: 978-3-642-31125-3
eBook Packages: Computer ScienceComputer Science (R0)