DISTRIBUTED SYSTEMS II A POLYNOMIAL LOCAL SOLUTION TO MUTUAL EXCLUSION Prof Philippas Tsigas Distributed Computing and Systems Research Group.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

What is Link Reversal? Distributed algorithm design technique
Single Source Shortest Paths
Lecture 7 March 1, 11 discuss HW 2, Problem 3
Paris, 3 Dec 2007MPRI Course on Concurrency MPRI – Course on Concurrency Lecture 12 Probabilistic process calculi Catuscia Palamidessi LIX, Ecole Polytechnique.
Lecture 8: Asynchronous Network Algorithms
Chapter 15 Basic Asynchronous Network Algorithms
Dining Philosophers (Diners) Problem n definition n Chandy and Misra solution n extension to drinking philosophers.
Chapter 5 Shortest Paths: Label-Correcting Algorithms
Lecture 7: Synchronous Network Algorithms
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Self Stabilization 1.
Lecture 4: Elections, Reset Anish Arora CSE 763 Notes include material from Dr. Jeff Brumfield.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Università degli Studi dell’Aquila Academic Year 2009/2010 Course: Algorithms for Distributed Systems Instructor: Prof. Guido Proietti Time: Monday:
1/14 Ad Hoc Networking, Eli M. Gafni and Dimitri P. Bertsekas Distributed Algorithm for Generating Loop-free Routes in Networks With Frequently.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
1 Complexity of Network Synchronization Raeda Naamnieh.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
CPSC 668Self Stabilization1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
TCOM 501: Networking Theory & Fundamentals
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 2 – Distributed Systems.
מבנה המחשב – מבוא למחשבים ספרתיים Foundations of Combinational Circuits תרגול מספר 3.
1 Analysis of Link Reversal Routing Algorithms Srikanta Tirthapura (Iowa State University) and Costas Busch (Renssaeler Polytechnic Institute)
Message Passing Systems A Formal Model. The System Topology – network (connected undirected graph) Processors (nodes) Communication channels (edges) Algorithm.
TORA : Temporally Ordered Routing Algorithm Invented by Vincent Park and M.Scott Corson from University of Maryland. TORA is an on-demand routing protocol.
Message Passing Systems A Formal Model. The System Topology – network (connected undirected graph) Processors (nodes) Communication channels (edges) Algorithm.
CSCI-455/552 Introduction to High Performance Computing Lecture 18.
Distributed Asynchronous Bellman-Ford Algorithm
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
1 A Mutual Exclusion Algorithm for Ad Hoc Mobile networks Presentation by Sanjeev Verma For COEN th Nov, 2003 J. E. Walter, J. L. Welch and N. Vaidya.
What is Link Reversal? Distributed algorithm design technique
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Leader Election Algorithms for Mobile Ad Hoc Networks Presented by: Joseph Gunawan.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Prof. Swarat Chaudhuri COMP 482: Design and Analysis of Algorithms Spring 2012 Lecture 10.
Dijkstra’s Algorithm. Announcements Assignment #2 Due Tonight Exams Graded Assignment #3 Posted.
Introduction to Graphs. Introduction Graphs are a generalization of trees –Nodes or verticies –Edges or arcs Two kinds of graphs –Directed –Undirected.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
Review for Exam 2. Topics included Deadlock detection Resource and communication deadlock Graph algorithms: Routing, spanning tree, MST, leader election.
DISTRIBUTED SYSTEMS II CLOSING Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Chapter 11 Resource Allocation by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Impossibility of Distributed Consensus with One Faulty Process By, Michael J.Fischer Nancy A. Lynch Michael S.Paterson.
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Graph Algorithms Why graph algorithms ? It is not a “graph theory” course! Many problems in networks can be modeled as graph problems. Note that -The topology.
Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘length’ c ij (cost, time, distance, …). Determine a path of shortest.
1 Chapter 11 Global Properties (Distributed Termination)
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Optimally Modifying Software for Safety and Functionality Sampath Kannan U.Penn (with Arvind Easwaran & Insup Lee)
Asstt. Professor Adeel Akram. Other Novel Routing Approaches Link reversal Aimed for highly dynamic networks Goal: to identify some path, as opposed.
Network Layer.
Distributed systems II Closing
The Echo Algorithm The echo algorithm can be used to collect and disperse information in a distributed system It was originally designed for learning network.
Dining Philosophers (Diners) Problem
Distributed systems II Closing
Lecture 9: Asynchronous Network Algorithms
THE NETWORK LAYER.
Routing: Distance Vector Algorithm
Analysis of Link Reversal Routing Algorithms
Distributed systems II A polynomial local solution to Mutual Exclusion
CSCE 411 Design and Analysis of Algorithms
GENI Summer Camp Project Resilient Networks with DAG
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
Lecture 13 Algorithm Analysis
CSE 417: Algorithms and Computational Complexity
Network Layer.
Presentation transcript:

