Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Weighted graphs Example Consider the following graph, where nodes represent cities, and edges show if there is a direct flight between each pair of cities.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
Greed is good. (Some of the time)
Graphs Chapter 12. Chapter Objectives  To become familiar with graph terminology and the different types of graphs  To study a Graph ADT and different.
Chapter 8, Part I Graph Algorithms.
Minimum Spanning Trees
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Self Stabilization 1.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
1 Complexity of Network Synchronization Raeda Naamnieh.
Applied Discrete Mathematics Week 12: Trees
CPSC 668Set 2: Basic Graph Algorithms1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
1 Minimum Spanning Trees Gallagher-Humblet-Spira (GHS) Algorithm.
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.
LSRP: Local Stabilization in Shortest Path Routing Hongwei Zhang and Anish Arora Presented by Aviv Zohar.
CPSC 668Self Stabilization1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
1 8-ShortestPaths Shortest Paths in a Graph Fundamental Algorithms.
LSRP: Local Stabilization in Shortest Path Routing Anish Arora Hongwei Zhang.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
Spring 2010CS 2251 Graphs Chapter 10. Spring 2010CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs.
TCOM 501: Networking Theory & Fundamentals
Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 1 A self-stabilizing algorithm for the maximum flow.
Tirgul 7 Review of graphs Graph algorithms: – BFS (next tirgul) – DFS – Properties of DFS – Topological sort.
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.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Theory of Computing Lecture 7 MAS 714 Hartmut Klauck.
Distributed Algorithms 2014 Igor Zarivach A Distributed Algorithm for Minimum Weight Spanning Trees By Gallager, Humblet,Spira (GHS)
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Jim Anderson Comp 122, Fall 2003 Single-source SPs - 1 Chapter 24: Single-Source Shortest Paths Given: A single source vertex in a weighted, directed graph.
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Selected topics in distributed computing Shmuel Zaks
MST Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Rate-based Data Propagation in Sensor Networks Gurdip Singh and Sandeep Pujar Computing and Information Sciences Sanjoy Das Electrical and Computer Engineering.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
TCP Traffic and Congestion Control in ATM Networks
Based on slides by Y. Peng University of Maryland
Introduction to Algorithms Jiafen Liu Sept
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
CSE 2331 / 5331 Topic 12: Shortest Path Basics Dijkstra Algorithm Relaxation Bellman-Ford Alg.
Introduction to Graphs And Breadth First Search. Graphs: what are they? Representations of pairwise relationships Collections of objects under some specified.
Fault Management in Mobile Ad-Hoc Networks by Tridib Mukherjee.
Analysis of Algorithms CS 477/677 Instructor: Monica Nicolescu Lecture 20.
DISTRIBUTED ALGORITHMS Spring 2014 Prof. Jennifer Welch Set 2: Basic Graph Algorithms 1.
Tree Constructions Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
Graphs. Graphs Similar to the graphs you’ve known since the 5 th grade: line graphs, bar graphs, etc., but more general. Those mathematical graphs are.
LOCALIZED MINIMUM - ENERGY BROADCASTING IN AD - HOC NETWORKS Paper By : Julien Cartigny, David Simplot, And Ivan Stojmenovic Instructor : Dr Yingshu Li.
Graphs Chapter 12. Chapter 12: Graphs2 Chapter Objectives To become familiar with graph terminology and the different types of graphs To study a Graph.
ITEC452 Distributed Computing Lecture 15 Self-stabilization Hwajung Lee.
Data Structures and Algorithm Analysis Graph Algorithms Lecturer: Jing Liu Homepage:
Self-Stabilizing Systems
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Proof of correctness of Dijkstra’s algorithm: Basically, we need to prove two claims. (1)Let S be the set of vertices for which the shortest path from.
1 GRAPHS – Definitions A graph G = (V, E) consists of –a set of vertices, V, and –a set of edges, E, where each edge is a pair (v,w) s.t. v,w  V Vertices.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
CSE 373: Data Structures and Algorithms Lecture 21: Graphs V 1.
Trees.
CONNECTED-COMPONENTS ALGORITHMS FOR MESH-CONNECTED PARALLEL COMPUTERS
CS60002: Distributed Systems
3.5 Minimum Cuts in Undirected Graphs
Introduction Wireless Ad-Hoc Network
Chapter 11 Graphs.
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
Weighted Graphs & Shortest Paths
Minimum Spanning Trees
Presentation transcript:

Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu

