Basic Definitions and Network Traversal Algorithms

  • Michel Raynal


This chapter first introduces basic definitions related to distributed algorithms. Then, considering a distributed system as a graph whose vertices are the processes and whose edges are the communication channels, it presents distributed algorithms for graph traversals, namely, parallel traversal, breadth-first traversal, and depth-first traversal. It also shows how spanning trees or rings can be constructed from these distributed graph traversal algorithms. These trees and rings can, in turn, be used to easily implement broadcast and convergecast algorithms.

As the reader will see, the distributed graph traversal techniques are different from their sequential counterparts in their underlying principles, behaviors, and complexities. This come from the fact that, in a distributed context, the same type of traversal can usually be realized in distinct ways, each with its own tradeoff between its time complexity and message complexity.


Asynchronous/synchronous system Breadth-first traversal Broadcast Convergecast Depth-first traversal Distributed algorithm Forward/discard principle Initial knowledge Local algorithm Parallel  traversal Spanning tree Unidirectional logical ring 


  1. 24.
    H. Attiya, J.L. Welch, Distributed Computing: Fundamentals, Simulations and Advanced Topics, 2nd edn. (Wiley-Interscience, New York, 2004). 414 pages. ISBN 0-471-45324-2 CrossRefGoogle Scholar
  2. 25.
    B. Awerbuch, A new distributed depth-first search algorithm. Inf. Process. Lett. 20(3), 147–150 (1985) zbMATHCrossRefGoogle Scholar
  3. 91.
    T.-Y. Cheung, Graph traversal techniques and the maximum flow problem in distributed computation. IEEE Trans. Softw. Eng. SE-9(4), 504–512 (1983) CrossRefGoogle Scholar
  4. 95.
    I. Cidon, Yet another distributed depth-first search algorithm. Inf. Process. Lett. 26(6), 301–305 (1988) CrossRefGoogle Scholar
  5. 122.
    S. Even, Graph Algorithms, 2nd edn. (Cambridge University Press, Cambridge, 2011), 202 pages (edited by G. Even) CrossRefGoogle Scholar
  6. 143.
    R.G. Gallager, P.A. Humblet, P.M. Spira, A distributed algorithm for minimum-weight spanning trees. ACM Trans. Program. Lang. Syst. 5(1), 66–77 (1983) zbMATHCrossRefGoogle Scholar
  7. 150.
    V.K. Garg, Elements of Distributed Computing (Wiley-Interscience, New York, 2002), 423 pages Google Scholar
  8. 158.
    A. Gibbons, Algorithmic Graph Theory (Cambridge University Press, Cambridge, 1985), 260 pages zbMATHGoogle Scholar
  9. 164.
    J.L. Gross, J. Yellen (eds.), Graph Theory (CRC Press, Boca Raton, 2004), 1167 pages zbMATHGoogle Scholar
  10. 170.
    J.-M. Hélary, A. Maddi, M. Raynal, Controlling information transfers in distributed applications, application to deadlock detection, in Proc. Int’l IFIP WG 10.3 Conference on Parallel Processing (North-Holland, Amsterdam, 1987), pp. 85–92 Google Scholar
  11. 177.
    J.-M. Hélary, M. Raynal, Depth-first traversal and virtual ring construction in distributed systems, in Proc. IFIP WG 10.3 Conference on Parallel Processing (North-Holland, Amsterdam, 1988), pp. 333–346 Google Scholar
  12. 209.
    E. Korach, S. Moran, S. Zaks, The optimality of distributive constructions of minimum weight and degree restricted spanning tree in complete networks of processes. SIAM J. Comput. 16(2), 231–236 (1987) MathSciNetzbMATHCrossRefGoogle Scholar
  13. 219.
    A.D. Kshemkalyani, M. Singhal, Distributed Computing: Principles, Algorithms and Systems (Cambridge University Press, Cambridge, 2008), 736 pages zbMATHCrossRefGoogle Scholar
  14. 224.
    K.B. Lakshmanan, N. Meenakshi, K. Thulisaraman, A time-optimal message-efficient distributed algorithm for depth-first search. Inf. Process. Lett. 25, 103–109 (1987) CrossRefGoogle Scholar
  15. 231.
    Y. Lavallée, G. Roucairol, A fully distributed minimal spanning tree algorithm. Inf. Process. Lett. 23(2), 55–62 (1986) zbMATHCrossRefGoogle Scholar
  16. 242.
    N.A. Lynch, Distributed Algorithms (Morgan Kaufmann, San Francisco, 1996), 872 pages zbMATHGoogle Scholar
  17. 308.
    M. Raynal, Networks and Distributed Computation: Concepts, Tools and Algorithms (The MIT Press, Cambridge, 1987), 168 pages. ISBN 0-262-18130-4 Google Scholar
  18. 319.
    M. Raynal, J.-M. Hélary, Synchronization and Control of Distributed Systems and Programs. Wiley Series in Parallel Computing (1991), 126 pages. ISBN 0-471-92453-9 Google Scholar
  19. 335.
    N. Santoro, Design and Analysis of Distributed Algorithms (Wiley, New York, 2007), 589 pages zbMATHGoogle Scholar
  20. 341.
    A. Segall, Distributed network protocols. IEEE Trans. Inf. Theory 29(1), 23–35 (1983) MathSciNetzbMATHCrossRefGoogle Scholar
  21. 359.
    M. van Steen, Graph Theory and Complex Networks: An Introduction (2011), 285 pages. ISBN 978-90-815406-1-2 Google Scholar
  22. 365.
    G. Tel, Introduction to Distributed Algorithms, 2nd edn. (Cambridge University Press, Cambridge, 2000), 596 pages. ISBN 0-521-79483-8 zbMATHCrossRefGoogle Scholar
  23. 395.
    Y. Zhu, C.-T. Cheung, A new distributed breadth-first search algorithm. Inf. Process. Lett. 25(5), 329–333 (1987) MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Michel Raynal
    • 1
  1. 1.Institut Universitaire de France IRISA-ISTICUniversité de Rennes 1Rennes CedexFrance

Personalised recommendations