DISTRIBUTED SYSTEMS II A POLYNOMIAL LOCAL SOLUTION TO MUTUAL EXCLUSION Prof Philippas Tsigas Distributed Computing and Systems Research Group

Doorways  Doorway is a separation mechanism of two areas.  Processes which pass a doorway at time T prevent neighbor processes entering the same area at a greater time than T until exiting the doorway.

Asynchronous Doorway Enry CodeExit Code m1 is the “I am going in” message

Behavior

Problem with the Asynchronous Doorway

Synchronous Doorway  A process which desires to enter a synchronous doorway is required to wait for a situation in which all its neighbors are outside the doorway. This is implemented by checking for a process the states of its neighbors before it enters the doorway.

Synchronous Doorway Entry code:Exit code:

What Can Go Wrong?

What if We Combine?

LINK REVERSAL ALGORITHMS Based on slides from Jennifer Welch

12 What is Link Reversal?  Distributed algorithm design technique  Used in solutions for a variety of problems –routing, leader election, mutual exclusion, scheduling, resource allocation,…  Model problem as a directed graph and reverse the direction of links appropriately  Use local knowledge to decide which links to reverse

Routing [Gafni & Bertsekas 1981]  Undirected connected graph represents communication topology of a system  Unique destination node  Assign virtual directions to the graph edges (links) s.t. –if nodes forward messages over the links, they reach the destination  Directed version of the graph (orientation) must –be acyclic –have destination as only sink Thus every node has path to destination. 13

Routing Example 14 D

Mending Routes  What happens if some edges go away? –Might need to change the virtual directions on some remaining edges (reverse some links)  More generally, starting with an arbitrary directed graph, each node should decide independently which of its incident links to reverse 15

Mending Routes Example 16 D

Sinks  A vertex with no outgoing links is a sink.  The property of being a sink can be detected locally.  A sink can then reverse some incident links  Basis of several algorithms… 17

Full Reversal Routing Algorithm 18  Input: directed graph G with destination vertex D  Let S(G) be set of sinks in G other than D  while S(G) is nonempty do –reverse every link incident on a vertex in S(G) –G now refers to resulting directed graph

19 Full Reversal (FR) Routing Example D D D D D D

Why Does FR Terminate?  Suppose it does not.  Let W be vertices that take infinitely many steps.  Let X be vertices that take finitely many steps; includes D.  Consider neighboring nodes w in W, x in X.  Consider first step by w after last step by x: link is w  x and stays that way forever.  Then w cannot take any more steps, contradiction. 20

Why is FR Correct?  Assume input graph is acyclic.  Acyclicity is preserved at each iteration: –Any new cycle introduced must include a vertex that just took a step, but such a vertex is now a source (has no incoming links)  When FR terminates, no vertex, except possibly D, is a sink.  A DAG must have at least one sink: –if no sink, then a cycle can be constructed  Thus output graph is acyclic and D is the unique sink. 21

References Resource Allocation and Link Reversal  Dijkstra, E. W. (1971, June). Hierarchical ordering of sequential processes. Acta Informatica 1(2):  Chandy, K.M.; Misra, J. (1984). The Drinking Philosophers Problem. ACM Transactions on Programming Languages and Systems.  Nancy A. Lynch. Upper bounds for static resource allocation in a distributed system Journal for Computer and System Sciences, 23: , 1981  Manhoi Choy and Ambuj K. Singh. Efficient fault-tolerant algorithms for distributed resource allocation. ACM Transactions on Programming Languages and Systems, 17(3): , May  Gafni and Bertsekas, “Distributed Algorithms for Generating Loop-Free Routes in Networks with Frequently Changing Topology,” IEEE Trans. Comm  Welch and Walter, “Link Reversal Algorithms,” Synthesis Lectures on Distributed Computing Theory #8, Morgan & Claypool Publishers,