---
_id: '1439'
abstract:
- lang: eng
text: 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.
acknowledgement: 'Damien Zufferey was supported by DARPA (Grants FA8650-11-C-7192
and FA8650-15-C-7564) and NSF (Grant CCF-1138967). '
alternative_title:
- ACM SIGPLAN Notices
author:
- first_name: Cezara
full_name: Dragoi, Cezara
id: 2B2B5ED0-F248-11E8-B48F-1D18A9856A87
last_name: Dragoi
- first_name: Thomas A
full_name: Henzinger, Thomas A
id: 40876CD8-F248-11E8-B48F-1D18A9856A87
last_name: Henzinger
orcid: 0000−0002−2985−7724
- first_name: Damien
full_name: Zufferey, Damien
id: 4397AC76-F248-11E8-B48F-1D18A9856A87
last_name: Zufferey
orcid: 0000-0002-3197-8736
citation:
ama: 'Dragoi C, Henzinger TA, Zufferey D. PSYNC: A partially synchronous language
for fault-tolerant distributed algorithms. In: Vol 20-22. ACM; 2016:400-415. doi:10.1145/2837614.2837650'
apa: 'Dragoi, C., Henzinger, T. A., & Zufferey, D. (2016). PSYNC: A partially
synchronous language for fault-tolerant distributed algorithms (Vol. 20–22, pp.
400–415). Presented at the POPL: Principles of Programming Languages, St. Petersburg,
FL, USA: ACM. https://doi.org/10.1145/2837614.2837650'
chicago: 'Dragoi, Cezara, Thomas A Henzinger, and Damien Zufferey. “PSYNC: A Partially
Synchronous Language for Fault-Tolerant Distributed Algorithms,” 20–22:400–415.
ACM, 2016. https://doi.org/10.1145/2837614.2837650.'
ieee: 'C. Dragoi, T. A. Henzinger, and D. Zufferey, “PSYNC: A partially synchronous
language for fault-tolerant distributed algorithms,” presented at the POPL: Principles
of Programming Languages, St. Petersburg, FL, USA, 2016, vol. 20–22, pp. 400–415.'
ista: 'Dragoi C, Henzinger TA, Zufferey D. 2016. PSYNC: A partially synchronous
language for fault-tolerant distributed algorithms. POPL: Principles of Programming
Languages, ACM SIGPLAN Notices, vol. 20–22, 400–415.'
mla: 'Dragoi, Cezara, et al. PSYNC: A Partially Synchronous Language for Fault-Tolerant
Distributed Algorithms. Vol. 20–22, ACM, 2016, pp. 400–15, doi:10.1145/2837614.2837650.'
short: C. Dragoi, T.A. Henzinger, D. Zufferey, in:, ACM, 2016, pp. 400–415.
conference:
end_date: 2016-01-22
location: St. Petersburg, FL, USA
name: 'POPL: Principles of Programming Languages'
start_date: 2016-01-20
date_created: 2018-12-11T11:52:01Z
date_published: 2016-01-11T00:00:00Z
date_updated: 2021-01-12T06:50:45Z
day: '11'
department:
- _id: ToHe
doi: 10.1145/2837614.2837650
ec_funded: 1
language:
- iso: eng
main_file_link:
- open_access: '1'
url: https://hal.inria.fr/hal-01251199/
month: '01'
oa: 1
oa_version: Preprint
page: 400 - 415
project:
- _id: 25EE3708-B435-11E9-9278-68D0E5697425
call_identifier: FP7
grant_number: '267989'
name: Quantitative Reactive Modeling
- _id: 25F42A32-B435-11E9-9278-68D0E5697425
call_identifier: FWF
grant_number: Z211
name: The Wittgenstein Prize
- _id: 25832EC2-B435-11E9-9278-68D0E5697425
call_identifier: FWF
grant_number: S 11407_N23
name: Rigorous Systems Engineering
publication_status: published
publisher: ACM
publist_id: '5759'
quality_controlled: '1'
scopus_import: 1
status: public
title: 'PSYNC: A partially synchronous language for fault-tolerant distributed algorithms'
type: conference
user_id: 3E5EF7F0-F248-11E8-B48F-1D18A9856A87
volume: 20-22
year: '2016'
...