Netherite: Efficient Execution of Serverless Workflows (Extended Journal Version)

VLDB J. | , Vol 34: pp. 25

Special Issue "Best of VLDB 2022"

Publication

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.