A Fast Implementation of Minimum Spanning Tree Method and Applying it to Kruskal’s and Prim’s Algorithms

In last decade, application developers attained improved performances by merely employing the machines based on higher-clocked processors. However, in 2003 multi-core processors emerged and eradicated the old processor manufacturing technology based on increasing processor’s clock frequencies. After emergence of new parallel processor architectures, serial applications must be re-engineered into parallel versions to exploit the computing power of the existing hardware. In this paper, we present an efficient parallel implementation of minimum spanning tree algorithm to take advantage of the computing power of multi-core machines. Computer network routing, civil infrastructure planning and cluster analysis are typically use-cases of spanning tree problem. The experimental results show that the proposed algorithm is scalable for different machine and graph sizes. The methodology is simple and can easily be implemented using different shared-memory parallel programming models.

[1]  Pallavi Jayawant,et al.  Minimum spanning trees , 2009 .

[2]  Shankar Balachandran,et al.  A New Parallel Algorithm for Minimum Spanning Tree Problem , 2009 .

[3]  Benedikt Nordhoff,et al.  Dijkstra’s Algorithm , 2013 .

[4]  Joel C. Adams,et al.  Teaching shared memory parallel concepts with OpenMP , 2014 .

[5]  Thanh-Tung Cao,et al.  Scalable parallel minimum spanning forest computation , 2012, PPoPP '12.

[6]  David A. Bader,et al.  A fast, parallel spanning tree algorithm for symmetric multiprocessors , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[7]  Xiaoning Ding,et al.  Diagnosing Virtualization Overhead for Multi-threaded Computation on Multicore Platforms , 2015, 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom).

[8]  Hai Jin,et al.  Metis: a profiling toolkit based on the virtualization of hardware performance counters , 2011, Human-centric Computing and Information Sciences.

[9]  Cristiano da Silva Sousa,et al.  A Generic and Highly Efficient Parallel Variant of Boruvka's Algorithm , 2015, 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[10]  R. C. Whaley,et al.  Minimizing startup costs for performance-critical threading , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[11]  D. Geer,et al.  Chip makers turn to multicore processors , 2005, Computer.

[12]  Y. Mukaigawa,et al.  Large Deviations Estimates for Some Non-local Equations I. Fast Decaying Kernels and Explicit Bounds , 2022 .

[13]  Daniel E. Lenoski,et al.  Scalable Shared-Memory Multiprocessing , 1995 .

[14]  Pasi Fränti,et al.  A fast minimum spanning tree algorithm based on K-means , 2015, Inf. Sci..

[15]  Walter Guttmann,et al.  Relation-Algebraic Verification of Prim's Minimum Spanning Tree Algorithm , 2016, ICTAC.

[16]  Yinglong Xia,et al.  Accelerating Minimum Spanning Forest Computations on Multicore Platforms , 2015, Euro-Par Workshops.

[17]  Christian H. Bischof,et al.  How Many Threads will be too Many? On the Scalability of OpenMP Implementations , 2015, Euro-Par.