Skip to main navigation Skip to search Skip to main content

Moderately complex paxos made simple: High-level executable specification of distributed algorithms

  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

6 Scopus citations

Abstract

This paper describes the application of a high-level language and method in developing simpler specifications of more complex variants of the Paxos algorithm for distributed consensus. The specifications are for Multi-Paxos with preemption, replicated state machine, and reconfiguration and optimized with state reduction and failure detection. The language is DistAlgo. The key is to express complex control flows and synchronization conditions precisely at a high level, using nondeterministic waits and message-history queries. We obtain complete executable specifications that are almost completely declarative - updating only a number for the protocol round besides the sets of messages sent and received. We show the following results: (1) English and pseudocode descriptions of distributed algorithms can be captured completely and precisely at a high level, without adding, removing, or reformulating algorithm details to fit lower-level, more abstract, or less direct languages. (2) We created higher-level control flows and synchronization conditions than all previous specifications, and obtained specifications that are much simpler and smaller, even matching or smaller than abstract specifications that omit many algorithm details. (3) The simpler specifications led us to easily discover useless replies, unnecessary delays, and liveness violations (if messages can be lost) in previous published specifications, by just following the simplified algorithm flows. (4) The resulting specifications can be executed directly, and we can express optimizations cleanly, yielding drastic performance improvement over naive execution and facilitating a general method for merging processes. (5) We systematically translated the resulting specifications into TLA+ and developed machine-checked safety proofs, which also allowed us to detect and fix a subtle safety violation in an earlier unpublished specification. Additionally, we show the basic concepts in Paxos that are fundamental in many distributed algorithms and show that they are captured concisely in our specifications.

Original languageEnglish
Title of host publicationProceedings of the 21st International Symposium on Principles and Practice of Declarative Programming, PPDP 2019
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450372497
DOIs
StatePublished - Oct 7 2019
Event21st International Symposium on Principles and Practice of Declarative Programming, PPDP 2019 - Porto, Portugal
Duration: Oct 7 2019Oct 9 2019

Publication series

NameACM International Conference Proceeding Series

Conference

Conference21st International Symposium on Principles and Practice of Declarative Programming, PPDP 2019
Country/TerritoryPortugal
CityPorto
Period10/7/1910/9/19

Keywords

  • Distributed algorithms
  • Distributed consensus executable specification
  • High-level specification
  • Message-history queries
  • Paxos

Fingerprint

Dive into the research topics of 'Moderately complex paxos made simple: High-level executable specification of distributed algorithms'. Together they form a unique fingerprint.

Cite this