Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
-
Upload
london-thor -
Category
Documents
-
view
220 -
download
0
Transcript of 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
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
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
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
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 .
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
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