Litcius/Paper detail

Joint Optimization of Parallelism and Resource Configuration for Serverless Function Steps

Zhaojie Wen, Qiong Chen, Yipei Niu, Zhen Song, Quanfeng Deng, Fangming Liu

2024IEEE Transactions on Parallel and Distributed Systems10 citationsDOI

Abstract

Function-as-a-Service (FaaS) offers a fine-grained resource provision model, enabling developers to build highly elastic cloud applications. User requests are handled by a series of serverless functions step by step, which forms a multi-step workflow. The developers are required to set proper configurations for functions to meet service level objectives (SLOs) and save costs. However, developing the configuration strategy is challenging. This is mainly because the execution of serverless functions often suffers from cold starts and performance fluctuation, which requires a dynamic configuration strategy to guarantee the SLOs. In this article, we present StepConf, a framework that automates the configuration as the workflow runs. StepConf optimizes memory size for each function step in the workflow and takes inter and intra-function parallelism into consideration, which has been overlooked by existing work. StepConf intelligently predicts the potential configurations for subsequent function steps, and proactively prewarms function instances in a configuration-aware manner to reduce the cold start overheads. We evaluate StepConf on AWS and Knative. Compared to existing work, StepConf improves performance by up to 5.6× under the same cost budget and achieves up to a 40% cost reduction while maintaining the same level of performance.

Topics & Concepts

Computer scienceParallelism (grammar)Parallel computingJoint (building)Processor schedulingTask parallelismFunction (biology)Resource (disambiguation)Data parallelismInstruction-level parallelismDistributed computingComputer architectureComputer networkEngineeringArchitectural engineeringEvolutionary biologyBiologyDistributed and Parallel Computing SystemsParallel Computing and Optimization TechniquesCloud Computing and Resource Management