Date of Award
1-2021
Culminating Project Type
Starred Paper
Degree Name
Computer Science: M.S.
Department
Computer Science and Information Technology
College
School of Science and Engineering
First Advisor
Mengqing He
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.
Keywords and Subject Headings
Dijkstra’s algorithm; graph; parallel computing; MPI; OpenMP; performance
Abstract
Dijkstra’s algorithm is an algorithm for finding the shortest path between nodes in a graph. The algorithm published in 1959 by Dutch computer scientist Edsger W. Dijkstra, can be applied on a weighted graph. Dijkstra’s original algorithm runtime is a quadratic function of the number of vertices.
In this paper, I will investigate the parallel formulation of Dijkstra’s algorithm and its speedup against the sequential one. The implementation of the parallel formulation will be performed by Message Passing Interface (MPI) and Open Multi-Processing (OpenMP). The results gained indicated that the performance of MPI and OpenMP to be significantly better than sequential for a higher number of input data scale. And the smaller number of processors/threads give the fastest result for MPI and OpenMP implementation. However, the results show that the average speedup achieved by parallelization is not satisfied. The parallel implementation of Dijkstra’s algorithm may not be the best option.
Recommended Citation
He, Mengqing, "Parallelizing Dijkstra's Algorithm" (2021). Culminating Projects in Computer Science and Information Technology. 35.
https://repository.stcloudstate.edu/csit_etds/35