global view
play

Global view mutual exclusion despite process crash failures? But - PowerPoint PPT Presentation

Summary Global view of the paper On the Weakest Failure Detector For Crash failures and failure detectors Read/Write-Based Mutual Exclusion Mutual exclusion Technical content Carole D ELPORTE , Hugues F AUCONNIER


  1. Summary • Global view of the paper On the Weakest Failure Detector For ⋆ Crash failures and failure detectors Read/Write-Based Mutual Exclusion ⋆ Mutual exclusion • Technical content Carole D ELPORTE † , Hugues F AUCONNIER † ⋆ Basic read/write computing model Michel R AYNAL ⋆, ⋄ ⋆ The failure detector QP ⋆ QP -based mutual exclusion ⋆ QP is the weakest FD for mutual exclusion † IRIF, Universit´ e Paris 7 Diderot, Paris, France ⋆ IRISA, Universit´ e de Rennes, France • Conclusion ⋄ Dept of Computing, Hong Kong Polytechnic Univ c c � Weakest FD for read/write-based mutual exclusion 1 � Weakest FD for read/write-based mutual exclusion 2 Global view Computability issue Mutual exclusion in the presence of process crashes • Not “Which information on failures allows us to solve Global view mutual exclusion despite process crash failures?” • But “Which is the weakest information on failures needed to solve read/write mutex despite process crash failures?” c c � Weakest FD for read/write-based mutual exclusion 3 � Weakest FD for read/write-based mutual exclusion 4

  2. Most famous example: The case of Consensus (1) Example: The case of Consensus (2) • The weakest information on failures to solve consen- sus is the failure detector denoted Ω • Each process proposes a value and all processes (that ⋆ Each process p i is equipped with a read-only local do not crash) have to agree on the same value which variable leader i has to be one of the proposed values ⋆ There is a finite time after which all processes that • Impossible to solve in the presence of asynchrony and do not crash have the same id in leader i , and this even a single process crash id is the one of a non-crashed process Fischer M.J., Lynch N.A. and Paterson M.S., Impossibility of distributed con- sensus with one faulty process Journal of the ACM , 32(2):374-382 (1985) Chandra T., Hadzilacos V. and Toueg S. The weakest failure detector for solving consensus. Journal of the ACM , 43(4):685-722 (1996) Loui M. and Abu-Amara H., Memory requirements for agreement among unreliable asynchronous processes. Advances in Computing Research , 4:163- Fern´ andez A., Jim´ enez E., Raynal M., and Tr´ edan G., A timing assump- 183, JAI Press (1987) tion and two t -resilient protocols for implementing an eventual leader ser- vice in asynchronous shared-memory systems. Algorithmica , 56(4):550-576 (2010) c c � Weakest FD for read/write-based mutual exclusion 5 � Weakest FD for read/write-based mutual exclusion 6 A few failure detectors Crash-prone model Atomic register Consensus Starvation-free mutex Γ 1 (2) Technical content Shared memory given for free Ω (1) msg-passing with t < n/ 2 ∃ algorithms Ω (1) T (Trusting) (3) msg-passing with t < n Quorums Σ (4) Σ + Ω (4) T + Σ (5) (1) Chandra T., Hadzilacos V. and Toueg S. The weakest failure detector for • Model solving consensus. Journal of the ACM , 43(4):685-722 (1996) (2) Bhatt V., Christman N., Jayanti P., Extracting quorum failure detectors. ⋆ Communication: atomic read/write registers Proc. 28th ACM Symposium on Principles of Distributed Computing (PODC’09) , ACM Press, pp. 73-82 (2009) ⋆ Crash-prone asynchronous processes (3) Delporte-Gallet C., Fauconnier H., Guerraoui R., and Kouznetsov P., Mutual exclusion in asynchronous systems with failure detectors. Journal od Parallel and • Result Distributed Computing , 65:492-505 (2005) ⋆ The failure detector QP (4) Delporte-Gallet C., Fauconnier H. and Guerraoui R., Tight failure detection bounds on atomic object implementations. Journal of the ACM , 57(4), Article ⋆ Crash-tolerant mutual exclusion from QP 22, 32 pages (2010) ⋆ Optimality of QP (5) Bhatt V. and Jayanti P., On the existence of weakest failure detectors for mu- tual exclusion and k-exclusion. 23rd Int’l Symposium on Distributed Computing (DISC’09) , Springer LNCS 5805, pp. 325-339 (2009) c c � Weakest FD for read/write-based mutual exclusion 7 � Weakest FD for read/write-based mutual exclusion 8

  3. Computing entities • n asynchronous sequential processes p 1 , ..., p n • Asynchrony = each process proceeds at its own speed, which can be arbitrary and remains always un- known to the other processes • Any number of processes may crash (premature halt) The failure detector QP • Terminology: given a run a process that crashes is faulty , otherwise it is correct • F ( τ ): set of processes crashed at time τ • C : set of process that do not crash c c � Weakest FD for read/write-based mutual exclusion 9 � Weakest FD for read/write-based mutual exclusion 10 The failure detector QP : automaton The failure detector QP : properties (1) • ∀ i , ∀ τ : trusted i ( τ ) ∩ crashed i ( τ ) = ∅ A process cannot be trusted and crashed at the same time • Three sets: trusted i , crashed i , and init i • ∀ i : j ∈ trusted i ( τ ) ⇒ ∀ τ ′ ≥ τ : j ∈ trusted i ( τ ′ ) ∪ crashed i ( τ ′ ) • Initially: trusted i = crashed i = ∅ , init i = { 1 , ...n } � � ∧ ∀ k ∈ C : ∃ τ ′ : j ∈ trusted k ( τ ′ ) ∪ crashed k ( τ ′ ) � � trusted i A trusted process has to be eventually observed by all correct processes • j ∈ crashed i ( τ ) ⇒ j ∈ F ( τ ) crashed i init i crashed i contains only crashed processes ∀ τ ′ ≥ τ : j ∈ crashed i ( τ ′ ) � � • j ∈ crashed i ( τ ) ⇒ Crashes are stable c c � Weakest FD for read/write-based mutual exclusion 11 � Weakest FD for read/write-based mutual exclusion 12

  4. The failure detector QP : properties (2) QP with respect to P and ✸ P • The perfect failure detector P provides each process p i with a set suspected i such that If p i is correct: ⋆ no process belongs to suspected i before it crashes, and ∃ τ ′ ≥ τ : j �∈ trusted i ( τ ′ ) � � • j ∈ F ( τ ) ⇒ ⋆ eventually every process that crashes belongs for- ever to suspected i Eventually, no faulty process ∈ trusted i • ✸ P is “eventually P ” � � • j ∈ C ⇒ ∃ τ : j ∈ trusted i ( τ ) • ≺ : order relation the Computability power of FDs Eventually, every correct process ∈ trusted i • ✸ P ≺ QP ≺ P c c � Weakest FD for read/write-based mutual exclusion 13 � Weakest FD for read/write-based mutual exclusion 14 Communication and notations Read/write register model Crash-tolerant read/write-based • Communication: MWMR atomic registers mutual exclusion • Notations from QP ⋆ Capital letters: shared objects ⋆ Small letters: local variables c c � Weakest FD for read/write-based mutual exclusion 15 � Weakest FD for read/write-based mutual exclusion 16

  5. Crash-tolerant deadlock-free mutual exclusion Crash-tolerant mutex algorithm (1) • Operations entry () and exit () • Properties: • Very simple adaptation of Lamport’s bakery mutual ⋆ Mutual exclusion: No two processes are simulta- exclusion algorithm neously in their critical section Lamport L., A new solution of Dijkstra’s concurrent programming problem. ⋆ Deadlock-freedom: If a correct process p i has a Communications of the ACM , 17(8):453-455, (1974) pending entry () operation and no process is in the Taubenfeld G., Synchronization algorithms and concurrent programming . critical section, eventually some process p j (possi- Pearson Education/Prentice Hall, 423 pages, ISBN 0-131-97259-6 (2006) bly p j � = p i ) returns from its entry () operation Raynal M., Concurrent programming: algorithms, principles, and founda- tions . Springer, 515 pages, ISBN 978-3-642-32027-9 (2013) ⋆ Wait-free exit: If a correct process invokes exit (), it returns from its invocation • Satisfies starvation-freedom • If a process crashes while it is in the critical section, it implicitly releases of the critical section c c � Weakest FD for read/write-based mutual exclusion 17 � Weakest FD for read/write-based mutual exclusion 18 Crash-tolerant mutex algorithm (2) init : ∀ j ∈ { 1 , . . . , n } : FLAG [ j ] ∈ { down , up } , init down ; ∀ j ∈ { 1 , . . . , n } : LABEL [ j ] ∈ N , init 0. operation entry () is wait ( i ∈ trusted i ); Optimality of QP FLAG [ i ] ← up ; LABEL [ i ] ← max ( LABEL [1] , . . . , LABEL [ n ]) + 1; FLAG [ i ] ← down ; for all k � = i do weakest FD for � � ( FLAG [ k ] = down ) ∨ k ∈ crashed i ; wait read/write-based mutual exclusion � ( LABEL [ k ] = 0) ∨ ( LABEL [ i ] , i ) < ( LABEL [ k ] , k ) wait � ∨ k ∈ crashed i ; end for . operation exit () is LABEL [ i ] ← 0. c c � Weakest FD for read/write-based mutual exclusion 19 � Weakest FD for read/write-based mutual exclusion 20

Recommend


More recommend