Skip to main content
Kent Academic Repository

Asynchronous Snapshots of Actor Systems for Latency-Sensitive Applications

Aumayr, Dominik, Marr, Stefan, Gonzalez Boix, Elisa, Mössenböck, Hanspeter (2019) Asynchronous Snapshots of Actor Systems for Latency-Sensitive Applications. In: Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes. . pp. 157-171. ACM ISBN 978-1-4503-6977-0. (doi:10.1145/3357390.3361019) (KAR id:77490)

Abstract

The actor model is popular for many types of server applications. Efficient snapshotting of applications is crucial in the deployment of pre-initialized applications or moving running applications to different machines, e.g for debugging purposes. A key issue is that snapshotting blocks all other operations. In modern latency-sensitive applications, stopping the application to persist its state needs to be avoided, because users may not tolerate the increased request latency. In order to minimize the impact of snapshotting on request latency, our approach persists the application’s state asynchronously by capturing partial heaps, completing snapshots step by step. Additionally, our solution is transparent and supports arbitrary object graphs. We prototyped our snapshotting approach on top of the Truffle/Graal platform and evaluated it with the Savina benchmarks and the Acme Air microservice application. When performing a snapshot every thousand Acme Air requests, the number of slow requests ( 0.007% of all requests) with latency above 100ms increases by 5.43%. Our Savina microbenchmark results detail how different utilization patterns impact snapshotting cost. To the best of our knowledge, this is the first system that enables asynchronous snapshotting of actor applications, i.e. without stop-the-world synchronization, and thereby minimizes the impact on latency. We thus believe it enables new deployment and debugging options for actor systems.

Item Type: Conference or workshop item (Paper)
DOI/Identification number: 10.1145/3357390.3361019
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Stefan Marr
Date Deposited: 16 Oct 2019 10:03 UTC
Last Modified: 09 Dec 2022 00:56 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/77490 (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.