A Self-Stabilizing Distributed Algorithm to Construct An Arbitrary Spanning Tree of a Connected Graph Gheorghe Antonoiou, Pradip K Srimani (1995)

3/35 Motivation Self-Stabilizing Algorithms  Malfunctions and perturbations bring the system to some illegitimate state  It is desirable that the system be automatically brought back to the legitimate state without the interference of an external agent  Systems that reach the legitimate state starting from any illegitimate state in a finite number of steps are called self- stabilizing systems  This kind of property is highly desirable for any distributed system, since without having a global memory, global synchronization is achieved in finite time and thus the system can correct itself automatically from spurious perturbation or failures.

4/35 Motivation Every node in a self-stabilizing system has a set of rules, each rule having two parts  Antecedent part (boolean condition)  Action part A node is said to be privileged if the antecedent part of some rule is true for that node. Privileged nodes execute their action part (make a move)  Changing the local state  Changing the values of the local variables Any privileged node that makes a move is called an active node.

5/35 Motivation The objective of this work is to develop a self-stabilizing algorithm that maintains any arbitrary spanning tree There exist self-stabilizing algorithms for the spanning tree problem but these algorithms always construct a breadth-first spanning tree; they cannot recognize an arbitrary spanning tree The algorithm also allows multiple active nodes at the same time

6/35 The Algorithm Definitions  r: Root node  n: number of nodes in the graph  N(i): set of the neighbors of node i  L(i): level of node i  P(i): predecessor pointer of node i, pointing to one of the nodes in V. The basic idea is whenever the system is in an illegitimate state at least one of the nodes should be able to recognize it and should take some corrective action

7/35 The Algorithm Predicate 1:  The system is in a legitimate (stable) state iff

8/35 The Algorithm Predicate 2: The predicate is true for a node i iff there exists at least one neighbor of node i with a level less than that of node i

9/35 The Algorithm The rule at node i: Reminder:

10/35 The Algorithm Remarks:  The root node may be privileged in an illegitimate state, but once it takes action it becomes un privileged and can never be privileged again. This is not true for other nodes  If a privileged node changes only its level value (and not the predecessor), we call this a type I move; otherwise if it changes both its level and predecessor we call it a type II move  If a privileged node makes a type II move, it becomes un privileged and remains so until the new predecessor node takes some action; if a privileged node makes a type I move, it may still be privileged after the move.  The root node r is privileged iff ; any other node is privileged iff

11/35 The Algorithm Example Operation:

A Self-Stabilizing Distributed Algorithm to Construct BFS Spanning Trees of a Symmetric Graph Sumit Sur, Pradip K Srimani (1992)

13/35 The Algorithm The objective of the algorithm is to construct a BFS spanning tree on an arbitrary connected symmetric graph  The algorithm is similar to the previous one, only small changes in the predicates and rules  Following subset is defined:  Predicate:

14/35 The Algorithm In any connected symmetric graph, the legitimate state represents a BFS spanning tree Proof. Root node has level 0, and all its neighbors have level 1. Similarly all neighboring nodes of the level 1 nodes except r have a level of 2. Repeating this argument for all the nodes, we see that the predecessor pointers give a BFS spanning tree

15/35 The Algorithm The algorithm has one rule for the self-stabilization property:

16/35 The Algorithm Example: r,0a,5 b,4c,5 d,4 e,5 r,0a,5 b,4c,5 d,4 e,5 r,0a,5 b,4c,1 d,4 e,5 r,0a,5 b,4c,1 d,1 e,5

17/35 The Algorithm Example: r,0a,1 b,4c,1 d,1 e,5 r,0a,1 b,2c,1 d,1 e,5 r,0a,1 b,2c,1 d,1 e,2

