Hypervisor CPU Throttling for Data Flow Rate Limiting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data traffic communications, high CPU resource consumption by high-rate data flows can prevent guest virtual machines and system processes from receiving necessary resources, especially when distributed network encryption is enabled, leading to potential delays or stalls due to insufficient mechanisms for reducing CPU allocation.
Innovation Solution
Implementing CPU throttling techniques by a hypervisor in response to user or administrator requests, which allow for specifying a desired CPU utilization level for data flows, ensuring that data packets are either accepted or dropped based on pre-defined rate limits to maintain the requested CPU utilization level, thereby allocating resources to other tasks and applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data flows are processed in best-effort mode with high CPU allocation, then data traffic processing speed is improved, but guest virtual machines and system processes cannot receive required CPU resources
Solution Approach 1:
The patent changes the CPU resource allocation parameter from unlimited best-effort mode to throttled mode with specified limits. The throttling mechanism dynamically adjusts CPU resource parameters for data flows based on configured limits, ensuring that high-rate data flows do not consume all CPU resources and leaving adequate resources for virtual machines and system processes.
2Reliability
If distributed network encryption is enabled on datapaths, then data security is improved, but CPU resources are consumed by encryption/decryption operations leaving no resources for other tasks
Solution Approach 1:
The patent applies CPU throttling to control the CPU resources consumed by encrypted data flows. By setting appropriate throttling limits on encryption-affected data flows, the system maintains data security through encryption while preventing these flows from monopolizing CPU resources needed for virtual machine execution and system processes.
3Reliability
If CPU resources are reduced from data traffic processing, then resource availability for other applications is improved, but time-sensitive data traffic may be delayed or stalled
Solution Approach 1:
The patent implements partial throttling where CPU resources are reduced from data traffic processing by only the amount specified in the throttling limit. This partial reduction ensures that sufficient CPU resources remain available for virtual machines and system processes while time-sensitive data traffic receives adequate resources to avoid excessive delays, achieving a balanced resource allocation.
Data Source
AI summary
An approach for a hypervisor to throttle CPU utilization based on a CPU utilization throttling request received for a data flow is presented. A method comprises receiving a request for a CPU utilization throttling. The request is parsed to extract a CPU utilization level and a data flow identifier of the data flow. Upon receiving a data packet that belongs to the data flow identified by the data flow identifier, a packet size of the data packet is determined, and a rate limit table is accessed to determine, based on the CPU utilization level and the packet size, a rate limit for the data packet. If it is determined, based at least on the rate limit, that the CPU utilization level for the data flow would be exceeded if the data packet is transmitted toward its destination, then a recommendation is generated to drop the data packet.


