# Asynchronous Snapshots of Actor Systems for Latency-Sensitive   Applications

**Authors:** Dominik Aumayr, Stefan Marr, Elisa Gonzalez Boix, Hanspeter, M\"ossenb\"ock

arXiv: 1907.08003 · 2019-09-19

## TL;DR

This paper introduces a novel asynchronous snapshotting method for actor systems that minimizes latency impact by capturing partial states without stopping the application, supporting arbitrary object graphs, and enabling better deployment and debugging.

## Contribution

It presents the first system for asynchronous, non-blocking snapshotting of actor applications, improving latency and operational flexibility.

## Key findings

- Snapshotting increases slow requests by 0.007% at 100ms latency threshold.
- The approach supports arbitrary object graphs and partial heap captures.
- Performance varies with utilization patterns, affecting snapshotting costs.

## 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.

---
Source: https://tomesphere.com/paper/1907.08003