110 likes | 167 Views
Stabilization. Consider nonmasking Fault-Tolerance. Invariant Fault-Span Program computation that starts from fault-span is guaranteed to reach invariant? What if Fault-span = set of all states? Such systems are called self-stabilizing. Defining stabilization.
E N D
Consider nonmasking Fault-Tolerance • Invariant • Fault-Span • Program computation that starts from fault-span is guaranteed to reach invariant? • What if Fault-span = set of all states? • Such systems are called self-stabilizing
Defining stabilization • Starting from an arbitrary state, program eventually recovers to states from where subsequent computations are legitimate (i.e., meet the specification)
Token ring stabilization problem • Two problem cases: • no token • several tokens • Both cases are hard to detect locally • how can we make them easier to detect and/or correct locally? 4
Example • Consider a ring of processes 0..n • Each process has a variable x • Variable of j is x.j • Suppose x.j is an integer for now
Actions • At process j, j > 0 • x.j ≠ x.(j-1) x.j = x.(j-1) • At process 0 • x.0 = x.N x.0 = x.N+1 • Let initial state be such that all x values are 0
What if faults change value of x? • Can we show that recovery will be guaranteed from an arbitrary state • Assume that no processes actually fail.
What if we restrict domain of x? • Let x be from 0..M-1 • Change action at 0 as • x.0 = x.N x.0 = (x.N+1) mod M • What if M =2 (Assume N is arbitrary) • What if M = N?