12.07.2015 Views

Unreliable Failure Detectors for Reliable Distributed Systems

Unreliable Failure Detectors for Reliable Distributed Systems

Unreliable Failure Detectors for Reliable Distributed Systems

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Unreliable</strong> <strong>Failure</strong> <strong>Detectors</strong> <strong>for</strong> Re[iabIe <strong>Distributed</strong> <strong>Systems</strong> 2353’ emulatedFIG,2. Trans<strong>for</strong>ming 9 into 9‘,T%,+i, need not emulate all the failure detector histories of q‘; what we dorequire is that all the failure detector histories it emulates be histories of 23’.Given a reduction algorithm Tg~9,, any problem that can be solved usingfailure detector Q‘, can be solved using !JI instead. To see this, suppose a givenalgorithm A requires failure detector Q‘, but only 9 is available. We can stillexecute A as follows. Concurrently with A, processes run Tg, +a, to trans<strong>for</strong>m ~into ~’. We modify algorithm A at process p as follows: whenever A requiresthat p queries its failure detector module, p reads the current value of outputP(which is concurrently maintained by Ta+q, ) instead. This is illustrated inFigure 2.Intuitively, since TQ +9 is able to use !23to emulate !3’, 9 must provide at leastas much in<strong>for</strong>mation about process failures as ‘3’ does. Thus, if there is analgorithm Ty, +q, that trans<strong>for</strong>ms $3 into 9‘, we write $3 Z 93’ and say that Q‘ isreducible to ‘3; we also say that Qb’is weaker than 9. Clearly, 5 is a transitiverelation. If $2 Z !3’ and 9’ 5 $3, we write !’3 = 9‘ and say that $2 and $3’ areequivalent.Similarly, given two classes of failure detectors % and %‘, if <strong>for</strong> each failuredetector ’53G % there is a failure detector ‘3’ E %’ such that Q 553’, we write %> ‘%’and say that %’ is weaker than % (note that if Yi 5 %’, then if a problem issolvable using %‘, it is also solvable using %). From this definition, 2 is clearlytransitive. If % > %’ and %‘ > %, we write % - %‘ and say that % and %’ areequivalent.Consider the trivial reduction algorithm in which each process p periodicallywrites the current value output by its local failure detector module into outputP.From this trivial reduction the following relations between classes of failuredetectors are immediate:3. From Weak Completeness to Strong CompletenessIn Figure 3, we give a reduction algorithm T9 +9, that trans<strong>for</strong>ms any givenfailure detector $7 that satisfies weak completeness, into a failure detector !21’that satisfies strong completeness. Furthermore, if !2 satisfies one of the four

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!