Holistic resource management boosts cloud workload performance under congestion
Holistic Buoyancy-Driven Cloud Native Resource Management
Distributed, Parallel, and Cluster Computing
Summary
Managing computing resources in cloud environments is tough because many applications share limited hardware like memory and cache, which can get crowded and slow down programs. The authors propose using a technique called workload buoyancy that measures how sensitive each program is to different resources during runtime. This helps the system dynamically adjust scheduling and resource allocation to reduce congestion and improve performance. Their approach, built on Kubernetes, significantly increased the number of programs meeting their performance goals even in stressful conditions.
What this means in practice
- •For cloud platform operators: Manage multi-tenant cloud clusters more effectively by dynamically adjusting scheduling and resource allocation to meet performance goals under resource contention.
- •For data center infrastructure teams: Reduce resource congestion and fragmentation in shared hardware environments to improve overall cluster utilization and workload service quality.
Authors
Oliver Larsson, Thijs Metsch, Cristian Klein, Erik Elmroth
Abstract
Efficient resource management is a challenge in multi-tenant cloud environments as workloads compete for shared resources such as last-level cache and memory bandwidth, whose congestion can change dynamically as workload composition and resource demands evolve. Existing resource management approaches often rely on static resource requirements or prior workload profiling, limiting their ability to respond to changing resource contention as required in the cloud. In this paper, we leverage workload buoyancy, a runtime framework for capturing workload sensitivity to individual resources and application-level performance, to enable adaptive scheduling and resource management. We propose a holistic approach that incorporates buoyancy into workload scheduling, node-local resource allocation, and workload rescheduling throughout the workload lifecycle. We implement our approach as a Kubernetes-native prototype and evaluate it on a multi-node cluster using diverse cloud workloads under varying levels of resource contention. In a high-congestion scenario, our approach increases the percentage of workloads satisfying their SLOs from 7.74% to 87.8% on average compared with the Kubernetes baseline, while reducing resource congestion, the severity of SLO violations, and cluster fragmentation using limited rescheduling.