Teacher: Chun-Yuan Lin

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Exact Inference. Inference Basic task for inference: – Compute a posterior distribution for some query variables given some observed evidence – Sum out.
Chapter 4 Downcasts and Upcasts. 4.1 Downcasts At first we assume the case where the root has m distinct items A = {  1, …,  m }, each destined to one.
Lecture 8: Asynchronous Network Algorithms
Chapter 15 Basic Asynchronous Network Algorithms
Exact Inference in Bayes Nets
Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.
Lectures on Network Flows
Chapter 12: Expert Systems Design Examples
Hidden Markov Models M. Vijay Venkatesh. Outline Introduction Graphical Model Parameterization Inference Summary.
Termination Detection. Goal Study the development of a protocol for termination detection with the help of invariants.
Termination Detection Part 1. Goal Study the development of a protocol for termination detection with the help of invariants.
1 Complexity of Network Synchronization Raeda Naamnieh.
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation.
An Introduction to Input/Output Automata Qihua Wang.
CPSC 668Set 2: Basic Graph Algorithms1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
CPSC 668Set 3: Leader Election in Rings1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Chapter 4 - Self-Stabilizing Algorithms for Model Conservation4-1 Chapter 4: roadmap 4.1 Token Passing: Converting a Central Daemon to read/write 4.2 Data-Link.
Chapter 5 Trees PROPERTIES OF TREES 3 4.
A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.
Raeda Naamnieh 1. The Partition Algorithm Intuitively, the idea of the following algorithm is to choose each cluster as a maximal subset of nodes whose.
CS Dept, City Univ.1 The Complexity of Connectivity in Wireless Networks Presented by LUO Hongbo.
Distributed Constraint Optimization * some slides courtesy of P. Modi
Election Algorithms and Distributed Processing Section 6.5.
Extracting Places and Activities from GPS Traces Using Hierarchical Conditional Random Fields Yong-Joong Kim Dept. of Computer Science Yonsei.
Complexity of Bellman-Ford Theorem. The message complexity of Bellman-Ford algorithm is exponential. Proof outline. Consider a topology with an even number.
Distributed Algorithms 2014 Igor Zarivach A Distributed Algorithm for Minimum Weight Spanning Trees By Gallager, Humblet,Spira (GHS)
Broadcast & Convergecast Downcast & Upcast
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Distributed Computing 5. Synchronization Shmuel Zaks ©
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Snap-Stabilizing PIF and Useless Computations Alain Cournier, Stéphane Devismes, and Vincent Villain ICPADS’2006, July , Minneapolis (USA)
Parallel and Distributed Algorithms Eric Vidal Reference: R. Johnsonbaugh and M. Schaefer, Algorithms (International Edition) Pearson Education.
Consensus and Its Impossibility in Asynchronous Systems.
Review for Exam 2. Topics included Deadlock detection Resource and communication deadlock Graph algorithms: Routing, spanning tree, MST, leader election.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 10, 2005 Session 9.
Complexity of Bellman-Ford
1 Broadcast. 2 3 Use a spanning tree Root 4 synchronous It takes the same time at link to send a message It takes the same time at each node to process.
Termination Detection
A correction The definition of knot in page 147 is not correct. The correct definition is: A knot in a directed graph is a subgraph with the property that.
Lecture #14 Distributed Algorithms (II) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
DISTRIBUTED ALGORITHMS Spring 2014 Prof. Jennifer Welch Set 2: Basic Graph Algorithms 1.
Exact Inference in Bayes Nets. Notation U: set of nodes in a graph X i : random variable associated with node i π i : parents of node i Joint probability:
Comparison of Tarry’s Algorithm and Awerbuch’s Algorithm CS 6/73201 Advanced Operating System Presentation by: Sanjitkumar Patel.
Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with.
1 Review Questions Define n variables, types of shared variables, message-passing, shared-memory system, system topology n program-counter/guarded command.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 3: Leader Election in Rings 1.
Dijkstra-Scholten and Shavit-Francez termination algorithms
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
2016/6/23Election Algorithms1 Introduction to Distributed Algorithm Part Two: Fundamental Algorithm Chapter 7- Election Algorithms Teacher: Chun-Yuan Lin.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
2016/7/2Appendices A and B1 Introduction to Distributed Algorithm Appendix A: Pseudocode Conventions Appendix B: Graphs and Networks Teacher: Chun-Yuan.
1 Traversal Algorithms  sequential polling algorithm  traversing connected networks (tree construction) complexity measures tree terminology tarry’s.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Distributed Processing Election Algorithm
Lectures on Network Flows
Lecture 9: Asynchronous Network Algorithms
COMS W1004 Introduction to Computer Science and Programming in Java
Wave and Traversal Algorithms
CS60002: Distributed Systems
Distributed Consensus
Tree Construction (BFS, DFS, MST) Chapter 5
Graphs Chapter 11 Objectives Upon completion you will be able to:
Leader Election Ch. 3, 4.1, 15.1, 15.2 Chien-Liang Fok 4/29/2019
CS60002: Distributed Systems
Synchronizers Outline motivation principles and definitions
Presentation transcript:

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