Automated Verification of Idempotence for Stateful Serverless Applications
Haoran Ding, Zhaoguo Wang, Zhuohao Shen, Rong Chen, Haibo Chen
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper5
- Halfmoon: Log-Optimal Fault-Tolerant Stateful Serverless ComputingSheng Qi, Xuanzhe Liu, Xin JinSOSP 2023 · 被引用 16 次
- EcoLife: Carbon-Aware Serverless Function Scheduling for Sustainable ComputingYankai Jiang, Rohan Basu Roy, Baolin Li, Devesh TiwariSC 2024 · 被引用 14 次
- Kivi: Verification for Cluster ManagementBingzhe Liu, Gangmuk Lim, Ryan Beckett, Philip Brighten GodfreyUSENIX ATC 2024 · 被引用 6 次
- Using Dynamically Layered Definite Releases for Verifying the RefFS File SystemMo Zou, Dong Du, Mingkai Dong, Haibo ChenOSDI 2024 · 被引用 4 次
- Online Container Caching with Late-Warm for IoT Data ProcessingGuopeng Li, Haisheng Tan, Xuan Zhang, Chi Zhang 等ICDE 2024 · 被引用 4 次
它引用的顶会 Paper22
- Catalyzer: Sub-millisecond Startup for Serverless Computing with Initialization-less BootingDong Du, Tianyi Yu, Yubin Xia, Binyu Zang 等ASPLOS 2020 · 被引用 280 次
- FaasCache: keeping serverless computing alive with greedy-dual cachingAlexander Fuerst, Prateek SharmaASPLOS 2021 · 被引用 223 次
- Nightcore: efficient and scalable serverless computing for latency-sensitive, interactive microservicesZhipeng Jia, Emmett WitchelASPLOS 2021 · 被引用 218 次
- Benchmarking, analysis, and optimization of serverless function snapshotsDmitrii Ustiugov, Plamen Petrov, Marios Kogias, Edouard Bugnion 等ASPLOS 2021 · 被引用 162 次
- Microsecond-scale Preemption for Concurrent GPU-accelerated DNN InferencesMingcong Han, Hanze Zhang, Rong Chen, Haibo ChenOSDI 2022 · 被引用 153 次
相关 Paper
- MXFaaS: Resource Sharing in Serverless Environments for Parallelism and EfficiencyJovan Stojkovic, Tianyin Xu, Hubertus Franke, Josep TorrellasISCA 2023 · 被引用 39 次
- CausalMesh: A Causal Cache for Stateful Serverless ComputingHaoran Zhang, Shuai Mu, Sebastian Angel, Vincent LiuVLDB 2024 · 被引用 6 次
- FlexLog: A Shared Log for Stateful Serverless ComputingDimitra Giantsidi, Emmanouil Giortamis, Nathaniel Tornow, Florin Dinu 等HPDC 2023 · 被引用 9 次
- DataFlower: Exploiting the Data-flow Paradigm for Serverless Workflow OrchestrationZijun Li, Chuhao Xu, Quan Chen, Jieru Zhao 等ASPLOS 2023 · 被引用 28 次
- A fault-tolerance shim for serverless computingVikram Sreekanti, Chenggang Wu, Saurav Chhatrapati, Joseph E. Gonzalez 等EuroSys 2020 · 被引用 58 次
