Projects per year
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.
| Original language | English |
|---|---|
| Title of host publication | Proceeding MPLR 2019 Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes |
| Editors | Antony Hosking, Irene Finocchi |
| Place of Publication | New York |
| Publisher | ACM |
| Pages | 157-171 |
| Number of pages | 15 |
| ISBN (Electronic) | 9781450369770 |
| ISBN (Print) | 978-1-4503-6977-0 |
| DOIs | |
| Publication status | Published - Oct 2019 |
Fields of science
- 102 Computer Sciences
- 102009 Computer simulation
- 102011 Formal languages
- 102013 Human-computer interaction
- 102022 Software development
- 102024 Usability research
- 102029 Practical computer science
JKU Focus areas
- Digital Transformation
Projects
- 1 Finished
-
Meta-level Engineering and Tooling for Complex Concurrent Systems
Mössenböck, H. (PI)
01.03.2016 → 28.02.2021
Project: Funded research › FWF - Austrian Science Fund