Failure Detection and Consensus in the Crash-recovery Model
Distributed Computing, Springer-Verlag, 13:2, April 2000, pp. 99-125. |
We study the problems of failure detection and consensus in asynchronous systems in which processes may crash and recover, and links may lose messages. We first propose new failure detectors that are particularly suitable to the crash-recovery model. We next determine under what conditions stable storage is necessary to solve consensus in this model. Using the new failure detectors, we give two consensus algorithms that match these conditions: one requires stable storage and the other does not. Both algorithms tolerate link failures and are particularly efficient in the runs that are most likely in practice – those with no failures or failure detector mistakes. In such runs, consensus is achieved within 3δ time andwith4nmessages,whereδ is the maximum message delay and n is the number of processes in the system.