Skip to main content

A parallelization of Dijkstra's shortest path algorithm

  • Contributed Papers
  • Conference paper
  • First Online:
Mathematical Foundations of Computer Science 1998 (MFCS 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1450))

Abstract

The single source shortest path (SSSP) problem lacks parallel solutions which are fast and simultaneously work-efficient. We propose simple criteria which divide Dijkstra's sequential SSSP algorithm into a number of phases, such that the operations within a phase can be done in parallel. We give a PRAM algorithm based on these criteria and analyze its performance on random digraphs with random edge weights uniformly distributed in [0,1]. We use the G (n, d/n) model: the graph consists of n nodes and each edge is chosen with probability d/n. Our PRAM algorithm needs O(n 1/3 log n) log n) time and O (n log n+dn) work with high probability (whp). We also give extensions to external memory computation. Simulations show the applicability of our approach even on non-random graphs.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. N. Alon, J. H. Spencer, and P. Erdös. The Probabilistic Method. Wiley, 1992.

    Google Scholar 

  2. L. Arge. Efficient external-memory data structures and applications. PhD thesis, University of Aarhus, BRICS-DS-96-3, 1996.

    Google Scholar 

  3. G. S. Brodal, J. L. Träff, and C. D. Zaroliagis. A parallel priority queue with constant time operation. In 11th IPPS, pages 689–693. IEEE, 1997.

    Google Scholar 

  4. A. Clementi, L. Kučera, and J. D. P. Rolim. A randomized parallel search strategy. In A. Ferreira and J. D. P. Rolim, editors, Parallel Algorithms for Irregular Problems: State of the Art, pages 213–227. Kluwer, 1994.

    Google Scholar 

  5. E. Cohen. Polylog-time and near-linear work approximation scheme for undirected shortest paths. In 26th STOC, pages 16–26. ACM, 1994.

    Google Scholar 

  6. E. Cohen. Efficient parallel shortest-paths in digraphs with a separator decomposition. Journal of Algorithms, 21(2):331–357, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  7. A. Crauser, K. Mehlhorn, U. Meyer, and P. Sanders. Parallelizing Dijkstra's shortest path algorithm. Technical report, MPI-Informatik, 1998. in preparation.

    Google Scholar 

  8. E. Dijkstra. A note on two problems in connexion with graphs. Num. Math., 1:269–271, 1959.

    Article  MATH  MathSciNet  Google Scholar 

  9. J. R. Driscoll, H. N. Gabow, R. Shrairman, and R. E. Tarjan. Relaxed heaps: An alternative to Fibonacci heaps with applications to parallel computation. Communications of the ACM, 31(11):1343–1354, 1988.

    Article  MathSciNet  Google Scholar 

  10. A. Frieze and G. Grimmett. The shortest-path problem for graphs with random arc-lengths. Discrete Appl. Math., 10:57–77, 1985.

    Article  MATH  MathSciNet  Google Scholar 

  11. Y. Han, V. Pan, and J. Reif. Efficient parallel algorithms for computing all pairs shortest paths in directed graphs. In 4th SPAA, pages 353–362. ACM, 1992.

    Google Scholar 

  12. R. Hassin and E. Zemel. On shortest paths in graphs with random weights. Math. Oper. Res., 10(4):557–564, 1985.

    Article  MATH  MathSciNet  Google Scholar 

  13. J. Jájá. An Introduction to Parallel Algorithms. Addison-Wesley, 1992.

    Google Scholar 

  14. R. M. Karp. The transitive closure of a random digraph. Rand. Struct. Alg., 1, 1990.

    Google Scholar 

  15. D. E. Knuth. The Stanford GraphBase: a platform for combinatorial computing. Addison-Wesley, New York, NY, 1993.

    Google Scholar 

  16. V. Kumar and E. J. Schwabe. Improved algorithms and data structures for solving graph problems in external memory. In 8th SPDP, pages 169–177. IEEE, 1996.

    Google Scholar 

  17. U. Meyer and P. Sanders. δ-stepping: A parallel shortest path algorithm. In 6th ESA, LNCS. Springer, 1998.

    Google Scholar 

  18. G. L. Miller and J. H. Reif. Parallel tree contraction and its application. In 26th Symposium on Foundations of Computer Science, pages 478–489. IEEE, 1985.

    Google Scholar 

  19. P. Sanders. Randomized priority queues for fast parallel access. Journal Parallel and Distributed Computing, 49:86–97, 1998.

    Article  MATH  Google Scholar 

  20. M. Thorup. Undirected single source shortest paths in linear time. In 38th Annual Symposium on Foundations of Computer Science, pages 12–21. IEEE, 1997.

    Google Scholar 

  21. J. L. Träff and C. D. Zaroliagis. A simple parallel algorithm for the single-source shortest path problem on planar digraphs. In Irregular' 96, volume 1117 of LNCS, pages 183–194. Springer, 1996.

    Google Scholar 

  22. J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory I: Two-level memories. Technical Report CS-90-21, Brown University, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Luboš Brim Jozef Gruska Jiří Zlatuška

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Crauser, A., Mehlhorn, K., Meyer, U., Sanders, P. (1998). A parallelization of Dijkstra's shortest path algorithm. In: Brim, L., Gruska, J., Zlatuška, J. (eds) Mathematical Foundations of Computer Science 1998. MFCS 1998. Lecture Notes in Computer Science, vol 1450. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055823

Download citation

  • DOI: https://doi.org/10.1007/BFb0055823

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64827-7

  • Online ISBN: 978-3-540-68532-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics