Reliable Actors with Retry Orchestration
Olivier Tardieu, David Grove, Gheorghe-Teodor Bercea, Paul Castro, Jaroslaw Cwiklik, Edward A. Epstein
Abstract
Cloud developers have to build applications that are resilient to failures and interruptions. We advocate for a fault-tolerant programming model for the cloud based on actors, retry orchestration, and tail calls. This model builds upon persistent data stores and messages queues readily available on the cloud. Retry orchestration not only guarantees that (1) failed actor invocations will be retried but also that (2) completed invocations are never repeated and (3) it preserves a strict happen-before relationship across failures within call stacks. Tail calls can break complex tasks into simple steps to minimize re-execution during recovery. We review key application patterns and failure scenarios. We formalize a process calculus to precisely capture the mechanisms of fault tolerance in this model. We briefly describe our implementation. Using an application inspired by a typical enterprise scenario, we validate the functional correctness of our implementation and assess the impact of fault preparedness and recovery on performance.
CCS Concepts: • Software and its engineering → Error handling and recovery.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Builds on3
- Durable functions: semantics for stateful serverlessSebastian Burckhardt, Chris Gillum, David Justo, Konstantinos Kallas et al.OOPSLA 2021 · 63 citations
- Fault-tolerant and transactional stateful serverless workflowsHaoran Zhang, Adney Cardoza, Peter Baile Chen, Sebastian Angel et al.OSDI 2020 · 20 citations
- Scalable and serializable networked multi-actor programmingBo Sang, Patrick Eugster, Gustavo Petri, Srivatsan Ravi et al.OOPSLA 2020 · 3 citations
Related papers
- Push-Button Reliability Testing for Cloud-Backed Applications with RainmakerYinfang Chen, Xudong Sun, Suman Nath, Ze Yang et al.NSDI 2023 · 29 citations
- Canary: Fault-Tolerant FaaS for Stateful Time-Sensitive ApplicationsMoiz Arif, Kevin Assogba, M. Mustafa RafiqueSC 2022 · 9 citations
- A fault-tolerance shim for serverless computingVikram Sreekanti, Chenggang Wu, Saurav Chhatrapati, Joseph E. Gonzalez et al.EuroSys 2020 · 58 citations
- If At First You Don't Succeed, Try, Try, Again...? Insights and LLM-informed Tooling for Detecting Retry Bugs in Software SystemsBogdan Alexandru Stoica, Utsav Sethi, Yiming Su, Cyrus Zhou et al.SOSP 2024 · 4 citations
- Coverage Guided Fault Injection for Cloud SystemsYu Gao, Wensheng Dou, Dong Wang, Wenhan Feng et al.ICSE 2023 · 13 citations
