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

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

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

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:

)}}({min)()(:{)( kLjLiNjjiS N(i)k

)()(1))(()(: iSiPiSLiLri

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:

)(,)(;1))(()(

)}()(1))(()({1))((

iSkkiPiSLiL

iSiPiSLiLniSLri

16/35

The Algorithm Example:

r,0 a,5

b,4c,5

d,4

e,5

r,0 a,5

b,4c,5

d,4

e,5

r,0 a,5

b,4c,1

d,4

e,5

r,0 a,5

b,4c,1

d,1

e,5

17/35

The Algorithm Example:

r,0 a,1

b,4c,1

d,1

e,5

r,0 a,1

b,2c,1

d,1

e,5

r,0 a,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

Si(r) is the length of the shortest path from node i to r

Di(r) is the current estimate of Si(r) at node i

Pi 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 Di(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

))()(()()(: iNPriNULLiPrirSrDVi iii

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 Nc(X) != Ø and has at least one neighbor y such that L(y) = Lmin(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 Di[1...n] And instead of the simple local variable L(i) each node i now

maintains a local array Li[1...n]

The value of Di[j] gives the cost of the minimum-α cost path from node i to j

Similarly, the value of Li[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 ...