extracting quorum failure detectors
It is well known that the failure detector ? is necessary and sufficient to solve consensus in asynchronous message passing systems where a majority of processes is guaranteed to be correct [1,2]. But what if the problem were to be solved in an arbitrary environment where any number of processes may fail and at any times? The answer was provided by Delporte et al who showed that a certain quorum failure detector, which they called ?, is necessary and, together with ?, sufficient to solve consensus in any environment [4]. Moving beyond consensus and such specific problems, we pose and answer the following general question: Given an arbitrary decision problem P , is it possible to identify a quorum failure detector that is provably necessary to solve P in any environment? We answer this question in the affirmative: we present a universal quorum failure detector Q that, when instantiated with any decision problem P , yields a quorum failure detector that is necessary to solve P in any environment. We demonstrate the power of this universal detector by showing that several existing quorum failure detectors, known to be necessary and sufficient to solve some well-known problems, are obtained by instantiating Q with those problems. In particular, the quorum failure detector ? proposed for consensus [4], ? v proposed for nonuniform consensus [8], and the loneliness detector for ( n ?1)-set agreement [6] are all obtained by instantiating the universal detector Q with the respective problems. Besides yielding existing failure detectors, Q has led to a new and useful detector: while mutual exclusion can be solved using the Trusting failure detector T when a majority of processes is correct [5], it is not known how to solve this problem in an arbitrary environment. We show that the quorum failure detector ? l , obtained by instantiating Q with the mutual exclusion problem, together with T , is sufficient to solve mutual exclusion in any environment. The necessity of ? l to solve mutual exclusion is implied by our general theorem. Our proof of the universality of Q employs a different technique than the common reduction technique introduced by Chandra et al [1], where processes build an infinite DAG of sampled failure detector values and use it for locally simulating runs of the algorithm.
failure detector mutual exclusion fault tolerance asynchronous system