N -Consensus is the Second Strongest Object for N +1 Processes Eli Gafni 1 and Petr Kuznetsov 2 1 Computer Science Department, University of California, Los Angeles eli@ucla.edu 2 Max Planck Institute for Software Systems pkouznet@mpi-sws.mpg.de Abstract. Objects like queue, swap, and test-and-set allow two processes to reach consensus, and are consequently “universal” for a system of two processes. But are there deterministic objects that do not solve 2-process consensus, and nevertheless allow two processes to solve a task that is not otherwise wait-free solvable in read-write shared memory? The answer “no” is a simple corollary of the main result of this paper: Let A be a deterministic object such that no protocol solves consensus among n +1 pro- cesses using copies of A and read-write registers. If a task T is wait-free solvable by n +1 processes using read-write shared-memory and copies of A, then T is also wait-free solvable when copies of A are replaced with n-consensus objects. Thus, from the task-solvability perspective, n-consensus is the second strongest object (after (n +1)-consensus) in deterministic shared memory systems of n +1 processes, i.e., there is a distinct gap between n- and (n + 1)-consensus. We derive this result by showing that any (n + 1)-process protocol P that uses objects A can be emulated using only n-consensus objects. The resulting emu- lation is non-blocking and relies on an a priori knowledge of P . The emulation technique is another important contribution of this paper. 1 Introduction Consensus [6] (n-consensus object) is a fundamental abstraction that allows n processes to agree on one of their input values. Consensus is n-universal: every object shared by n processes can be wait-free implemented using n-consensus objects (and read-write reg- isters), i.e., the object can be “replaced” with n-consensus objects, so that the external observer cannot detect the replacement [7]. But which aspects of the universality of n-process consensus remain valid in a sys- tem of n +1 processes? Ideally, one would wish to show that, in a system of n +1 processes, every object that does not allow for (n + 1)-process consensus (to be called an object of consensus power less than n +1) can be wait-free implemented from n- consensus objects. This would imply that every problem that can be solved by n +1 processes using objects of consensus power less than n +1 can also be solved using n-consensus objects. In this paper, we address an easier question: whether every deterministic object of consensus power less than n +1 can be replaced with n-consensus objects, so that the