Durable Functions: Semantics for Stateful Serverless

被引:20
|
作者
Burckhardt, Sebastian [1 ]
Gillum, Chris [2 ]
Justo, David [2 ]
Kallas, Konstantinos [3 ]
McMahon, Connor [2 ]
Meiklejohn, Christopher S. [4 ]
机构
[1] Microsoft Res, Redmond, WA 98052 USA
[2] Microsoft Azure, Redmond, WA USA
[3] Univ Penn, Philadelphia, PA 19104 USA
[4] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
来源
关键词
Durable Functions; Serverless; Services; Service Composition; Programming; Workflows; Reliable;
D O I
10.1145/3485510
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Serverless, or Functions-as-a-Service (FaaS), is an increasingly popular paradigm for application development, as it provides implicit elastic scaling and load based billing. However, the weak execution guarantees and intrinsic compute-storage separation of FaaS create serious challenges when developing applications that require persistent state, reliable progress, or synchronization. This has motivated a new generation of serverless frameworks that provide stateful abstractions. For instance, Azure's Durable Functions (DF) programming model enhances FaaS with actors, workflows, and critical sections. As a programming model, DF is interesting because it combines task and actor parallelism, which makes it suitable for a wide range of serverless applications. We describe DF both informally, using examples, and formally, using an idealized high-level model based on the untyped lambda calculus. Next, we demystify how the DF runtime can (1) execute in a distributed unreliable serverless environment with compute-storage separation, yet still conform to the fault-free high-level model, and (2) persist execution progress without requiring checkpointing support by the language runtime. To this end we define two progressively more complex execution models, which contain the compute-storage separation and the record-replay, and prove that they are equivalent to the high-level model.
引用
收藏
页数:27
相关论文
共 50 条
  • [1] Transactions across serverless functions leveraging stateful dataflows
    de Heus, Martijn
    Psarakis, Kyriakos
    Fragkoulis, Marios
    Katsifodimos, Asterios
    INFORMATION SYSTEMS, 2022, 108
  • [2] Nubes: Object-Oriented Programming for Stateful Serverless Functions
    Marek, Kinga Anna
    De Martini, Luca
    Margara, Alessandro
    PROCEEDINGS OF THE 2023 9TH INTERNATIONAL WORKSHOP ON SERVERLESS COMPUTING, WOSC 2023, 2023, : 30 - 35
  • [3] Stateful Serverless Computing with CRUCIAL
    Barcelona-Pons, Daniel
    Sutra, Pierre
    Sanchez-Artigas, Marc
    Paris, Gerard
    Garcia-Lopez, Pedro
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2022, 31 (03)
  • [4] Enhancing functional and irregular parallelism: Stateful functions and their semantics
    Attali, I
    Caromel, D
    Chen, YS
    Gaudiot, JL
    Wendelborn, AL
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2001, 29 (04) : 433 - 460
  • [5] Enhancing Functional and Irregular Parallelism: Stateful Functions and their Semantics
    Isabelle Attali
    Denis Caromel
    Yung-Syau Chen
    Jean-Luc Gaudiot
    Andrew L. Wendelborn
    International Journal of Parallel Programming, 2001, 29 : 433 - 460
  • [6] Cliffhanger: An Experimental Evaluation of Stateful Serverless at the Edge
    Hasselberg, Adam
    Timoudas, Thomas Ohlson
    Carbone, Paris
    Dan, Gyorgy
    2024 19TH WIRELESS ON-DEMAND NETWORK SYSTEMS AND SERVICES CONFERENCE, WONS, 2024, : 41 - 48
  • [7] Automated Verification of Idempotence for Stateful Serverless Applications
    Ding, Haoran
    Wang, Zhaoguo
    Shen, Zhuohao
    Chen, Rong
    Chen, Haibo
    PROCEEDINGS OF THE 17TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, OSDI 2023, 2023, : 887 - 910
  • [8] Boki: Stateful Serverless Computing with Shared Logs
    Jia, Zhipeng
    Witchel, Emmett
    PROCEEDINGS OF THE 28TH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, SOSP 2021, 2021, : 691 - 707
  • [9] FLEXLOG: A Shared Log for Stateful Serverless Computing
    Giantsidi, Dimitra
    Giortamis, Emmanouil
    Tornow, Nathaniel
    Dinu, Florin
    Bhatotia, Pramod
    PROCEEDINGS OF THE 32ND INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE PARALLEL AND DISTRIBUTED COMPUTING, HPDC 2023, 2023, : 195 - 209
  • [10] Fault-tolerant and Transactional Stateful Serverless Workflows
    Zhang, Haoran
    Cardoza, Adney
    Chen, Peter Baile
    Angel, Sebastian
    Liu, Vincent
    PROCEEDINGS OF THE 14TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION (OSDI '20), 2020, : 1187 - 1204