RMWPaxos: Fault-Tolerant In-Place Consensus Sequences

01/10/2020
by   Jan Skrzypczak, et al.
0

Building consensus sequences based on distributed, fault-tolerant consensus, as used for replicated state machines, typically requires a separate distributed state for every new consensus instance. Allocating and maintaining this state causes significant overhead. In particular, freeing the distributed, outdated states in a fault-tolerant way is not trivial and adds further complexity and overhead to the system. In this paper, we propose an extension to the single-decree Paxos protocol that can learn a sequence of consensus decisions 'in-place', i.e., with a single set of distributed states. Our protocol does not require dynamic log structures and hence has no need for distributed log pruning, snapshotting, compaction, or dynamic resource allocation. The protocol builds a fault-tolerant atomic register that supports arbitrary read-modify-write operations. We use the concept of consistent quorums to detect whether the previous consensus still needs to be consolidated or is already finished so that the next consensus value can be safely proposed. Reading a consolidated consensus is done without state modification and is thereby free of concurrency control and demand for serialisation. A proposer that is not interrupted reaches agreement on consecutive consensuses within a single message round-trip per consensus decision by preparing the acceptors eagerly with the preceding request.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/11/2017

Fault Tolerant Consensus Agreement Algorithm

Recently a new fault tolerant and simple mechanism was designed for solv...
research
10/11/2018

Aleph: A Leaderless, Asynchronous, Byzantine Fault Tolerant Consensus Protocol

In this paper we propose Aleph, a leaderless, fully asynchronous, Byzant...
research
04/10/2020

Paxos vs Raft: Have we reached consensus on distributed consensus?

Distributed consensus is a fundamental primitive for constructing fault-...
research
09/17/2023

An Auto-Parallelizer for Distributed Computing in Haskell

One of the main challenges in distributed computing is building interfac...
research
05/31/2022

Gluing Neural Networks Symbolically Through Hyperdimensional Computing

Hyperdimensional Computing affords simple, yet powerful operations to cr...
research
10/13/2020

Fault-tolerant and Transactional Stateful Serverless Workflows (extended version)

This paper introduces Beldi, a library and runtime system for writing an...
research
03/01/2019

ε-differential agreement: A Parallel Data Sorting Mechanism for Distributed Information Processing System

The order of the input information plays a very important role in a dist...

Please sign up or login with your details

Forgot password? Click here to reset