PSYNC: A partially synchronous language for fault-tolerant distributed algorithms Conference Paper


Author(s): Drǎgoi, Cezara; Henzinger, Thomas A; Zufferey, Damien
Title: PSYNC: A partially synchronous language for fault-tolerant distributed algorithms
Title Series: ACM SIGPLAN Notices
Affiliation IST Austria
Abstract: Fault-tolerant distributed algorithms play an important role in many critical/high-availability applications. These algorithms are notoriously difficult to implement correctly, due to asynchronous communication and the occurrence of faults, such as the network dropping messages or computers crashing. We introduce PSYNC, a domain specific language based on the Heard-Of model, which views asynchronous faulty systems as synchronous ones with an adversarial environment that simulates asynchrony and faults by dropping messages. We define a runtime system for PSYNC that efficiently executes on asynchronous networks. We formalize the relation between the runtime system and PSYNC in terms of observational refinement. The high-level lockstep abstraction introduced by PSYNC simplifies the design and implementation of fault-tolerant distributed algorithms and enables automated formal verification. We have implemented an embedding of PSYNC in the SCALA programming language with a runtime system for asynchronous networks. We show the applicability of PSYNC by implementing several important fault-tolerant distributed algorithms and we compare the implementation of consensus algorithms in PSYNC against implementations in other languages in terms of code size, runtime efficiency, and verification.
Keywords: Fault-tolerant distributed algorithms; Automated verification; Consensus; Partial synchrony; Round model
Conference Title: POPL: Principles of Programming Languages
Volume: 20-22
Conference Dates: January 20 - 22, 2016
Conference Location: St. Petersburg, FL, USA
Publisher: ACM  
Date Published: 2016-01-11
Start Page: 400
End Page: 415
URL:
DOI: 10.1145/2837614.2837650
Notes: We thank Josef Widder for the discussion about modeling dis- tributed systems, Shaz Qadeer for his support and suggestions for improving the paper, and the anonymous reviewers for their helpful feedback. Thomas A. Henzinger was supported in part by the Eu- ropean Research Council (ERC) under grant 267989 (QUAREM) and by the Austrian Science Fund (FWF) under grants S11402-N23 (RiSE) and Z211-N23 (Wittgenstein Award). Damien Zufferey was supported by DARPA (Grants FA8650-11-C-7192 and FA8650-15- C-7564) and NSF (Grant CCF-1138967).
Open access: yes (repository)
IST Austria Authors
  1. Thomas A. Henzinger
    398 Henzinger
Related IST Austria Work