Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Mon 18 Oct 2021 14:15 - 14:40 at Zurich G - Session 2 Chair(s): Alan Jeffrey

A program is deterministic if multiple re-executions with the same inputs always lead to the same state.
Even concurrent instances of a deterministic program should observe identical behavior—in real time—if assigned the same set of inputs.
In this work, we propose real-time reproducibility for distributed programs.
Multiple instances of the same interactive application can broadcast asynchronous inputs and yet conform to identical behavior.
Collaborative networked applications, such as watch parties, document editing, and video games can benefit from this approach.
We name this class of applications as symmetric distributed applications.
Using a standard event-driven API to wait and emit events, programmers write code as if the application executes in a single machine.
Our middleware intercepts event generation and synchronizes all instances in a consistent timeline so that receipt is identically reproducible.
Not only distributed applications benefit from consistency and determinism but also development and testing can be done in a single instance with the same guarantees.
In our experiments, the middleware can handle applications with 25 FPS, distributed in up to 25 nodes over the Internet, with an event latency below 350ms.

Mon 18 Oct

Displayed time zone: Central Time (US & Canada) change

13:50 - 15:10
Session 2REBLS at Zurich G
Chair(s): Alan Jeffrey Roblox
Trampoline Variables: A General Method for State Accumulation in Reactive Programming
Bjarno Oeyen Vrije Universiteit Brussel, Sam Van den Vonder Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel
DOI Pre-print
Symmetric Distributed Applications
Francisco Sant'Anna Rio de Janeiro State University, Rodrigo Santos Microsoft, Noemi Rodriguez PUC-Rio
Analysing the Performance and Costs of Reactive Programming Libraries in Java
Julien Ponge Red Hat, Arthur Navarro Red Hat, Clément Escoffier Red Hat, Frédéric Le Mouël University of Lyon; INSA Lyon; Inria; CITI