710 likes | 826 Views
STABILIZATION & LOCALITY. Shay Kutten Technion, Israel. Recall: Traditional methods are global. * Dijkstra- 1 fault- O( n ) Time ; f faults- o( fn ) time * [Katz, Perry]- 1 st general method, 1 fault- O( n ) time (1) self stab bcast freezees all nodes
E N D
STABILIZATION & LOCALITY Shay Kutten Technion, Israel
Recall: Traditional methods are global * Dijkstra- 1 fault-O(n) Time; f faults- o(fn) time * [Katz, Perry]- 1st general method, 1 fault- O(n) time (1) self stab bcast freezees all nodes (2) global self-stab snapshot to a leaser (3) leader checks global state. (4) Leader initializes every node (if faulty) (5) bcast unfreezes nodes
Recall: Traditional methods are global(continuted) * Global reset (general) methods, 1 fault- O(n) time [Afek, Kutten, Yung], [Awerbuch, Patt-Shamir, Vargheses], [Awerbuch, K., Mansour, Patt-Shamir, Varghese] (1) bcast freezes all nodes (2) reset to a specific initial state [Dolev, Herman] superstabilizing global reset: (2’) reset to a state “nearest” to current state (still 1 fault- O(n) time)
8 8 8 8 8 8 8 8 8 8 7 = 8 8 7 8 7 token 7 8 7 7 8 Global effect example leader
8 8 8 8 8 8 8 8 leader 8 8 7 = 8 8 7 token 8 7 7 8 8 7 Global effect example
8 8 8 8 8 8 8 8 leader 8 8 7 = 8 8 7 token 8 7 8 8 8 7 Global effect example
7 8 8 8 8 8 8 8 8 leader 8 8 8 7 8 7 token 7 8 7 Global effect example
7 7 8 8 8 8 8 8 leader 8 8 8 7 8 7 token 7 8 7 Global effect example
7 7 8 7 8 8 8 8 leader 8 8 8 7 8 7 token 7 8 7 Global effect example
7 7 8 7 8 7 8 8 leader 8 8 8 7 8 7 token 7 8 7 Global effect example
The effect of one fault circles whole ring 7 7 8 7 8 7 8 7 leader 8 8 8 7 8 7 token 7 8 7 Global effect sample
General purpose computer A B Fast stupid switch E C D Fast route from A to C, passing only B’s stupid switch, not B’s general purpose computer. Possible since route is preset. Another example of self stab in industry
A B E C D In bcast how does A’s stupid switch detect that it already received the bcast Another example of self stab in Industry
A B E C D (non- self stab) solution- stupid switch forwards only over ports Ports of links marked tree Another example of self stab in industry
A B fault E C D (non- self stab) solution- (stupid) switch forwards only over ports Ports of links marked tree. Vulnerable to state fault: suppose the “tree” is really a cycle. Another example of self stab in industry
root A pulse pulse E B C D Industrial solutions to the self stab problem(1) Digital’s LAN bridges solution
root A pulse pulse E B pulse pulse C D Industrial Solutions to the self stab problem(1) Digital’s LAN Bridges Solution
root A pulse pulse E B pulse pulse C D pulse Industrial Solutions to the self stab problem(1) Digital’s LAN Bridges Solution
root A 6 6 E B C D Hop counter decreased. When hop counter reaches 0, discard message. Industrial Solutions to the self stab problem(2) IBM’s ATM Solution
root A 6 6 E B 5 5 C D Hop counter decreased. When hop counter reaches 0, discard message. Industrial Solutions to the self stab problem (2) IBM’s ATM Solution
root A E B 5 5 C D 4 4 4 Hop counter decreased. When hop counter reaches 0, discard message. Industrial Solutions to the self stab problem (2) IBM’s ATM Solution
root A E B 3 3 3 C D 4 4 4 3 Hop counter decreased. When hop counter reaches 0, discard message. Industrial Solutions to the self stab problem(1) Digital’s LAN Bridges Solution
root A 2 2 E B 2 3 3 2 C D 3 Hop counter decreased. When hop counter reaches 0, discard message. Industrial solutions to the self stab problem(1) Digital’s LAN bridges solution
Scallability • Industrial solutions are global. They do not scale well • Conventional self stab protocols are global. They do not scale well
(Local “checking” [Awerbuch, Patt-Shamir, Varghese]) root 0 1 14 2 14 13 3 A cycle will be detected by a node seeing Only its parent’s state and its own state. 12 4 5 11 6 10 7 Local detection [Afek, Kutten, Yung]
2(A) 1(A) D B root A 0(C) C 0(A) root G E 2(A) 1(A) H F 1(C) 0(A) Local checking of a spanning tree, with a root
Any graph marking function is locally checkable • Any algorithm global state is locally checkable • For any bit complexity Cfunction with local checking bit complexity O(C) • Some complexities for interesting marking functions are known • Many other problems are open Local checking of other functions
Goal: (unknown)f faults O(f) time for correction Idea: Diameter of faults is f. Prevent faults expansion, shrink faulty area. 0 1 14 2 14 13 3 fault 12 4 22 11 23 25 24 5 10 6 7 Possibly consistent faults From local checking to local correction
Goal: (unknown)f faults O(f) time for correction Idea: Diameter of faults is f. Prevent faults expansion, shrink faulty area. 0 1 14 2 14 13 3 fault 12 4 22 11 23 (“impossible” if faulty majority) 25 24 5 10 6 7 Possibly consistent faults From local checking to local correction
For example: need to prevent expansion of Faulty area: recall Dijkstra’s algorithm
7 7 8 7 8 7 8 8 leader 8 8 8 7 8 7 token 7 8 7 f faults create “gap” or “bump” of length f.
T T T f faults create “gap” or “bump” of length f.
val2 val1 Adversary spoils (ones) minority of replicated val1 and of states. Alg. Recovers val1 everywhere. A B val5 D C E val3 val4 Another example of expanding faulty area: Stable Value Problem
val1 val1 A B val5 D C E val1 val1 val’1 val1 val’1 Stable Value Problem Adversary spoils (ones) minority of replicated val1 and of states. Alg. Recovers val1 everywhere.
val2 val1 A B val5 D C E val3 val4 Reducing a general problem to the Stable Value Problem B can compute any func(val1, val2, val3,val4, val5) if it receives every correct vali.
val1 val1 A B “Simple” since E’s vote can be spoiled in D on the way to B. val1 D C E val1 val1 “Simple” but global solution:consensus voting
val1 A B Time = O(diameter) even for one fault. Desired: few faults short time val1 D C E val1 val1 “Simple” but global solution:consensus voting val1
Local voting does not solve Minority faulty notes but local majority everywhere
In O(f) time get >2f votes so majority is non faulty A 2f Idea 1: For (unknown) f faults get votes (values) from radius 2f
In O(f) time get >2f authentic votes so majority is non faulty A 2f C C’s vote at A is authentic (though faulty) B’s vote at A is NOT authentic B Idea 1: For (unknown) f faults get votes (values) from radius 2f
1 D A B C 1 E Bcast (vote sending) spreading faults problem under state faults
1 A said: “1” D A B C 1 E Bcast (vote sending) spreading faults problem under state faults
1 A said: “1” D A B C A said: “0” 1 E Bcast (vote sending) spreading faults problem under state faults
1 A said: “1” D A B C A said: “0” 1 A said: “0” E Bcast (vote sending) spreading faults problem under state faults
1 A said: “1” D A B C A said: “0” 1 A said: “0” E Bcast (vote sending) spreading faults problem under state faults
1 A said: “1” D A B C A said: “0” 1 A said: “0” E Bcast (vote sending) spreading faults problem under state faults
1 A said: “1” D A B C A said: “0” 1 A said: “0” E Bcast (vote sending) spreading faults problem under state faults
1 A said: “1” D A B C A said: “0” 1 A said: “0” E Bcast (vote sending) spreading faults problem under state faults
Actually, A said: “1” 1 A said: “1” D A B C 1 A said: “0” E Bcast (vote sending) spreading faults problem under state faults