Recoverable Consensus in Shared Memory
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.
Keywords
Cite
@article{arxiv.1804.10597,
title = {Recoverable Consensus in Shared Memory},
author = {Wojciech Golab},
journal= {arXiv preprint arXiv:1804.10597},
year = {2018}
}