HackerPapers

arXiv:1606.01387cs.DC

Formal Verification of Multi-Paxos for Distributed Consensus

Saksham Chand, Yanhong A. Liu, Scott D. Stoller

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

Abstract

Paxos is an important algorithm for a set of distributed processes to agree on a single value or a sequence of values, for which it is called Basic Paxos or Multi-Paxos, respectively. Consensus is critical when distributed services are replicated for fault-tolerance, because non-faulty replicas must agree on the state of the system or the sequence of operations that have been performed. Unfortunately, consensus algorithms including Multi-Paxos in particular are well-known to be difficult to understand, and their accurate specifications and correctness proofs remain challenging, despite extensive studies ever since Lamport introduced Paxos. This article describes formal specification and verification of Lamport's Multi-Paxos algorithm for distributed consensus. The specification is written in TLA+, Lamport's Temporal Logic of Actions. The proof is written and automatically checked using TLAPS, the TLA+ Proof System. The proof is for the safety property of the algorithm. Building on Lamport, Merz, and Doligez's specification and proof for Basic Paxos, we aim to facilitate the understanding of Multi-Paxos and its proof by minimizing the difference from those for Basic Paxos, and to demonstrate a general way of proving other variants of Paxos and other sophisticated distributed algorithms. We also discuss our general strategies and results for proving complex invariants using invariance lemmas and increments, for proving properties about sets and tuples to help the proof check succeed in significantly reduced time, and for overall proof improvement leading to considerably reduced proof size.

arXiv comments
Journal reference
FM 2016: Proceedings of the 21st International Symposium on Formal Methods. LNCS 9995. Pages 119-136. Springer,
DOI
doi:10.1007/978-3-319-48989-6_8
Subjects
cs.DCDistributed, Parallel, and Cluster Computing cs.LOLogic in Computer Science

On Hacker News

Linked by 1 identifiable commenter in 2 comments across 2 threads, from Jan 2022 to May 2022. Found in 1 HN submission from Dec 2021 to Dec 2021. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments2 threads

    • Lamport's early Paxos papers are interesting for a lot of reasons (I particularly like his simple textbook definition of equivalence classes in "Generalized Consensus and Paxos" (2005)), but I agree that the Paxos algorithm gets lost in all the fluff. In 2016 some researchers at…

      gralxView on HNParent context

  1. Paxos 1 comment
    • Lamport has published a TLA+ spec of the Paxos consensus algorithm¹, but none I could find of the Paxos algorithm itself (aka multi-Paxos). In 2016 some academics at Stony Brook University did, along with a machine-checked TLAPS proof, updated in 2019…

      gralxView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.