Self-Stabilizing Multicast Protocols for Ad-Hoc Networks Sandeep K.S. Gupta, Pradip K Srimani (2002)

19/35 Motivation Two distributed algorithms are proposed  Shortest path spanning tree (SPST) SPST is a distributed self-stabilizing algorithm which maintains a shortest-path tree rooted at the center node (r)  Minimal spanning tree (MST) MST is a distributed self-stabilizing algorithm which maintains minimal weight spanning tree on a uniquely weighted graph

20/35 SPST Algorithm A center based multicast tree is shared by all the multicast group members When a source wants to multicast a message, it sends the message to the center node (r) A good center finding algorithm is assumed to find the center node

21/35 SPST Algorithm Definition:  The shortest path spanning tree of a given symmetric graph is defined to be a spanning tree of the graph where the distance of each node from the given root in the tree is equal to the shortest distance of the node from the root node in the original graph  S i (r) is the length of the shortest path from node i to r  D i (r) is the current estimate of S i (r) at node i  P i is the predecessor pointer of node i  N(i) contains neighboring nodes of i that are currently estimated shortest paths from node i to r

22/35 SPST Algorithm In an illegitimate state, any node i, including the reference node r  Can have an arbitrary value for D i (r) between 0 and some large positive number (MAXINT)  Can point to an arbitrary node to be its predecessor in the shortest path spanning tree The system is inthe legitimate state iff Any state which is not legitimate is an illegitimate or unstable state

23/35 SPST Algorithm The idea is that whenever the system is in an illegitimate state, at least one node recognizes it and takes corrective action Each node looks at the states of its adjacent neighbors and checks the local satisfiability of the global legitimate state Each node executes the following code

24/35 MST Algorithm The minimal spanning tree (MST) of the graph is defined to be a spanning tree of the graph such that the sum of the weights of the edges inthe tree is less than or equal to that for all possible spanning trees of the graph REMARK: If the weights of a graph are unique (distinct), the graph has a unique MST

25/35 MST Algorithm Definitions:  α-cost of any path from node i to j is defined to be the maximum of the weights of the edges belonging to the path  ψ ij is defined to be the minimum among the α-cost of all possible paths between the nodes i and j  Minimum-α path is the path along which ψ ij is defined (not the shortest path)  D(i) the current estimate of ψ ir as known at node i  L(i) level of node i, the current estimate of the number of edges on the minimum α-cost path First develop a self-stabilizing algorithm to find minimum-α cost path and generalize it

26/35 MST Algorithm - Minimum-α cost path Minimum-α cost path  Each node i attempts to compute the α-cost of the shortest path to the node r  Each node maintains two data structures: D(i) and L(i)  The pair (D(i),L(i)) gives the state of the node i Definitions:  is the set of nodes which have level values smaller than a constant C .

27/35 MST Algorithm - Minimum-α cost path

28/35 MST Algorithm - Minimum-α cost path In a legitimate state, L(r) = D(r) = 0 In a legitimate state, any node x other than r, with L(x) < C has N c (X) != Ø and has at least one neighbor y such that L(y) = L min (x) - 1 In a legitimate state, when no node is privileged, for any arbitrary node x, L(x) < C In a legitimate state, when no node is privileged, for any arbitrary node x, we have D(x) = ψ xr The protocol terminates, i.e., the system reaches a legitimate state after at most n rounds, where n is the number of nodes in the graph

29/35 MST Algorithm Instead of the simple local variable D(i), each node i now maintains a local array D i [1...n] And instead of the simple local variable L(i) each node i now maintains a local array L i [1...n] The value of D i [j] gives the cost of the minimum-α cost path from node i to j Similarly, the value of L i [j] is the value of the level of node i with respect to the implicit tree rooted at node j ψ ij denotes the cost of the minimum-α cost path from node i to node j for all i and Ω i at each node i keeps track of the MST edges incident on node i

30/35 MST Algorithm

31/35 MST Algorithm Construction of the MST is completed by at most n rounds The process of rooting the MST at the source node r takes at most n rounds, after the MST has stabilized The MST protocol stabilizes in at most 2n rounds

32/35 Questions...