Virtual Machine CPU Throttling for SLA-Aware Power Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Datacenters face challenges in efficiently managing computing resources to accommodate peak loads without degrading user experience, as throttling entire servers can violate service level agreements and indiscriminately affect user experiences, especially for client-facing services.
Innovation Solution
Implementing a processor controller that dynamically adjusts the operating parameters of physical processors based on profiles of individual virtual machines, allowing selective throttling of virtual machines to maintain performance and power consumption levels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If throttling is applied to entire servers to accommodate peak loads, then power consumption and computing capacity are reduced, but user experience and service level agreements are violated
Solution Approach 1:
The patent segments the server into multiple virtual machines, each with its own power consumption profile and service level agreement. Instead of throttling the entire server, the system selectively identifies and throttles only those virtual machines that are not bound by strict service level agreements or have lower priority, thereby maintaining power within limits while preserving service quality for critical workloads.
Solution Approach 2:
The system applies different quality levels of service to different virtual machines based on their individual service level agreements and workload characteristics. Critical virtual machines with strict service level agreements maintain full performance, while non-critical virtual machines are subjected to throttling, creating localized quality differentiation rather than uniform degradation across the entire server.
2Loss of energy
If throttling is applied to entire servers to reduce power consumption, then energy loss is reduced, but user experience for client-facing services is degraded
Solution Approach 1:
The system segments virtual machines into categories based on their function and importance to user experience. Client-facing services are identified and segregated from background services, allowing selective throttling of non-user-facing workloads while maintaining full performance for user-facing services, thus preserving user experience while achieving energy reduction.
Solution Approach 2:
Different quality thresholds are applied to different virtual machines based on their impact on user experience. Virtual machines providing client-facing services maintain higher performance quality, while those providing background services accept lower quality under throttled conditions, creating localized quality differentiation that protects user experience.
3Reliability
If spare capacities are added to accommodate peak loads, then service reliability is improved, but device complexity and infrastructure requirements increase
Solution Approach 1:
Instead of adding static spare capacity to handle peak loads, the system dynamically adjusts the computing capacity of individual virtual machines in real-time based on current power availability and workload priorities. The hypervisor continuously monitors power consumption and dynamically throttles or un-throttles virtual machines, providing adaptive reliability without requiring additional infrastructure.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Techniques of virtual machine operation management are disclosed herein. In one embodiment, a technique includes determining an operating parameter to be set for executing any processes for a virtual machine with a CPU on a server upon detecting that a process corresponding to the virtual machine hosted on the server is assigned and scheduled to be executed by a processor of the CPU. The technique can then include programming the processor of the CPU assigned to execute the process according to the operating parameter in the accessed parameter record. Upon completion of programing the one of the multiple processors, the process corresponding to the virtual machine can be executed with the processor of the CPU to achieve a target performance level associated with the virtual machine.