CPU throttling-aware AI-based autoscaling for Kubernetes
Résumé
5G networks are moving towards cloud-native architectures and expect higher performances, customizability, and cost efficiency compared to previous generations. Dynamic scaling of Containerized Network Function (CNF) is a major feature that allows telecom operators to find a good balance between cost and Quality of Service (QoS). By accurately determining the necessary resources for CNFs, operators can minimize operational costs without over-provisioning and simultaneously, maintain satisfactory QoS levels without under-provisioning. However, one of the obstacles we identified that can throw off the balance between cost-QoS trade-off is Central Processing Unit (CPU) throttling, which is an underlying system process. Without proper timing in scaling decision-making, it can negatively impact QoS by increasing service response time during scaling events. In this paper, we propose a novel AI-based autoscaling solution to calculate the precise amount of resources and the optimal timing for decision-making, with an awareness of CPU throttling. The solution employs one deep learning model to proactively determine the right amount of resources and another to predict CPU throttling events, which in turn trigger scaling decisions. Our experimental results demonstrate that our new autoscaling solution outperformed the default Horizontal Pod Autoscaling (HPA) in Kubernetes in terms of balancing cost QoS tradeoff.