Skip to main content
Kent Academic Repository

Efficient and Deterministic Record & Replay for Actor Languages

Aumayr, Dominik, Marr, Stefan, Béra, Clément, Gonzalez Boix, Elisa, Mössenböck, Hanspeter (2018) Efficient and Deterministic Record & Replay for Actor Languages. In: Proceedings of the 15th International Conference on Managed Languages and Runtimes. . (doi:10.1145/3237009.3237015) (KAR id:68801)


With the ubiquity of parallel commodity hardware, developers turn to high-level concurrency models such as the actor model to lower the complexity of concurrent software. However, debugging concurrent software is hard, especially for concurrency models with a limited set of supporting tools. Such tools often deal only with the underlying threads and locks, which obscures the view on e.g. actors and messages and thereby introduces additional complexity. To improve on this situation, we present a low-overhead record & replay approach for actor languages. It allows one to debug concurrency issues deterministically based on a previously recorded trace. Our evaluation shows that the average run-time overhead for tracing on benchmarks from the Savina suite is 10% (min. 0%, max. 20%). For Acme-Air, a modern web application, we see a maximum increase of 1% in latency for HTTP requests and about 1.4 MB/s of trace data. These results are a first step towards deterministic replay debugging of actor systems in production.

Item Type: Conference or workshop item (Paper)
DOI/Identification number: 10.1145/3237009.3237015
Uncontrolled keywords: Concurrency, Debugging, Determinism, Actors, Tracing, Replay
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Stefan Marr
Date Deposited: 24 Aug 2018 14:46 UTC
Last Modified: 18 Sep 2023 22:17 UTC
Resource URI: (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.