A Distributed Parallel Algorithm for the Minimum Spanning Tree Problem

  • Artem Mazeev
  • Alexander SemenovEmail author
  • Alexey Simonov
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 753)


In this paper, we present and evaluate a parallel algorithm for solving the minimum spanning tree (MST) problem on supercomputers with distributed memory. The algorithm relies on the relaxation of the message processing order requirement for one specific message type compared to the original GHS (Gallager, Humblet, Spira) algorithm. Our algorithm adopts hashing and message compression optimization techniques as well. To the best of our knowledge, this is the first parallel implementation of the GHS algorithm that linearly scales to more than 32 nodes (256 cores) of an InfiniBand cluster.


Large graphs MST GHS Supercomputers MPI 


  1. 1.
    Cormen, T., Leiserson, C., Rivest, R., Stein, C.: Minimum spanning trees. Introduction to Algorithms, 2nd edn, pp. 561–579. MIT Press and McGraw-Hill, Cambridge (2001). Chap. 23Google Scholar
  2. 2.
    Rubanov, L.I., Seliverstov, A.V., Zverkov, O.A.: Ultraconservative elements in the simplest of subtype Alveolata. Modern Inf. Technol. IT Educ. 2, 581–585 (2015)Google Scholar
  3. 3.
    Eisner, J.: State-of-the-art algorithms for minimum spanning trees. A Tutorial Discussion, University of Pennsylvania (1997)Google Scholar
  4. 4.
    Prim, R.C.: Shortest connection networks and some generalizations. Bell Syst. Tech. J. 36, 1389–1401 (1957)CrossRefGoogle Scholar
  5. 5.
    Kruskal, J.B.: On the shortest spanning subtree of a graph and the traveling salesman problem. AMS 7, 48–50 (1956)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Boruvka, O.: O jistem problemu minimalnim (about a certain minimal problem). Prace Mor. Prirodoved. Spol. v Brne, III 3, 37–58 (1926)Google Scholar
  7. 7.
    Kolganov, A.S.: Parallel implementation of minimum spanning tree algorithm on CPU and GPU. Parallel computational technologies (2016)Google Scholar
  8. 8.
    Mariano, A., Lee, D., Gerstlauer, A., Chiou, D.: Hardware and software implementations of Prim’s algorithm for efficient minimum spanning tree computation. In: Schirner, G., Götz, M., Rettberg, A., Zanella, M.C., Rammig, F.J. (eds.) IESS 2013. IAICT, vol. 403, pp. 151–158. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38853-8_14 CrossRefGoogle Scholar
  9. 9.
    Wang, W., Huang, Y., Guo, S.: Design and implementation of GPU-based Prim’s algorithm. Int. J. Modern Educ. Comput. Sci. 3(4), 55–62 (2011)CrossRefGoogle Scholar
  10. 10.
    Katsigiannis, A., Anastopoulos, N., Nikas, K.: An approach to parallelize Kruskal’s algorithm using helper threads. In: IEEE 26th International Parallel and Distributed Processing Symposium Workshops and PhD Forum, pp. 1601–1610 (2012)Google Scholar
  11. 11.
    Gallager, R.G., Humblet, P.A., Spira, P.M.: A distributed algorithm for minimum-weight spanning trees. ACM Trans. Program. Lang. Syst. 5, 66–77 (1983)CrossRefzbMATHGoogle Scholar
  12. 12.
    Awerbuch, B.: Optimal distributed algorithms for minimum weight spanning tree, Counting, Leader Election, and Related Problems. In: 19th ACM Symposium on Theory of Computing (STOC), New York, pp. 230–240 (1987)Google Scholar
  13. 13.
    Gregor, D., Lumsdaine, A.: The parallel BGL: a generic library for distributed graph computations. In: Parallel Object-Oriented Scientific Computing (2005)Google Scholar
  14. 14.
    Loncar, V., Skrbic, S.: Parallel implementation of minimum spanning tree algorithms using MPI. In: IEEE 13th International Symposium on Computational Intelligence and Informatics (CINTI), pp. 35–38 (2012)Google Scholar
  15. 15.
    Loncar, V., Skrbic, S., Balaz, A.: Parallelization of minimum spanning tree algorithms using distributed memory architectures (2014)Google Scholar
  16. 16.
    Sireta, A.: Comparison of parallel and distributed implementation of the MST algorithm (2016).
  17. 17.
    Ramaswamy, S.I., Patki, R.: Distributed minimum spanning trees (2015).
  18. 18.
    McCune, R.R., Weninger, T., Madey, G.: Thinking like a vertex: a survey of vertex-centric frameworks for distributed graph processing. ACM Comput. Surv. 48 (2015)Google Scholar
  19. 19.
    Knuth, D.: The Art of Computer Programming, 2nd edn., vol. 3, pp. 513–558. Addison-Wesley (1998)Google Scholar
  20. 20.
    Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: a recursive model for graph mining. In: Proceedings of the Fourth SIAM International Conference on Data Mining (2004).
  21. 21.
    Bader, D.A., Madduri, K.: Design and implementation of the HPCS graph analysis benchmark on symmetric multiprocessors. In: Bader, D.A., Parashar, M., Sridhar, V., Prasanna, V.K. (eds.) HiPC 2005. LNCS, vol. 3769, pp. 465–476. Springer, Heidelberg (2005). doi: 10.1007/11602569_48 CrossRefGoogle Scholar
  22. 22.
    Erdoos, P., Reyni, A.: On random graphs. I. Publicationes Math. 6, 290–297 (1959)MathSciNetGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Artem Mazeev
    • 1
  • Alexander Semenov
    • 1
    Email author
  • Alexey Simonov
    • 1
  1. 1.JSC NICEVTMoscowRussia

Personalised recommendations