Impossibility Results in the Presence of Multiple Faulty Processes

We investigate the impossibility of solving certain problems in an unreliable distributed system where multiple processes may fail. We assume undetectable crash failures which means that a process may become faulty at any time during an execution and that no event can happen on a process after it fails. A sufficient condition is provided for the unsolvability of problems in the presence of multiple faulty processes. Several problems are shown to be solvable in the presence of t − 1 faulty processes but not in the presence of t faulty processes for any t. These problems are variants of problems which are unsolvable in the presence of a single faulty process (such as consensus, choosing a leader, ranking, matching). In order to prove the impossibility result a contradiction is shown among a set of axioms which characterize any fault-tolerant protocol solving the problems we treat. In the course of the proof, we present two results that appear to be of independent interest: first, we show that for any protocol there is a computation in which some process is a splitter. This process can split the possible outputs of the protocol to two disjoint sets. In case that the protocol is also fault-tolerant, then this splitter must be a decider, that can split its own output values into two different singletons. These results generalize and expand known results for asynchronous systems.

[1]  K. Mani Chandy,et al.  How processes learn , 1985, ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing.

[2]  Hagit Attiya,et al.  Achievable cases in an asynchronous environment , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[3]  Ronald J. Watro,et al.  Fault-tolerant decision making in totally asynchronous distributed systems , 1987, ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing.

[4]  Joseph Y. Halpern,et al.  Knowledge and common knowledge in a distributed environment , 1984, JACM.

[5]  Yacov Yacobi,et al.  The Complexity of Promise Problems with Applications to Public-Key Cryptography , 1984, Inf. Control..

[6]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[7]  Shmuel Zaks,et al.  A combinatorial characterization of the distributed tasks which are solvable in the presence of one faulty processor , 1988, PODC '88.

[8]  Danny Dolev,et al.  On the minimal synchronism needed for distributed consensus , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[9]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[10]  Shmuel Katz,et al.  Impossibility Results in the Presence of Multiple Faulty Processes (Preliminary Version) , 1989, FSTTCS.

[11]  Shlomo Moran,et al.  Extended Impossibility Results for Asynchronous Complete Networks , 1987, Inf. Process. Lett..

[12]  Gadi Taubenfeld,et al.  Possibility and Impossibility Results in a Shared Memory Environment , 1989, WDAG.

[13]  Shmuel Katz,et al.  What processes know: Definitions and proof methods , 1986, PODC '86.