Advertisement

Computing

, Volume 29, Issue 1, pp 31–49 | Cite as

Parallel algorithms for the single source shortest path problem

  • P. Mateti
  • N. Deo
Article

Abstract

We present several parallel algorithms for the problem of finding shortest paths from a specified vertex (called the source) to all others in a weighted directed graph. The algorithms are for machines ranging from array processors, multipleinstruction multiple-data stream machines to a special network of processors. These algorithms have been designed by “parallelizing” two classic sequential algorithms — one due to Dijkstra (1959), the other due to Moore (1957). Our interest is not only in obtaining speeded-up parallel versions of the algorithms but also in exploring the design principles, the commonality of correctness proofs of the different versions, and the subjective complexity of explaining and understanding these versions.

Keywords

Short Path Directed Graph Design Principle Parallel Algorithm Single Source 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Parallele Algorithmen für die kürzesten Wege von einer einzelnen Quelle

Zusammenfassung

Wir geben parallele Algorithmen an, die in einem gerichteten, bewerteten Graphen die kürzesten Wege von einem Knoten (der Quelle) zu allen anderen Knoten liefern. Die Algorithmen sind für verschiedene Maschinentypen entworfen, die von Feldrechnern (Array-Prozessoren) über Vielfach-Befehle, Vielfach-Daten-Strom-Maschinen (MIMD) bis zu einem speziellen Netz von Prozessoren reichen Die Algorithmen sind durch “Paralleiisierung” von zwei klassischen sequentiellen Algorithmen entstanden — dem von Dijkstra (1959) und dem von Moore (1957). Unser Interesse besteht nicht nur in der Konstruktion schnell laufender paralleler Versionen. Wir untersuchen auch die Entwurfsprinzipien, die Gemeinsamkeiten der Korrektheitsbeweise in den verschiedenen Versionen und die subjektive Komplexität, die verschiedenen Fassungen zu verstehen und zu erklären.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Arjomandi, E.: A study of parallelism in graph theory. Doctoral thesis, TR 86, Dept. of Computer Science, Univ. of Toronto, 1975.Google Scholar
  2. [2]
    Baer, J. L.: Computer systems architecture, ch. 10., Potomac, Md.: Computer Science Press 1980.Google Scholar
  3. [3]
    Bentley, J. L.: A parallel algorithm for constructing minimum spanning trees. J. Algorithms1, 51–59 (1980).CrossRefGoogle Scholar
  4. [4]
    Bentley, J. L., Kung, H. T.: A tree machine for searching problems. Proc. International Conf. on Parallel Processing, August 1979, pp. 257–266.Google Scholar
  5. [5]
    Browning, S. A.: The mtree machine: a highly concurrent computing environment. Ph. D. Thesis, Computer Science Department, California Institute of Technology, Pasadena, Calif., 1980.Google Scholar
  6. [6]
    Deo, N.: Graph theory with applications to engineering and computer science. Englewood Cliffs, N. J.: Prentice-Hall 1974.Google Scholar
  7. [7]
    Deo, N., Krishnamoorthy, M. S.: A note on worst case complexity of Ford-Bellman-Moore algorithm. Computer Science Department, Washington State University, pullman, Wash., Technical Report CS-81-076, October 1981.Google Scholar
  8. [8]
    Deo, N., Pang, C. Y.: Shortest path algorithms: taxonomy and annotation. Computer Science Department, Washington State University, Pullman, Wash., Technical Report No. CS-80-057, March. 1980.Google Scholar
  9. [9]
    Deo, N., Pang, C. Y., Lord, R. E.: Two parallel algorithms for shortest path problems. Proc. International Conf. on Parallel Processing, August 26–29, 1980, pp. 244–253.Google Scholar
  10. [10]
    Dijkstra, E.: A note on two problems in connexion with graphs. Numerische Mathematik1, 269–271 (1959).CrossRefGoogle Scholar
  11. [11]
    Eckstein, D. M.: Parallel processing using depth-first and breadth-first search. Doctoral thesis, Department of Computer Science, University of Iowa City, Iowa, July 1977.Google Scholar
  12. [12]
    Hirschberg, D. S., Chandra, A. K., Sarwate, D. V.: Computing connected components on parallel computers. Comm. ACM22, 461–464 (1979).CrossRefGoogle Scholar
  13. [13]
    Horowitz, E., Sahni, S.: Fundamentals of computer algorithms. Potomac, Md.: Computer Science Press 1978.Google Scholar
  14. [14]
    Johnson, D. B.: A note on Dijkstra's shortest path algorithm. J. ACM20, 385–388 (1973).CrossRefGoogle Scholar
  15. [15]
    Keller, R. M.: Formal verification of parallel programs. Comm. ACM19, 371–384 (1976).CrossRefGoogle Scholar
  16. [16]
    Kung, H. T.: The structure of parallel algorithms. Advances in Computers19, 65–112 (1980).Google Scholar
  17. [17]
    Lamport, L.: A new technique for proving the correctness of multiprocess programs. ACM TOPLAS, 1980.Google Scholar
  18. [18]
    Lamport, L.: Proving the correctiness of multiprocess programs. IEEE Trans. Software Engg.3, 125–143 (1977).Google Scholar
  19. [19]
    Lawler, E. L.: Combinatorial optimization: networks and matroids. New York: Holt, Rinehart and Winston 1976.Google Scholar
  20. [20]
    Lint, B., Agerwala, T.: communication issues in the design of parallel algorithms. IEEE Trans. Software Engg. SE-7, 174–188 (1981).Google Scholar
  21. [21]
    Moore, E. G.: The shortest paths through a maze. Proc. Internat. Symp. on Theory of Switching, 1957, pp. 285–292.Google Scholar
  22. [22]
    Owicki, S., Gries, D.: Verifying properties of parallel programs: an axiomatic approach. Comm. ACM19, 279–284 (1976).CrossRefGoogle Scholar
  23. [23]
    Pape, U.: Algorithm 562: shortest path lengths. ACM Trans. on Math. Software6, 450–455 (1980).CrossRefGoogle Scholar
  24. [24]
    Pneuli, A.: The temporal semantics of concurrent programs. Theoretical Computer Science13, 45–60 (1981).CrossRefGoogle Scholar
  25. [25]
    Reghbati, E. (Arjomandi), Corneil, D. G.: Parallel computations in graph theory. SIAM J. Computing7, 230–236 (1978).CrossRefGoogle Scholar
  26. [26]
    Savage, C.: Parallel algorithms for graph theoretical problems. Doctoral Thesis, Mathematics Department, University of Illinois at Urbana-Champaign, August 1977, Report ACT-4, Coordinated Science Laboratory, University of Illinois.Google Scholar

Copyright information

© Springer-Verlag 1982

Authors and Affiliations

  • P. Mateti
    • 1
  • N. Deo
    • 2
  1. 1.Department of Computer Engineering and ScienceCase Western Reserve UniversityClevelandU.S.A.
  2. 2.Computer Science DepartmentWashington State UniversityPullmanU.S.A.

Personalised recommendations