Netherite: Efficient Execution of Serverless Workflows (Extended Journal Version) - Burckhardt, Sebastian; Chandramouli, Badrish; (cgillum), Chris Gillum; (dajusto), David Justo; Kallas, Konstantinos; McMahon, Connor; Meiklejohn, Christopher S.; Zhu, Xiangfeng (VLDB J., 2025)
Serverless applications are popular because they can provide scalability and load-based billing with minimal developer effort. Beyond simple stateless functions (FaaS), modern serverless programming models such as Durable Functions (DF) now provide stateful abstractions, such as workflows, tasks and actors, whose state and progress is implicitly and continuously persisted. This automatic resilience greatly simplifies development, but also creates performance challenges, such as a large number of IOps. To address these challenges, we introduce Netherite, a novel architecture for executing serverless workflows on an elastic cluster. Netherite groups the numerous application objects into a smaller number of partitions, and pipelines the state persistence of each partition. This improves latency and throughput, as it enables workflow steps to group commit, even if causally dependent. Moreover, Netherite leverages FASTER’s hybrid log approach to support larger-than-memory application state, and to enable efficient partition movement between compute hosts. Our evaluation shows that (a) Netherite achieves lower latency and higher throughput than the original DF engine, by more than an order of magnitude in some cases, and (b) that Netherite has lower latency than some commonly used alternatives, like AWS Step Functions or cloud storage triggers.
Special Issue "Best of VLDB 2022"