State machine replication reduces distributed to centralized computing. Any sequential service, modeled by a state machine, can be replicated over any number of processes and made highly available to all of them. At the heart of this fundamental reduction lies the so called universal consensus abstraction, key to providing the illusion of single shared service, despite replication.
Yet, as universal as it may be, consensus is just one specific instance of a more general abstraction, k-set consensus where, instead of agreeing on a unique decision, the processes may diverge but at most k different decisions are reached. It is legitimate to ask whether the celebrated state machine replication construct has its analogue with k > 1. If it did not, one could question the aura of distributed computing deserving an underpinning Theory for 1, the unit of multiplication, would be special in a field, distributed computing, that does not arithmetically multiply.
This paper presents, two decades after k-set consensus was introduced, the generalization with k > 1 of state machine replication. We show that with k-set consensus, any number of processes can emulate k state machines of which at least one remains highly available. While doing so, we also generalize the very notion of consensus universality.
KeywordsState machine replication k-set consensus universality
Unable to display preview. Download preview PDF.
- 2.Borowsky, E., Gafni, E.: Generalized FLP Impossibility Results for t-Resilient Asynchronous Computations. In: STOC (1993)Google Scholar
- 7.Gafni, E.: Round-by-Round Fault Detectors: Unifying Synchrony and Asynchrony. In: PODC (1998)Google Scholar
- 8.Herlihy, M.: Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems 11(1), 124–149 (1991)Google Scholar