University of Cambridge
Separating conflict-recovery from failure-recovery in distributed consensus
Abstract
dc:description.abstractDistributed databases provide fault tolerance while allowing multiple clients to concurrently submit requests and have those requests executed as if they are performed using a single thread on a single machine. This makes them vital components for a variety of distributed systems, from banking transactions to managing cluster configurations. At the core of these distributed databases is their consensus protocol which must order concurrently submitted requests and ensure that the system can mask or recover from failures. Current state-of-the-art consensus protocols re-use their failure-recovery mechanism to resolve ordering conflicts. The thesis of this dissertation is that it is feasible to separate the mechanisms for conflict-recovery and failure-recovery, and that doing so is effective in allowing each to be optimised separately. To support this thesis we first categorise existing conflict-recovery mechanisms and introduce Multi-Shot-FastPaxos which provides a uniform interface to express, and in some cases further optimise, conflict-recovery mechanisms separately from failure-recovery mechanisms. We also propose a new failure masking approach that reduces the overhead of masking coordinator failures and evaluate existing mechanisms for recovery from coordinator failure, allowing us to propose an optimised recovery procedure for etcd. Finally we present a case study designing a new protocol, Unanimous 2 Phase Commit, which from an initial basic implementation is optimised to equal or exceed the steady-state performance of the current state-of-the-art on all workloads, with an optimised recovery procedure.
Degree
thesis:*- Name dc:type.qualificationname
- Doctor of Philosophy (PhD)
- Level dc:type.qualificationlevel
- Doctoral
- Grantor dc:publisher.institution
- University of Cambridge
- Year dc:date.issued
- 2025
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Jensen, Christopher
- Advisors dc:contributor.advisor
-
- Mortier, Richard
- Howard, Heidi
Subjects
dc:subject × 6Rights
dc:rightsIdentifiers
dc:identifier.*- DOI dc:identifier.doi
- https://doi.org/10.17863/CAM.119774
- OAI identifier oai:identifier
- oai:www.repository.cam.ac.uk:1810/386642