ComputingComputer EngineeringComputer ScienceCluster ComputingSchedulingServerless ComputingCompute Resource ManagementLatency OptimizationPerformance OptimizationResource SchedulingThroughput OptimizationWorkload SchedulingExploration-exploitation SchedulingExploration-exploitation Trade-offFunction SchedulingPerformance DegradationRequest RoutingRuntime PerformanceShared ResourcesThroughput
This paper introduces Golgi, a novel scheduling system designed for serverless functions, with the goal of minimizing resource provisioning costs while meeting the function latency requirements. To achieve this, Golgi judiciously over-commits functions based on their past resource usage. To ensure overcommitment does not cause significant performance degradation, Golgi identifies nine low-level metrics to capture the runtime performance of functions, encompassing factors like request load, resource allocation, and contention on shared resources. These metrics enable accurate prediction of function performance using the Mondrian Forest, a classification model that is continuously updated in real-time for optimal accuracy without extensive offline training. Golgi employs a conservative exploration-exploitation strategy for request routing. By default, it routes requests to non-overcommitted instances to ensure satisfactory performance. However, it actively explores opportunities for using more resource-efficient overcommitted instances, while maintaining the specified latency SLOs. Golgi also performs vertical scaling to dynamically adjust the concurrency of overcommitted instances, maximizing request throughput and enhancing system robustness to prediction errors. We have prototyped Golgi and evaluated it in both EC2 cluster and a small production cluster. The results show that Golgi can meet the SLOs while reducing the resource provisioning cost by 42% (30%) in EC2 cluster (our production cluster).
16
Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC ’17)
Do Le Quoc, Martin S. Beck, Pramod Bhatotia et al. · 2017 · 611 citations
Eli Cortez, Anand Bonde, Alexandre Muzio et al. · 2017 · 592 citations
Krzysztof Rzaḑca, Paweł Findeisen, Jacek Świderski et al. · 2020 · 265 citations · Full text