Teacher: Chun-Yuan Lin Introduction to Distributed Algorithm Part Two: Fundamental Algorithm Chapter 6- Wave and Traversal Algorithms Teacher: Chun-Yuan Lin 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms (1) In the design of distributed algorithms for various applications several very general problems for process networks appear frequently as subtasks. broadcasting of information achieving a global synchronization between processes triggering the execution of some event in each process computing a function of which each process holds part of the input These tasks are so fundamental that solutions to more complicated problems election (Chapter 7) termination detection (Chapter 8) 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms (2) The importance of message-passing schemes, called wave algorithms This chapter formally defines wave algorithms (Subsection 6.1.1) proves some general results about them (Subsection 6.1.2) The observation that the same algorithms can be used for all of the fundamental tasks (Subsections 6.1.3 through 6.1.5) Section 6.2 presents some widely used wave algorithms. Section 6.3 considers traversal algorithms Section 6.4 gives several algorithms for a distributed depth-first search 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms (3) The treatment of wave algorithms as a separate issue is useful for two reasons. (why study wave algorithm?) First, the introduction of the concept facilitates the later treatment of more involved algorithms because the properties of their subroutines have already been studied. Second, certain problems in distributed computing can be solved by generic constructions that yield a specific algorithm when parameterized with a specific wave algorithm. 2017/4/24 Wave and Traversal Algorithms
Definition and Use of Wave Algorithms 2017/4/24 Wave and Traversal Algorithms
Definition of Wave Algorithms (1) 2017/4/24 Wave and Traversal Algorithms
Definition of Wave Algorithms (2) 2017/4/24 Wave and Traversal Algorithms
Definition of Wave Algorithms (3) 2017/4/24 Wave and Traversal Algorithms
Definition of Wave Algorithms (4) 2017/4/24 Wave and Traversal Algorithms
Definition of Wave Algorithms (5) 2017/4/24 Wave and Traversal Algorithms
Elementary Results about Wave Algorithms (1) 2017/4/24 Wave and Traversal Algorithms
Elementary Results about Wave Algorithms (2) 2017/4/24 Wave and Traversal Algorithms
Elementary Results about Wave Algorithms (3) 2017/4/24 Wave and Traversal Algorithms
Propagation of Information with Feedback (1) 2017/4/24 Wave and Traversal Algorithms
Propagation of Information with Feedback (2) 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms Synchronization 2017/4/24 Wave and Traversal Algorithms
Computation of Infimum Functions (1) 2017/4/24 Wave and Traversal Algorithms
Computation of Infimum Functions (2) 2017/4/24 Wave and Traversal Algorithms
Computation of Infimum Functions (3) 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (1) In all cases the algorithm text is given for the process p. The Ring Algorithm 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (2) 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (3) The Tree Algorithm (when a process receive all messages from its neighbor, decide) 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (4) (leave to root, root to leave) 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (5) The Echo Algorithm 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (6) 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (7) The Polling Algorithm 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (8) 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (9) The Phase Algorithm 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (10) 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (11) 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (12) Finn's Algorithm 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (13) 2017/4/24 Wave and Traversal Algorithms
A Collection of Wave Algorithms (14) 2017/4/24 Wave and Traversal Algorithms
Traversal Algorithms (1) 2017/4/24 Wave and Traversal Algorithms
Traversal Algorithms (2) 2017/4/24 Wave and Traversal Algorithms
Traversal Algorithms (3) Traversing Cliques 2017/4/24 Wave and Traversal Algorithms
Traversal Algorithms (4) 2017/4/24 Wave and Traversal Algorithms
Traversal Algorithms (5) Traversing Tori 2017/4/24 Wave and Traversal Algorithms
Traversal Algorithms (6) Traversing Hypercubes 2017/4/24 Wave and Traversal Algorithms
Traversal Algorithms (7) Traversing Connected Networks A traversal algorithm for arbitrary connected networks was given by Tarry in 1895. 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms 2017/4/24 Wave and Traversal Algorithms
Time Complexity: Depth-first Search (1) The processes in Tarry's algorithm are given sufficient freedom, in choosing a neighbor to which to forward the token. In Section 6.4.1, a minor modification of Tarry's algorithm enables the algorithm to compute depth-first search trees. (classical depth-first search algorithm) In Subsection 6.4.2 two algorithms will be discussed that compute depth-first search trees in less time than the classical algorithm. In Subsection 6.4.3 a depth-first search algorithm will be presented for networks with initial knowledge of neighbors' identities. 2017/4/24 Wave and Traversal Algorithms
Time Complexity: Depth-first Search (2) The time complexity of distributed algorithms 2017/4/24 Wave and Traversal Algorithms
Distributed Depth-first Search (1) 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms 2017/4/24 Wave and Traversal Algorithms
Depth-first Search Algorith'ms Using Linear Time Awerbuch's solution Cidon's solution 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms 2017/4/24 Wave and Traversal Algorithms
Depth-first Search with Neighbor Knowledge 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms Remaining Issues (1) Overview of Wave Algorithms Computing Sums Impossibility of a general construction Computing the sum with a traversal algorithm Computing the sum using a spanning tree Computing the sum using identities Alternative Definitions of Time Complexity 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms 2017/4/24 Wave and Traversal Algorithms
Wave and Traversal Algorithms Remaining Issues (2) Definitions based on more restrictive timing assumptions Definition based on message chains 2017/4/24 Wave and Traversal Algorithms