Upload
edgar-jennings
View
214
Download
0
Embed Size (px)
Citation preview
University of Iowa 1
Self-stabilization
The University of Iowa 2
Man vs. machine: fact 1
An average household in the developed
countries has 50+ processors. Most are
embedded or special purpose in nature.
The University of Iowa 3
A checklist BMW 7 series car 55+ Washing and drying machines 2 Mobile phone 1 Digital TV 1 Camera 1 CD / DVD / MP3 player 1 Kitchen gadgets 3 + PC / laptop/ accessories 2-3
The University of Iowa 4
Man vs. machine fact 2
The number of processors in the world
is increasing at a faster pace than the
number of human beings. We are being
outnumbered by the processors.
The University of Iowa 5
Man vs. machine: fact 3
As computing becomes ubiquitous,
failures and perturbations become
expected events. Systems must adapt to
such events. There will not be enough
human beings to fix the systems!
The University of Iowa 6
So What?
Future systems should be able to take care of
themselves. These include the ability to self-
organize, self-heal, self-optimize etc.
IBM proclaimed autonomic computing as their vision of the
future of computing systems. Such systems will be able to
self-heal, self-organize, self-optimize and self-protect.
The University of Iowa 7
Self-stabilization The earliest concept in the self -* category
Coined by Dijkstra (CACM 74) illustrating three
mutual exclusion systems that recover to a legal
configurations (i.e. exactly one process in its critical
section) from ANY initial configuration.
The University of Iowa 8
Self-stabilizing systems
Recover from any initial configuration to a legitimate
configuration in a bounded number of steps as long
as the codes are in tact.
{true} SSS {Legal}
Pre-condition post-condition
self-stabilizing system
The University of Iowa 9
Self-stabilizing systems
State space
legal
Transient failures perturb the global state.
The ability to spontaneously recover from any
initial state implies that no initialization is ever required
The University of Iowa 10
Self-stabilizing systems
Self-stabilizing systems exhibits non-masking fault-
tolerance. It satisfies the following two criteria
fault
1. Convergence
2. Closure
Not Legal Legal
convergence
closure
University of Iowa 11
Example: Spanning tree construction
Given a connected graph G=(V,E) and a root r,
design an algorithm for maintaining a spanning
tree in presence of transient failures that may
corrupt the local states of processes. Nodes are
numbered 0, 1, 2, .., n-1
n = |V|
University of Iowa 12
Definitions
Each process i has two variables:
L = level, its distance from the root r via tree edges
P = parent
N(i) denotes the neighbors of i
By definition L(r) = 0, and P(r) is undefined.
In a legal state i V: i ≠ r, L(i) ≠ n and P(i) ≠ n,
and L(i) = L(P(i))+1.
University of Iowa 13
Sample case
0
1
2
5
4
3
0
1
2
5
4
3
1
2
3 4
5
University of Iowa 14
The algorithm
Repeat
(R1). If (L(i)≠ n) (L(i) ≠ L(P(i)) +1) (L(P) ≠ n) → L(i) :=L(P(i))+1
(R2). if (L(i) n) (L(P(i))=n) → L(i):=n
(R3) if (L(i)=n) (k N(i):L(k) < n-1) → L(i) :=L(k)+1; P(i):= k
od
The University of Iowa 15
A spanning tree example
L=0 L=1 L=2 L=3
L=4L=5
L(i) = L (P(i)) + 1
When L becomes > n-1, a node looks for a new parent.
root
L=6
The University of Iowa 16
A spanning tree exampleL=0 L=1 L=5 L=3
L=4L=5
L(i) = L (P(i)) + 1
When L becomes > n-1, a node looks for a new parent.
root
L=6
The University of Iowa 17
A spanning tree example
L=0 L=1 L=5 L=6
L=4L=5
L(i) = L (P(i)) + 1
When L becomes > n-1, a node looks for a new parent.
.
root
L=6
The University of Iowa 18
A spanning tree example
L=0 L=1 L=5 L=6
L=7L=5
L(i) = L (P(i)) + 1
When L becomes > n-1, a node looks for a new parent.
root
L=6
The University of Iowa 19
A spanning tree example
L=0 L=1 L=5 L=6
L=6L=5
L(i) = L (P(i)) + 1
When L becomes > n-1, a node looks for a new parent.
root
L=6
The University of Iowa 20
A spanning tree example
L=0 L=1 L=5 L=6
L=6L=7
L(i) = L (P(i)) + 1
When L becomes > n-1, a node looks for a new parent.
.
root
L=6
The University of Iowa 21
A spanning tree example
L=0 L=1 L=5 L=6
L=6L=2
L(i) = L (P(i)) + 1
When L becomes > n-1, a node looks for a new parent.
root
L=3
The University of Iowa 22
A spanning tree example
L=0 L=1 L=4 L=6
L=3L=2
L(i) = L (P(i)) + 1
When L becomes > n-1, a node looks for a new parent.
root
L=3
The University of Iowa 23
A spanning tree example
L=0 L=1 L=4 L=5
L=3L=2
L(i) = L (P(i)) + 1
When L becomes > n-1, a node looks for a new parent.
root
L=3
University of Iowa 24
Proof of stabilization
Define an edge from i to P(i) to be well-formed,
when L(i) ≠ n, L(P(i) ≠ n and L(i) = L(P(i))+1.
In any configuration, the well-formed edges form
a spanning forest. Delete all edges that are not
well-formed. Designate each tree T(k) in the
forest by the lowest value of L in it.
University of Iowa 25
Example In the sample graph shown earlier.
T(0) = {0, 1}
T(2) = {2, 3, 4, 5}
Let F(k) denote the number of T(k) in the forest.
Define a tuple F= (F(0), F(1), F(2) …, F(n)). For the sample graph, F = (1, 0, 1, 0, 0, 0) after node 2 underwent a transient failure.
University of Iowa 26
Skeleton of the proof
Minimum F = (1,0,0,0,0,0) {legal configuration}
Maximum F = (1, n-1, 0, 0, 0, 0).
With each action of the algorithm, F decreases
lexicographically. Verify the claim!
This proves that eventually F becomes (1,0,0,0,0,0) and
the spanning tree stabilizes.
The University of Iowa 27
Pursuer Evader Games
In a disaster zone,
rescuers (pursuers)
can track hot spots
(evaders) using
sensor networks.
(Arora, Demirbas 2003)
The University of Iowa 28
Pursuer Evader Games
A spanning tree (DFS) is
constructed on-the-fly with
the evader as the root.
How fast can the pursuer
“catch” the evader?
The University of Iowa 29
Conclusion Applications are growing.
New techniques for convergence by studying the behavior of biological elements.
Relationship between game theory and stabilization is worth studying