Treffer: PSYNC: A Partially Synchronous Language for Fault-Tolerant Distributed Algorithms

Title:
PSYNC: A Partially Synchronous Language for Fault-Tolerant Distributed Algorithms
Contributors:
Analyse Statique par Interprétation Abstraite (ANTIQUE), Département d'informatique de l'École normale supérieure (DI-ENS), École normale supérieure - Paris (ENS Paris) - Institut National de Recherche en Informatique et en Automatique (Inria) - Centre National de la Recherche Scientifique (CNRS) - École normale supérieure - Paris (ENS Paris) - Institut National de Recherche en Informatique et en Automatique (Inria) - Centre National de la Recherche Scientifique (CNRS) - Inria de Paris, Institut National de Recherche en Informatique et en Automatique (Inria), Institute of Science and Technology [Austria] (IST Austria), IST Austria, Computer Science and Artificial Intelligence Laboratory [Cambridge] (CSAIL), Massachusetts Institute of Technology (MIT)
Source:
POPL, Jan 2017, Saint Petersburg United States. 2016, <10.1145/nnnnnnn.nnnnnnn>
Publisher Information:
HAL CCSD, 2017.
Publication Year:
2017
Collection:
collection:CNRS
collection:ENS-PARIS
collection:INRIA
collection:PSL
Subject Geographic:
Original Identifier:
HAL: hal-01434325
Document Type:
Konferenz conferenceObject<br />Conference papers
Language:
English
Relation:
info:eu-repo/semantics/altIdentifier/doi/10.1145/nnnnnnn.nnnnnnn
Accession Number:
edshal.hal.01434325v1
Database:
HAL

Weitere Informationen

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 asyn-chrony 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.