Dynamic CPU Allocation for Virtual Machine Network Delay
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualization systems, CPU time allocation to multiple guests leads to network delays due to intermittent CPU usage, resulting in packet accumulation and potential loss, as increasing CPU time for one guest decreases utilization efficiency for others, making it difficult to maintain high performance across all virtual machines.
Innovation Solution
A resource management device and method that dynamically calculates processing priority for guest OSs based on packet transfer rates and kernel buffer availability, adjusting CPU utilization time allocation to enhance CPU efficiency and reduce network delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If CPU time is allocated to multiple guests by switching time periods, then CPU resources can be shared among virtual machines, but network delay occurs due to intermittent CPU usage and packet accumulation in queues
Solution Approach 1:
The patent implements dynamic CPU time allocation by adjusting the CPU time ratio for each guest based on real-time packet transfer rates. Instead of fixed time slicing, the system continuously monitors network traffic and dynamically reallocates CPU time to guests with higher packet transfer rates, thereby reducing queue accumulation and network delay while maintaining efficient CPU resource sharing.
Solution Approach 2:
The system employs feedback mechanisms by monitoring packet transfer rates from the host to each guest and using this information to adjust CPU time allocation. The guest priority calculation unit continuously receives packet transfer rate information and feeds it back to the resource utilization control unit, which then modifies CPU time ratios accordingly, creating a closed-loop control system that optimizes both CPU sharing and network performance.
2Loss of time
If CPU time is increased for one guest to reduce network delay, then packet processing performance improves, but CPU utilization efficiency deteriorates due to reduced time for other guests
Solution Approach 1:
The patent changes the parameter of CPU time ratio allocation dynamically based on packet transfer rates. Instead of allocating fixed CPU time slices, the system adjusts the CPU time ratio for each guest as a variable parameter that responds to real-time network conditions. This allows the system to optimize packet processing performance for high-traffic guests while maintaining adequate CPU utilization across all guests by proportionally adjusting their time allocations.
Solution Approach 2:
The system transitions from static CPU time slicing to dynamic time allocation where the CPU time ratio for each guest is continuously adjusted based on their packet transfer rate. This dynamic approach ensures that guests with higher network traffic receive more CPU time when needed, reducing their network delay, while the overall CPU utilization remains efficient because the allocation adapts to actual workload demands rather than using fixed assignments.
3Productivity
If fixed time slicing is used for CPU allocation, then CPU resources are shared among guests, but packets accumulate in queues when transfer rates exceed processing capacity
Solution Approach 1:
The system uses feedback from packet transfer rate monitoring to adjust CPU time allocation dynamically. The guest priority calculation unit receives real-time packet transfer rate information and feeds it back to determine CPU time ratios, allowing the system to respond to varying workload demands and prevent packet accumulation by allocating sufficient CPU time to guests experiencing high transfer rates.
Solution Approach 2:
The patent implements dynamic CPU time ratio adjustment based on real-time packet transfer rates. Instead of fixed time slicing, the system continuously adapts the CPU time allocation for each guest to match their actual processing needs, thereby maintaining reliable packet processing completeness while still achieving efficient CPU resource sharing among multiple guests.
Data Source
AI summary
The processing performance of an entire system is enhanced by efficiently using CPU resources shared by a plurality of guests. A server 10 includes a host OS 104 and a plurality of guest OSs 110A and 110B running on a plurality of virtual machines 108A and 108B, respectively, which are virtually constructed on the host OS 104. The plurality of virtual machines 108A and 108B shares CPU resources implemented by hardware 102. A guest priority calculation unit 202 of a resource management device (resource management unit 20) calculates a processing priority of at least one of the guest OSs 110 based on at least one of a packet transfer rate from the host OS 104 to the guest OS 110 and an available capacity status of a kernel buffer of the host OS 104. A resource utilization control unit 204 controls allocation of a utilization time for CPU resources to be used by the plurality of guest OSs 110 based on the calculated processing priority.


