perfect failure detection with very few bits
play

Perfect Failure Detection with Very Few Bits Pierre Fraigniaud 1 - PowerPoint PPT Presentation

Perfect Failure Detection with Very Few Bits Pierre Fraigniaud 1 Sergio Rajsbaum 2 C. Travers 3 Petr Kuznetsov 4 Thibault Rieutord 4 1 IRIF, Paris 2 UNAM, Mexico 3 LaBRI, Bordeaux 4 ParisTech, Paris ANR Descartes, Chasseneuil, Octobre 2017 Failure


  1. Encoding from Multi Diagonal Sequence A = { 0 , 1 } × N Code ( n ) : (0 , i ) , (1 , i ) , (0 , i ) , . . . , (1 , i ) , (0 , i ) , (1 , i ) D i n 010 . . . 0101 f (( b 1 , d 1 ) , ( b 2 , d 2 ) , . . . , ( b n , d n )) = YES ⇐ ⇒ 1 d 1 = d 2 = . . . = d n = i 2 b 1 , . . . , b n is the sequence of length n in D i

  2. Compactness How many bits to distributively encode the first n integers? Code ( n ) : (0 , i ) , (1 , i ) , (0 , i ) , . . . , (1 , i ) , (0 , i ) , (1 , i )

  3. Compactness How many bits to distributively encode the first n integers? Code ( n ) : (0 , i ) , (1 , i ) , (0 , i ) , . . . , (1 , i ) , (0 , i ) , (1 , i ) = ⇒ 1 + log( i ) bits

  4. Compactness How many bits to distributively encode the first n integers? Code ( n ) : (0 , i ) , (1 , i ) , (0 , i ) , . . . , (1 , i ) , (0 , i ) , (1 , i ) = ⇒ 1 + log( i ) bits where i = min { j : n < H j (1) }≤ Ack − 1 ( n ) D i H i (1)

  5. Perfect Failure Detection from Distributed Encoding

  6. Perfect failure detection from distributed encoding Failure detector µ P : • Encode an upper bound on the number of alive processes • Eventually converge to the (code of the) number of non-faulty processes

  7. µ P w 1 p 1 • w 2 p 2 • p 3 x w 4 p 4 • x w 5 p 5 • epoch i epoch i + 1 • Constant fd output at each proc in each epoch • w 1 w 2 w 4 w 5 � ∗ code( a i ), where # alive(epoch i ) ≤ a i

  8. µ P epoch 1 epoch 2 epoch ℓ a 1 a 2 a ℓ time • At most n epochs • a 1 ≥ a 2 ≥ . . . ≥ a ℓ

  9. µ P epoch 1 epoch 2 epoch ℓ a 1 a 2 a ℓ time • At most n epochs • a 1 ≥ a 2 ≥ . . . ≥ a ℓ • a ℓ = # alive(last epoch) = # correct procs

  10. From µ P to P Let Q = { q 1 , . . . , q 4 } ⊆ { p 1 , . . . , p n } w 1 q 1 • w 2 q 2 • w 3 q 3 • w 4 q 4 • w = w 1 w 2 w 3 w 4 epoch i a i • Recall: w � ∗ code( a i ) and | Alive (epoch i ) | ≤ a i

  11. From µ P to P Let Q = { q 1 , . . . , q 4 } ⊆ { p 1 , . . . , p n } w 1 q 1 • w 2 q 2 • w 3 q 3 • w 4 q 4 • w = w 1 w 2 w 3 w 4 epoch i a i • Recall: w � ∗ code( a i ) and | Alive (epoch i ) | ≤ a i • Code def.: w ≺ ∗ code ( a i ) = ⇒ f ( w ) = false and f ( code ( a i )) = true

  12. From µ P to P Let Q = { q 1 , . . . , q 4 } ⊆ { p 1 , . . . , p n } w 1 q 1 • w 2 q 2 • w 3 q 3 • w 4 q 4 • w = w 1 w 2 w 3 w 4 epoch i a i • Recall: w � ∗ code( a i ) and | Alive (epoch i ) | ≤ a i • Code def.: w ≺ ∗ code ( a i ) = ⇒ f ( w ) = false and f ( code ( a i )) = true • Hence, if f ( w ) = true then { p 1 , . . . , p n } \ Q ⊆ Faulty

  13. Dirty Collect Let Q = { q 1 , . . . , q 4 } ⊆ { p 1 , . . . , p n } w 1 q 1 • w 2 q 2 • w 3 q 3 • w 4 q 4 w = w 1 w 2 w 3 w 4 • epoch i a i • w 1 , w 2 , w 3 , w 4 sampled in � = epochs

  14. Dirty Collect Let Q = { q 1 , . . . , q 4 } ⊆ { p 1 , . . . , p n } w 1 q 1 • w 2 q 2 • w 3 q 3 • w 4 q 4 w = w 1 w 2 w 3 w 4 • epoch i a i • w 1 , w 2 , w 3 , w 4 sampled in � = epochs • f ( w ) = true ?? f ( w ) = false ??

  15. Clean Collect epoch 1 epoch 2 epoch 3 epoch ℓ a 1 a 2 a 3 a 4 collect collect collect collect w 1 w 2 w 3 w 4 time • At most n epochs

  16. Clean Collect epoch 1 epoch 2 epoch 3 epoch ℓ a 1 a 2 a 3 a 4 collect collect collect collect w 1 w 2 w 3 w 4 time • At most n epochs = ⇒ In a sequence of n collects, at least one is clean

  17. From µ P to P epoch 1 epoch 2 epoch 3 epoch ℓ a 1 a 2 a 3 a 4 collect collect collect collect w 1 w 2 w 3 w 4 time • Collect i is successful if (1) terminates and (2) f ( w i ) = true

  18. From µ P to P epoch 1 epoch 2 epoch 3 epoch ℓ a 1 a 2 a 3 a 4 collect collect collect collect w 1 w 2 w 3 w 4 time • Collect i is successful if (1) terminates and (2) f ( w i ) = true • If for some set Q , there are n successful collects P output = { p 1 , . . . , p n } \ Q

  19. µ P : Summary Failure detector µ P • Outputs O (log Ack − 1 ( n )) bits per processes • Can emulate the perfect failure detector P

  20. µ P : Summary Failure detector µ P • Outputs O (log Ack − 1 ( n )) bits per processes • Can emulate the perfect failure detector P • ( P can also emulate µ P – see the paper)

  21. Lower Bound Failure detector µ P • Outputs O (log Ack − 1 ( n )) bits per processes

  22. Lower Bound Failure detector µ P • Outputs O (log Ack − 1 ( n )) bits per processes Is there a f.d. D that 1 can emulate P 2 outputs less than log Ack − 1 ( n ) bits per process ?

  23. Lower Bound Failure detector µ P • Outputs O (log Ack − 1 ( n )) bits per processes Is there a f.d. D that 1 can emulate P 2 outputs less than log Ack − 1 ( n ) bits per process ? Theorem No failure detector with constant-size output can emulate P

  24. Lower Bound Proof Assume for contradiction D f.d. such that • Constant range R , (independant of n )

  25. Lower Bound Proof Assume for contradiction D f.d. such that • Constant range R , (independant of n ) • T D → P (can emulate P )

  26. Lower Bound Proof Assume for contradiction D f.d. such that • Constant range R , (independant of n ) • T D → P (can emulate P ) Ingredients • Ramsey’s theorem • Well quasi-order theory

  27. Goal Construct two executions e and e ′ : • indistinguishable for some non-faulty processes • with Correct ( e ) � Correct ( e ′ )

  28. Goal Construct two executions e and e ′ : • indistinguishable for some non-faulty processes • with Correct ( e ) � Correct ( e ′ ) = ⇒ in e ′ T D → P erroneously outputs a non-faulty process

  29. From Executions to Words Let e an (infinite) execution d 1 d 2 d 3 d 4 d 5 d 6 d 7 q • • • • • • • • As R D is finite, ∃ d ∈ D output infinitely many times at q

  30. From Executions to Words Let e an (infinite) execution d 2 d 3 d 5 d 7 d d d q • • • • • • • • As R D is finite, ∃ d ∈ D output infinitely many times at q

  31. From Executions to Words Let e an (infinite) execution d 2 d 3 d 5 d 7 d d d q • • • • • • • • As R D is finite, ∃ d ∈ D output infinitely many times at q Execution ˜ e d d d q • • • • Constant failure detector output

  32. From Executions to Words Let e an (infinite) execution in which crashes are initial q 1 q 2 x q 3 q 4 x q 5

  33. From Executions to Words Let e an (infinite) execution in which crashes are initial d 1 d 1 d 1 d 1 q 1 • • • • q 2 x d 3 d 3 d 3 d 3 d 3 q 3 • • • • • q 4 x d 5 d 5 d 5 d 5 q 5 • • • • Constant f.d. output ( d i ) at each non-faulty process q i

  34. From Executions to Words Let e an (infinite) execution in which crashes are initial d 1 d 1 d 1 d 1 q 1 • • • • q 2 x d 3 d 3 d 3 d 3 d 3 q 3 • • • • • q 4 x d 5 d 5 d 5 d 5 q 5 • • • • Constant f.d. output ( d i ) at each non-faulty process q i e − → w e = d 1 d 3 d 5 ∈ R ∗ D

  35. Towards Indistinguishable Executions execution associated word ∈ R ∗ D e 1 w 1 e 2 w 2 | w i | = i e 3 w 3 . . . . ... . . . . . . . . e L w L

  36. Towards Indistinguishable Executions execution associated word ∈ R ∗ D e 1 w 1 e 2 w 2 | w i | = i e 3 w 3 . . . . ... . . . . . . . . e L w L • (Higman’s Lemma) ( R ∗ D � ∗ ) is a wqo

  37. Towards Indistinguishable Executions execution associated word ∈ R ∗ D e 1 w 1 e 2 w 2 | w i | = i e 3 w 3 . . . . ... . . . . . . . . e L w L • (Higman’s Lemma) ( R ∗ D � ∗ ) is a wqo = ⇒ For large enough L , ∃ i , j : 1 ≤ i < j ≤ L and w i subword of w j

  38. Towards Indistinguishable Executions execution e ′ w ′ = x ab y c execution e x x x x w = abc q ′ • • • • 1 a a a a a a a a q 1 • • • • • • • • q ′ 2 b b b b b b b b q 2 • • • • q ′ • • • • 3 y y y y c c c c q 3 • • • • q ′ • • • • 4 c c c c • • • • q ′ 5 .

  39. Towards Indistinguishable Executions execution e ′ w ′ = x ab y c execution e x x x x w = abc q ′ • • • • 1 a a a a a a a a q 1 • • • • • • • • q ′ 2 b b b b b b b b q 2 • • • • q ′ • • • • 3 y y y y c c c c q 3 • • • • q ′ • • • • 4 c c c c • • • • q ′ 5 a (or b , c ) may be output at processes with distinct ids in e and e ′ .

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend