A Practical Scalable Shared-Memory Parallel Algorithm for Computing Minimum Spanning Trees

Wei Zhou
Hiermit versichere ich, dass ich diese Arbeit selbständig verfasst und keine anderen, als die angegebenen Quellen und Hilfsmittel benutzt, die wörtlich oder inhaltlich übernommenen Stellen als solche kenntlich gemacht und die Satzung des Karlsruher Instituts für Technologie zur Sicherung guter wissenschaftlicher Praxis in der jeweils gültigen Fassung beachtet habe. Karlsruhe, 30. März 2017 Abstract The present thesis briefly reviews the history of the Minimum Spanning Tree (MST) Problem and a
more » ... ST) Problem and a number of known algorithms to solve it. Furthermore, a new simple, elegant and practical algorithm based on Borůvka's algorithm for parallel MST computation on shared-memory machines is developed. The algorithm utilizes a parallel primitive called priority write that is easily and efficiently implementable with atomic compare-and-swap (CAS) instructions. The parallelism in the algorithm is coarse-grained and no explicit locks other than in the implementations of usual parallel primitives are needed. Experiments show that the algorithm is efficient on both synthetic and real-world graphs and is invulnerable to adversarial inputs. In our tests, it performs faster than or as fast as state-of-the-art implementations, which often perform poorly or even sequentially on particular classes of graphs. The new algorithm offers good performance even with few processors and therefore can be used as a sole universal implementation. Acknowledgments I feel fortunate and grateful for receiving joint supervision from Prof.
doi:10.5445/ir/1000073700 fatcat:56zf6bjhoff47ino2rkn2o5odu