Download presentation
Presentation is loading. Please wait.
Published bySybil Green Modified over 9 years ago
1
1 © P. Kouznetsov On the weakest failure detector for non-blocking atomic commit Rachid Guerraoui Petr Kouznetsov Distributed Programming Laboratory Swiss Institute of Technology in Lausanne (EPFL)
2
2 Contribution r We consider the Non-Blocking Atomic Commit (NBAC) problem [Skeen81] in an asynchronous system with failure detectors [FLP85, CT96] r We define the weakest (timeless) failure detector to solve NBAC
3
3 Roadmap 1.Background 2.Non-blocking atomic commit (NBAC) 3.Conjecture: ?P+ is the weakest for NBAC 4.A reduced problem: weakest timeless failure detector to solve NBAC 5.Open issues
4
4 Model: processes and failures Asynchronous message-passing system with crash failures r No time bounds on message communication or process relative speeds r Communication by message-passing through reliable channels r Processes can fail by crashing Correct processes never crash A majority of processes is correct Agreement problems are not solvable in an asynchronous model if at least one process can crash [FLP85]
5
5 Model: failure detectors [CT96] Synchrony assumptions are encapsulated in the failure detectors: r Each process has a failure detector module that gives hints (maybe wrong) on the state of other processes. r The information provided by failure detectors does not depend on anything but failures. Example: Perfect failure detector P: eventually, every correct process detects a crash, and no crash is detected before it occurs.
6
6 Weakest failure detector [CHT96] A failure detector D is the weakest to solve problem M iff it is: r Sufficient: D solves M (there is an algorithm that solves M using D) r Necessary: D is weaker than any failure detector D’ that solves M (there is an algorithm that implements D using D’)
7
7 Weakest failure detector for Consensus Processes propose values and decide on some final values so that: Agreement no two processes decide differently Termination every correct process eventually decides Validity: a decided value is a proposed value : eventually, the same correct process is elected by correct processes [CHT96]. p1 p2 p3 [p1] [p2] [p3] [p1] [p2] [p1] ……
8
8 Roadmap 1.Background 2.Non-blocking atomic commit (NBAC) 3.Conjecture: ?P+ is the weakest for NBAC 4.A reduced problem: weakest timeless failure detector to solve NBAC 5.Open issues
9
9 Problem: NBAC Atomic transactions: processes vote yes or no and take decisions (commit or abort) so that: r Agreement: no two processes decide differently r Termination: every correct process eventually decides r Commit-Validity: abort cannot be decided if every process is correct and votes yes r Abort-Validity: commit cannot be decided if some process votes no
10
10 Problem: weakest FD for NBAC r P is sufficient to solve NBAC (3PC algorithm [Skeen81]). r Is P necessary to solve NBAC? [SM95,FRT99] r Failure detector that is necessary and sufficient to solve NBAC?
11
11 Anonymous failure detector ?P Process pi: r Initially output 0 r If (and only if) there is a failure, then, eventually, output forever 1 Necessary to solve NBAC: it can be emulated by any algorithm that solves NBAC. [Gue02]
12
12 Roadmap 1.Background 2.Non-blocking atomic commit (NBAC) 3.Conjecture: ?P+ is the weakest for NBAC 4.A reduced problem: weakest timeless failure detector to solve NBAC 5.Open issues
13
13 A candidate ?P+ r Good news: There is an algorithm that transforms Consensus into NBAC using ?P [Gue02]. ?P+ <P r Bad news: there exists a failure detector B that solves NBAC and B is incomparable with ?P+ , so ?P+ cannot be the weakest to solve NBAC
14
14 Stillborn failure detector B Process pi: r Initially output r If there is a process crashed at time 0, then, eventually, output forever pi r Otherwise, eventually, output forever a set of suspected processes “behaves like” the perfect failure detector P
15
15 But B is rather strange B is strongly time-dependent : t=0 (1) p1 p2 [p1] (2) p1 p2 [p2] ? t= We can generalize B for any time t 0 (B[t]) [][] [][]
16
16 A filter (timeless failure detectors) to get rid of time-based detectors like B r Timeless failure detectors A cannot imply any information about global time: a failure occurred at time t and a failure occurred at time t+d can be reported in the same way. r , P, ?P A r B[t] A
17
17 Roadmap 1.Background 2.Non-blocking atomic commit (NBAC) 3.Conjecture: ?P+ is the weakest for NBAC 4.A reduced problem: weakest timeless failure detector to solve NBAC 5.Open issues
18
18 A reduced problem r What is the weakest failure detector in A to solve NBAC? r Conjecture: ?P+ is the one r More precisely: any failure detector D A that solves NBAC can emulate (the proof is extending the technique of [CHT96] and is rather technically involved)
19
19 Extending [CHT96] r The idea: to achieve non-triviality of any execution of an NBAC algorithm N using a timeless failure detector r The technique: every process maintains an imaginary failure-free partial run assumed preceding the current real run r The result: simulating N over the constructed run, the correct processes eventually agree on a single correct process:
20
20 Open Issues r Weakest failure detector for NBAC in general? r Optimality of A: can we make it bigger? r No majority? r Indulgent algorithms: is ?P+ the weakest to allow indulgent solution?
21
21 Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.