paper

Recoverable Consensus in Shared Memory

arXiv:1804.10597

Abstract

Herlihy's consensus hierarchy ranks the power of various synchronization primitives for solving consensus in a model where asynchronous processes communicate through shared memory and fail by halting. This paper revisits the consensus hierarchy in a model with crash-recovery failures, where the specification of consensus, called \emph{recoverable consensus} in this paper, is weakened by allowing non-terminating executions when a process fails infinitely often. Two variations of this model are considered: independent failures, and simultaneous (i.e., system-wide) failures. Several results are proved in this model: (i) We prove that any primitive at level two of Herlihy's hierarchy remains at level two if simultaneous crash-recovery failures are introduced. This is accomplished by transforming (one instance of) any 2-process conventional consensus algorithm to a 2-process recoverable consensus algorithm. (ii) For any and , we show how to use instances of any conventional -process consensus algorithm and read/write registers to solve -process recoverable consensus when crash-recovery failures are independent, assuming that every execution contains at most such failures. (iii) Next, we prove for any that any 2-process recoverable consensus algorithm that uses TAS and read/writer registers requires at least TAS objects, assuming that crash-recovery failures are independent and every execution contains at most such failures. (iv) Lastly, we generalize and strengthen (iii) by proving that any universal construction of -process recoverable consensus from a type with consensus number and read/write registers requires at least base objects of type in executions with up to failures.

Recoverable Consensus in Shared Memory · wovepaper