A.M.B.R.O.S.I.A: Providing Performant Virtual Resiliency for Distributed Applications
Jonathan Goldstein, Ahmed S. Abdelhamid, Mike Barnett, Sebastian Burckhardt, Badrish Chandramouli, Darren Gehring, Niel Lebeck, Christopher Meiklejohn, Umar Farooq Minhas, Ryan Newton, Rahee Peshawaria, Tal Zaccai, Irene Zhang
Abstract
When writing today's distributed programs, which frequently span both devices and cloud services, programmers are faced with complex decisions and coding tasks around coping with failure, especially when these distributed components are stateful. If their application can be cast as pure data processing, they benefit from the past 40--50 years of work from the database community, which has shown how declarative database systems can completely isolate the developer from the possibility of failure in a performant manner. Unfortunately, while there have been some attempts at bringing similar functionality into the more general distributed programming space, a compelling general-purpose system must handle non-determinism, be performant, support a variety of machine types with varying resiliency goals, and be language agnostic, allowing distributed components written in different languages to communicate. This paper introduces Ambrosia, the first system to satisfy all these requirements. We coin the term "virtual resiliency", analogous to virtual memory, for the platform feature which allows failure oblivious code to run in a failure resilient manner. We also introduce novel programming language constructs for resiliently handling non-determinism. Of further interest is the effective reapplication of much database performance optimization technology to make Ambrosia more performant than many of today's non-resilient cloud solutions.
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.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a3315403-811c-4e8b-b7b4-53f93d01648dCited by top-tier papers6
- Durable functions: semantics for stateful serverlessSebastian Burckhardt, Chris Gillum, David Justo, Konstantinos Kallas et al.OOPSLA 2021 · 63 citations
- Fork It: Supporting Stateful Alternatives in Computational NotebooksNathaniel Weinman, Steven Mark Drucker, Titus Barik, Robert DeLineCHI 2021 · 55 citations
- SurfaceFleet: Exploring Distributed Interactions Unbounded from Device, Application, User, and TimeFrederik Brudy, David Ledo, Michel Pahud, Nathalie Henry Riche et al.UIST 2020 · 19 citations
- IcedTea: Efficient and Responsive Time-Travel Debugging in Dataflow SystemsShengquan Ni, Yicong Huang, Zuozhi Wang, Chen LiVLDB 2025 · 2 citations
- Impeller: Stream Processing on Shared LogsZhiting Zhu, Zhipeng Jia, Newton Ni, Dixin Tang et al.EuroSys 2025 · 1 citation
Related papers
- DARQ Matter Binds Everything: Performant and Composable Cloud Programming via Resilient StepsTianyu Li, Badrish Chandramouli, Sebastian Burckhardt, Samuel MaddenSIGMOD 2023 · 8 citations
- Distributed Speculative Execution for Resilient Cloud ApplicationsTianyu Li, Badrish Chandramouli, Philip A. Bernstein, Sam MaddenOSDI 2026
- BAASH: lightweight, efficient, and reliable blockchain-as-a-service for HPC systemsAbdullah Al-Mamun, Feng Yan, Dongfang ZhaoSC 2021 · 14 citations
- Excalibur: A Virtual Machine for Adaptive Fine-grained JIT-Compiled Query Execution based on VOILATim Gubner, Peter BonczVLDB 2023 · 10 citations
- DISCO*: Distributed and SCalable Oblivious Joins and Oblivious PrimitivesApostolos Mavrogiannakis, Xian Wang, Ioannis Demertzis, Dimitrios Papadopoulos et al.SOSP 2026
