Automated Verification of Idempotence for Stateful Serverless Applications
Haoran Ding, Zhaoguo Wang, Zhuohao Shen, Rong Chen, Haibo Chen
Abstract
Serverless computing has become a popular cloud computing paradigm. By default, when a serverless function fails, the serverless platform re-executes the function to tolerate the failure. However, such a retry-based approach requires functions to be idempotent, which means that functions should expose the same behavior regardless of retries. This requirement is challenging for developers, especially when functions are stateful. Failures may cause functions to repeatedly read and update shared states, potentially corrupting data consistency.
This paper presents Flux, the first toolkit that automatically verifies the idempotence of serverless applications. It proposes a new correctness definition, idempotence consistency, which stipulates that a serverless function's retry is transparent to users. To verify idempotence consistency, Flux defines a novel property, idempotence simulation, which decomposes the proof for a concurrent serverless application into the reasoning of individual functions. Furthermore, Flux extends existing verification techniques to realize automated reasoning, enabling Flux to identify idempotence-violating operations and fix them with existing log-based methods.
We demonstrate the efficacy of Flux with 27 representative serverless applications. Flux has successfully identified previously unknown issues in 12 applications. Developers have confirmed 8 issues. Compared to state-of-the-art systems (namely Beldi and Boki) that log every operation, Flux achieves up to 6× lower latency and 10× higher peak throughput, as it logs only the identified idempotence-violating ones.
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.
Cited by top-tier papers5
- Halfmoon: Log-Optimal Fault-Tolerant Stateful Serverless ComputingSheng Qi, Xuanzhe Liu, Xin JinSOSP 2023 · 16 citations
- EcoLife: Carbon-Aware Serverless Function Scheduling for Sustainable ComputingYankai Jiang, Rohan Basu Roy, Baolin Li, Devesh TiwariSC 2024 · 14 citations
- Kivi: Verification for Cluster ManagementBingzhe Liu, Gangmuk Lim, Ryan Beckett, Philip Brighten GodfreyUSENIX ATC 2024 · 6 citations
- Using Dynamically Layered Definite Releases for Verifying the RefFS File SystemMo Zou, Dong Du, Mingkai Dong, Haibo ChenOSDI 2024 · 4 citations
- Online Container Caching with Late-Warm for IoT Data ProcessingGuopeng Li, Haisheng Tan, Xuan Zhang, Chi Zhang et al.ICDE 2024 · 4 citations
Builds on22
- Catalyzer: Sub-millisecond Startup for Serverless Computing with Initialization-less BootingDong Du, Tianyi Yu, Yubin Xia, Binyu Zang et al.ASPLOS 2020 · 280 citations
- FaasCache: keeping serverless computing alive with greedy-dual cachingAlexander Fuerst, Prateek SharmaASPLOS 2021 · 223 citations
- Nightcore: efficient and scalable serverless computing for latency-sensitive, interactive microservicesZhipeng Jia, Emmett WitchelASPLOS 2021 · 218 citations
- Benchmarking, analysis, and optimization of serverless function snapshotsDmitrii Ustiugov, Plamen Petrov, Marios Kogias, Edouard Bugnion et al.ASPLOS 2021 · 162 citations
- Microsecond-scale Preemption for Concurrent GPU-accelerated DNN InferencesMingcong Han, Hanze Zhang, Rong Chen, Haibo ChenOSDI 2022 · 153 citations
Related papers
- MXFaaS: Resource Sharing in Serverless Environments for Parallelism and EfficiencyJovan Stojkovic, Tianyin Xu, Hubertus Franke, Josep TorrellasISCA 2023 · 39 citations
- CausalMesh: A Causal Cache for Stateful Serverless ComputingHaoran Zhang, Shuai Mu, Sebastian Angel, Vincent LiuVLDB 2024 · 6 citations
- FlexLog: A Shared Log for Stateful Serverless ComputingDimitra Giantsidi, Emmanouil Giortamis, Nathaniel Tornow, Florin Dinu et al.HPDC 2023 · 9 citations
- DataFlower: Exploiting the Data-flow Paradigm for Serverless Workflow OrchestrationZijun Li, Chuhao Xu, Quan Chen, Jieru Zhao et al.ASPLOS 2023 · 28 citations
- A fault-tolerance shim for serverless computingVikram Sreekanti, Chenggang Wu, Saurav Chhatrapati, Joseph E. Gonzalez et al.EuroSys 2020 · 58 citations
