What's Live? Understanding Distributed Consensus

01/14/2020
by   Saksham Chand, et al.
0

Distributed consensus algorithms such as Paxos have been studied extensively. They all use a same definition of safety. Liveness is especially important in practice despite well-known theoretical impossibility results. However, many different liveness properties and assumptions have been stated, and there are no systematic comparisons for better understanding of these properties. This paper studies and compares different liveness properties stated for over 30 well-known consensus algorithms and variants. We build a lattice of liveness properties combining a lattice of the assumptions used and a lattice of the assertions made, and we compare the strengths and weaknesses of algorithms that ensure these properties. Our precise specifications and systematic comparisons led to the discovery of a range of problems in various stated liveness properties, from lacking assumptions or too weak assumptions for which no liveness assertions can hold, to too strong assumptions making it trivial or uninteresting to achieve the assertions. We also developed TLA+ specifications of these liveness properties. We show that model checking execution steps using TLC can illustrate liveness patterns for single-valued Paxos on up to 4 proposers and 4 acceptors in a few hours, but becomes too expensive for multi-valued Paxos or more processes.

READ FULL TEXT

page 22

page 23

page 24

page 26

page 27

page 29

page 30

page 33

research
04/08/2020

Analysis of LFT2

For a decentralized and transparent society, blockchain technology has b...
research
04/03/2022

Better Lattice Quantizers Constructed from Complex Integers

Real-valued lattices and complex-valued lattices are mutually convertibl...
research
06/09/2022

Holistic Verification of Blockchain Consensus

Blockchain has recently attracted the attention of the industry due, in ...
research
02/27/2018

Simpler Specifications and Easier Proofs of Distributed Algorithms Using History Variables

This paper studies specifications and proofs of distributed algorithms w...
research
08/17/2017

Extracting Formal Specifications to Strenghten Type Behaviour Testing

Testing has become an indispensable activity of software development, ye...
research
04/01/2022

Asynchronous Diffusion of Data on Networked Lattices

We study time-dependent dynamics on a network of algebraic lattices, whe...
research
10/17/2022

Contextuality in distributed systems

We present a lattice of distributed program specifications, whose orderi...

Please sign up or login with your details

Forgot password? Click here to reset