It Takes Two to Tango: Serverless Workflow Serving via Bilaterally Engaged Resource Adaptation
Jing Wu, Lin Wang, Quanfeng Deng, Chen Yu, Dong Zhang, Bingheng Yan, Fangming Liu
TL;DR
This work addresses resource inefficiency in serverless workflows caused by early-binding sizing that assumes worst-case runtimes. It introduces Janus, a bilaterally engaged, late-binding framework where developers provide compact hints that guide runtime resource adaptation by the provider through three components: profiler, synthesizer, and adapter. The approach yields substantial resource savings while maintaining end-to-end SLOs, with experiments on two real-world workflows showing notable improvements over state-of-the-art baselines and manageable online overhead. The findings suggest that per-workflow, runtime-aware adaptation driven by developer-informed hints can drastically reduce waste in serverless platforms without compromising latency guarantees, offering a practical path to more efficient serverless execution.
Abstract
Serverless platforms typically adopt an early-binding approach for function sizing, requiring developers to specify an immutable size for each function within a workflow beforehand. Accounting for potential runtime variability, developers must size functions for worst-case scenarios to ensure service-level objectives (SLOs), resulting in significant resource inefficiency. To address this issue, we propose Janus, a novel resource adaptation framework for serverless platforms. Janus employs a late-binding approach, allowing function sizes to be dynamically adapted based on runtime conditions. The main challenge lies in the information barrier between the developer and the provider: developers lack access to runtime information, while providers lack domain knowledge about the workflow. To bridge this gap, Janus allows developers to provide hints containing rules and options for resource adaptation. Providers then follow these hints to dynamically adjust resource allocation at runtime based on real-time function execution information, ensuring compliance with SLOs. We implement Janus and conduct extensive experiments with real-world serverless workflows. Our results demonstrate that Janus enhances resource efficiency by up to 34.7% compared to the state-of-the-art.
