This is not the End: Rethinking Serverless Function Termination
Kalev Alpernas, Aurojit Panda, and Mooly Sagiv

TL;DR
This paper identifies safety issues in serverless platforms caused by improper handling of asynchronous I/O during function termination, and proposes an extended semantics to decouple response and termination for safer execution.
Contribution
It introduces a novel extension to serverless semantics that separates response generation from termination, improving safety in asynchronous I/O scenarios.
Findings
Extended OpenWhisk with new semantics successfully handles asynchronous I/O safely.
Decoupling response and termination reduces data inconsistency risks.
Proposed approach enhances serverless platform reliability.
Abstract
Elastic scaling is one of the central benefits provided by serverless platforms, and requires that they scale resource up and down in response to changing workloads. Serverless platforms scale-down resources by terminating previously launched instances (which are containers or processes). The serverless programming model ensures that terminating instances is safe assuming all application code running on the instance has either completed or timed out. Safety thus depends on the serverless platform's correctly determining that application processing is complete. In this paper, we start with the observation that current serverless platforms do not account for pending asynchronous I/O operations when determining whether application processing is complete. These platforms are thus unsafe when executing programs that use asynchronous I/O, and incorrectly deciding that application processing…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Software System Performance and Reliability · Cloud Computing and Resource Management
