Ozone: Fully Out-of-Order Choreographies

Dan Plyukhin*, Marco Peressotti, Fabrizio Montesi

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

1 Downloads (Pure)

Abstract

Choreographic programming is a paradigm for writing distributed applications. It allows programmers to write a single program, called a choreography, that can be compiled to generate correct implementations of each process in the application. Although choreographies provide good static guarantees, they can exhibit high latency when messages or processes are delayed. This is because processes in a choreography typically execute in a fixed, deterministic order, and cannot adapt to the order that messages arrive at runtime. In non-choreographic code, programmers can address this problem by allowing processes to execute out of order – for instance by using futures or reactive programming. However, in choreographic code, out-of-order process execution can lead to serious and subtle bugs, called communication integrity violations (CIVs). In this paper, we develop a model of choreographic programming for out-of-order processes that guarantees absence of CIVs and deadlocks. As an application of our approach, we also introduce an API for safe non-blocking communication via futures in the choreographic programming language Choral. The API allows processes to execute out of order, participate in multiple choreographies concurrently, and to handle unordered data messages. We provide an illustrative evaluation of our API, showing that out-of-order execution can reduce latency and increase throughput by overlapping communication with computation.

Original languageEnglish
Title of host publication38th European Conference on Object-Oriented Programming : ECOOP 2024
EditorsJonathan Aldrich, Guido Salvaneschi
Number of pages28
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Publication dateSept 2024
Article number31
ISBN (Electronic)9783959773416
DOIs
Publication statusPublished - Sept 2024
Event38th European Conference on Object-Oriented Programming, ECOOP 2024 - Vienna, Austria
Duration: 16. Sept 202420. Sept 2024

Conference

Conference38th European Conference on Object-Oriented Programming, ECOOP 2024
Country/TerritoryAustria
CityVienna
Period16/09/202420/09/2024
SeriesLeibniz International Proceedings in Informatics, LIPIcs
Volume313
ISSN1868-8969

Keywords

  • Asynchrony
  • Choreographic programming
  • Concurrency

Fingerprint

Dive into the research topics of 'Ozone: Fully Out-of-Order Choreographies'. Together they form a unique fingerprint.

Cite this