Metronome: Differentiated Delay Scheduling for Serverless Functions
By: Zhuangbin Chen, Juzheng Zheng, Zibin Zheng
Function-as-a-Service (FaaS) computing is an emerging cloud computing paradigm for its ease-of-management and elasticity. However, optimizing scheduling for serverless functions remains challenging due to their dynamic and event-driven nature. While data locality has been proven effective in traditional cluster computing systems through delay scheduling, its application in serverless platforms remains largely unexplored. In this paper, we systematically evaluate existing delay scheduling methods in serverless environments and identify three key observations: 1) delay scheduling benefits vary significantly based on function input characteristics; 2) serverless computing exhibits more complex locality patterns than cluster computing systems, encompassing both data locality and infrastructure locality; and 3) heterogeneous function execution times make rule-based delay thresholds ineffective. Based on these insights, we propose Metronome, a differentiated delay scheduling framework that employs predictive mechanisms to identify optimal locality-aware nodes for individual functions. Metronome leverages an online Random Forest Regression model to forecast function execution times across various nodes, enabling informed delay decisions while preventing SLA violations. Our implementation on OpenLambda shows that Metronome significantly outperforms baselines, achieving 64.88%-95.83% reduction in mean execution time for functions, while maintaining performance advantages under increased concurrency levels and ensuring SLA compliance.
Similar Papers
Metronome: Efficient Scheduling for Periodic Traffic Jobs with Network and Priority Awareness
Distributed, Parallel, and Cluster Computing
Makes computer networks share internet faster.
Characterizing FaaS Workflows on Public Clouds: The Good, the Bad and the Ugly
Distributed, Parallel, and Cluster Computing
Helps cloud programs run faster and cheaper.
Dynamic Function Configuration and its Management in Serverless Computing: A Taxonomy and Future Directions
Software Engineering
Helps cloud programs run faster and cheaper.