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 条
  • [41] Correctness and Performance for Stateful Chained Network Functions
    Khalid, Junaid
    Akella, Aditya
    PROCEEDINGS OF THE 16TH USENIX SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION, 2019, : 501 - 515
  • [42] Duo: Improving Data Sharing of Stateful Serverless Applications by Efficiently Caching Multi-Read Data
    Huang, Zhuo
    Fan, Hao
    Cheng, Chaoyi
    Wu, Song
    Jin, Hai
    2023 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM, IPDPS, 2023, : 875 - 885
  • [43] Orchestrating the Execution of Serverless Functions in Hybrid Clouds
    Peri, Aristotelis
    Tsenos, Michail
    Kalogeraki, Vana
    2023 IEEE INTERNATIONAL CONFERENCE ON AUTONOMIC COMPUTING AND SELF-ORGANIZING SYSTEMS, ACSOS, 2023, : 139 - 144
  • [44] On the Power Consumption of Serverless Functions: An Evaluation of OpenFaaS
    Alhindi, Abdulaziz
    Djemame, Karim
    Heravan, Fatemeh Banaie
    2022 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON UTILITY AND CLOUD COMPUTING, UCC, 2022, : 366 - 371
  • [45] Towards Quality of Experience Fairness for Serverless Functions
    Li, Xue
    Lama, Palden
    Lorido-Botran, Tania
    Wang, Wei
    2024 IEEE CLOUD SUMMIT, CLOUD SUMMIT 2024, 2024, : 61 - 66
  • [46] Parrotfish: Parametric Regression for Optimizing Serverless Functions
    Moghimi, Arshia
    Hattori, Joe
    Li, Alexander
    Ben Chikha, Mehdi
    Shahrad, Mohammad
    PROCEEDINGS OF THE 2023 ACM SYMPOSIUM ON CLOUD COMPUTING, SOCC 2023, 2023, : 177 - 192
  • [47] ServerMore: Opportunistic Execution of Serverless Functions in the Cloud
    Suresh, Amoghavarsha
    Gandhi, Anshul
    PROCEEDINGS OF THE 2021 ACM SYMPOSIUM ON CLOUD COMPUTING (SOCC '21), 2021, : 570 - 584
  • [48] Hermod: Principled and Practical Scheduling for Serverless Functions
    Kaffes, Kostis
    Yadwadkar, Neeraja J.
    Kozyrakis, Christos
    PROCEEDINGS OF THE 13TH SYMPOSIUM ON CLOUD COMPUTING, SOCC 2022, 2022, : 289 - 305
  • [49] Prebaking Functions to Warm the Serverless Cold Start
    Silva, Paulo
    Fireman, Daniel
    Pereira, Thiago Emmanuel
    PROCEEDINGS OF THE 2020 21ST INTERNATIONAL MIDDLEWARE CONFERENCE (MIDDLEWARE '20), 2020, : 1 - 13
  • [50] Beyond Cloud: Serverless Functions in the Compute Continuum
    Cecilia Calavaro
    Valeria Cardellini
    Francesco Lo Presti
    Gabriele Russo Russo
    SN Computer Science, 6 (3)