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.

254 T. D. CHANDRAAND S. TOUEGI 1I 1ItII# I 1 Ieight failuredetector9’ 09C ----> C’: C’ is strictly weaker than C’c — C’: C is equivalent to C’lnte~”~. If a correct process delivers a message m then sender(m) = s.Furthermore, if m # F,, then m was previously broadcast bys.The reader should verify that the specification of TRB <strong>for</strong> senders implies that acorrect process delivers the special message F. only ifs is indeed faulty.TRB is a well-known and studied problem, usually known under the name ofthe Byzantine Generals’ Problem [Pease et al. 1980; Lamport et al. 1982].x Itturns out that in order to solve TRB in asynchronous systems one needs to usethe strongest class of failure detectors that we defined in this paper. Specifically:THEOREM 8.2(1)(2)TRB can be solved using 9 in asynchronous ~stems with any number ofcrashes.TR3 cannot be solved using either 9, 09, or 09 in asynchronous systems. Thisimpossibility result holds even under the assumption that at most one crash mayoccur.In fact, 9 is the weakest failure detector class that can be used to solverepeated instances of TRB (multiple instances <strong>for</strong> each process as the distinguishedsender).TRB is not the only “natural” problem that can be solved using $!?’but cannotbe solved using OW. Other examples include the non-blocking atomic conzmitmentproblem [Chandra and Larrea 1994; Guerraoui 19951, and a <strong>for</strong>m of leaderelecti& [Sahel-and Marzullo 1995]. Figure 9 summarises t“hese results.23we ~efra~nfrom usingthisname because it is often associated with @z@rtine~ai~ures, while weconsider only crash failures here.

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

Saved successfully!

Ooh no, something went wrong!