Determining Recoverable Consensus Numbers
Sean Ovens
TL;DR
The paper addresses Golab's recoverable consensus hierarchy by proving robustness for the class of deterministic, readable object types, showing that any $n$-process recoverable consensus that can be solved with a collection of such types implies at least one type is $n$-recording. This enables a meta-result that, for all $n \ge 4$, there exists a readable type with consensus number $n$ but recoverable consensus number $n-2$, and demonstrates that non-readable types can have arbitrarily large gaps between wait-free and recoverable consensus capabilities. The authors develop a generalized valency framework with crash-variant schedules $\mathcal{E}_z$ and $\mathcal{E}^*_z$, enabling a recoverable setting analysis and proving the necessary condition of $n$-recording for solvability. They further construct a non-readable type $\mathcal{T}_{n,n'}$ achieving consensus number $n$ and recoverable consensus number $n'$, illustrating that non-readability can drastically reduce recoverable power. Overall, the work clarifies the power hierarchy of deterministic types in recoverable settings and points to open questions about extending robustness beyond readability.
Abstract
Herlihy's wait-free consensus hierarchy classifies the power of object types in asynchronous shared memory systems where processes can permanently crash (i.e. stop taking steps). In this hierarchy, a type has consensus number $n$ if objects of that type can be used along with (read/write) registers to solve consensus among $n$ processes that can permanently crash, but not among $n+1$ or more processes. In systems where processes can recover after crashing, the power of an object type to solve consensus may be different. Golab's recoverable consensus hierarchy classifies the power of object types in such a system. In the recoverable consensus hierarchy, a type has recoverable consensus number $n$ if objects of that type can be used along with registers to solve consensus among $n$ processes that can recover after crashing, but not among $n+1$ or more processes. In this paper, we prove that the recoverable consensus hierarchy of deterministic, readable types is robust, i.e., if consensus can be solved among $n$ processes that can recover after crashing using a collection of objects of deterministic, readable types, then one of these types has recoverable consensus number at least $n$. This is important for comparing the relative computational power of different deterministic, readable types, because it implies that one cannot combine various objects to obtain an algorithm that is better at solving recoverable consensus than any of the individual object types. Our result can be used to show that, for all $n \geq 4$, there exists a readable type with consensus number $n$ and recoverable consensus number $n-2$. We also show that, for all $n > n' \geq 1$, there exists a non-readable type that has consensus number $n$ and recoverable consensus number $n'$.
