Culminating Project Title
Date of Award
Culminating Project Type
Computer Science: M.S.
Computer Science and Information Technology
School of Science and Engineering
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
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.
He, Mengqing, "Parallelizing Dijkstra's Algorithm" (2021). Culminating Projects in Computer Science and Information Technology. 35.