Publication | Open Access
Optimized container scheduling for data-intensive serverless edge computing
171
Citations
41
References
2020
Year
Cluster ComputingProvisioning (Technology)EngineeringServerless ArchitectureEdge TestbedEdge ComputingCloud SchedulingCloud ComputingComputer EngineeringComputer ArchitectureServerless ComputingEdge SystemsEdge ArchitectureComputer ScienceOptimized ContainerParallel ComputingExtreme WorkloadCloud Resource Management
Operating data‑intensive applications on edge systems is difficult because of extreme workloads, device heterogeneity, and geographic dispersion, and although serverless computing simplifies infrastructure management, it still faces limitations that hinder its use at the edge. The study introduces a container scheduling system and an automated fine‑tuning method to enable efficient use of edge infrastructures and optimize operational objectives such as task execution time, uplink usage, and cloud execution cost. The scheduler heuristically balances data and computation movement, accounts for GPU‑accelerated workloads, and is implemented as a Kubernetes extension deployed on an edge testbed, with performance evaluated via trace‑driven simulations. Results show the scheduler significantly improves task placement quality over Kubernetes’ default scheduler, and the fine‑tuning method markedly helps meet operational goals.
Operating data-intensive applications on edge systems is challenging, due to the extreme workload and device heterogeneity, as well as the geographic dispersion of compute and storage infrastructure. Serverless computing has emerged as a compelling model to manage the complexity of such systems, by decoupling the underlying infrastructure and scaling mechanisms from applications. Although serverless platforms have reached a high level of maturity, we have found several limiting factors that inhibit their use in an edge setting. This paper presents a container scheduling system that enables such platforms to make efficient use of edge infrastructures. Our scheduler makes heuristic trade-offs between data and computation movement, and considers workload-specific compute requirements such as GPU acceleration. Furthermore, we present a method to automatically fine-tune the weights of scheduling constraints to optimize high-level operational objectives such as minimizing task execution time, uplink usage, or cloud execution cost. We implement a prototype that targets the container orchestration system Kubernetes, and deploy it on an edge testbed we have built. We evaluate our system with trace-driven simulations in different infrastructure scenarios, using traces generated from running representative workloads on our testbed. Our results show that (a) our scheduler significantly improves the quality of task placement compared to the state-of-the-art scheduler of Kubernetes, and (b) our method for fine-tuning scheduling parameters helps significantly in meeting operational goals.
| Year | Citations | |
|---|---|---|
Page 1
Page 1