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

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