300 likes | 575 Views
Self-stabilization. Man vs. machine: fact 1. An average household in the developed countries has 50+ processors . Most are embedded or special purpose in nature. A checklist. BMW 7 series car 55+ Washing and drying machines 2 Mobile phone 1 Digital TV 1 Camera 1
E N D
Self-stabilization University of Iowa
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
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
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
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
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
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
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-conditionpost-condition self-stabilizing system The University of Iowa
Self-stabilizing systems Transient failures perturb the global state. The ability to spontaneously recover from any initial state implies that no initialization is ever required State space legal The University of Iowa
Self-stabilizing systems Self-stabilizing systems exhibits non-masking fault-tolerance. It satisfies the following two criteria fault • Convergence • Closure Not Legal Legal convergence closure The University of Iowa
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
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
Sample case 0 0 1 1 1 2 4 2 2 4 5 3 4 3 5 3 5 University of Iowa
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 University of Iowa
A spanning tree example L=3 L=1 L=2 L=0 root L=4 L=5 L=6 L(i) = L (P(i)) + 1 When L becomes > n-1, a node looks for a new parent. The University of Iowa
A spanning tree example L=5 L=3 L=0 L=1 root L=5 L=4 L=6 L(i) = L (P(i)) + 1 When L becomes > n-1, a node looks for a new parent. The University of Iowa
A spanning tree example L=0 L=1 L=5 L=6 root L=5 L=4 L=6 L(i) = L (P(i)) + 1 When L becomes > n-1, a node looks for a new parent. . The University of Iowa
A spanning tree example L=6 L=1 L=5 L=0 root L=7 L=5 L=6 L(i) = L (P(i)) + 1 When L becomes > n-1, a node looks for a new parent. The University of Iowa
A spanning tree example L=5 L=6 L=0 L=1 root L=6 L=5 L=6 L(i) = L (P(i)) + 1 When L becomes > n-1, a node looks for a new parent. The University of Iowa
A spanning tree example L=5 L=0 L=1 L=6 root L=6 L=6 L=7 L(i) = L (P(i)) + 1 When L becomes > n-1, a node looks for a new parent. . The University of Iowa
A spanning tree example L=1 L=0 L=5 L=6 root L=6 L=3 L=2 L(i) = L (P(i)) + 1 When L becomes > n-1, a node looks for a new parent. The University of Iowa
A spanning tree example L=6 L=1 L=4 L=0 root L=2 L=3 L=3 L(i) = L (P(i)) + 1 When L becomes > n-1, a node looks for a new parent. The University of Iowa
A spanning tree example L=4 L=0 L=1 L=5 root L=2 L=3 L=3 L(i) = L (P(i)) + 1 When L becomes > n-1, a node looks for a new parent. The University of Iowa
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
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
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. University of Iowa
Pursuer Evader Games In a disaster zone, rescuers (pursuers) can track hot spots (evaders) using sensor networks. (Arora, Demirbas 2003) The University of Iowa
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
Conclusion • Applications are growing. • New techniques for convergence by studying the behavior of biological elements. • Relationship between game theory and stabilization is worth studying The University of Iowa