Hypervisor Flow Control for Virtual Machine Request Queuing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtualization systems face inefficiencies due to request queuing limitations, leading to delayed processing and responsiveness, especially when handling mixed-sized requests, which can result in out-of-order processing and sub-par performance.
Innovation Solution
Implementing a flow control-based mechanism where the hypervisor switches between pass-through and queued modes based on the number of outstanding requests, copying requests only when the queue threshold is exceeded, and falling back to pass-through mode when the threshold is below a second value, allowing the VM to continue sending requests without reordering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the hypervisor queues all requests and notifies the VM immediately, then the VM can continue sending requests without waiting, but requests may be handled out of order and processing efficiency decreases
Solution Approach 1:
The patent implements dynamic mode switching between pass-through and queued modes based on the number of outstanding requests. When the count exceeds a threshold, the system transitions to queued mode; otherwise, it operates in pass-through mode. This dynamic adaptation resolves the contradiction by optimizing for throughput when needed while maintaining order when possible.
Solution Approach 2:
The system changes the operational parameter (mode) based on the state of the system (number of outstanding requests). By monitoring this parameter and switching modes accordingly, the system can adapt its behavior to balance throughput and ordering requirements.
2Productivity
If the hypervisor copies requests to a queue in host machine memory, then the VM can continue sending requests, but copying time and memory space are consumed
Solution Approach 1:
Instead of copying all requests, the patent applies partial action by only copying requests when the number of outstanding requests exceeds a threshold. This selective approach reduces unnecessary copying operations while still enabling continued VM request sending when needed.
Solution Approach 2:
The copying behavior is made dynamic rather than static. The system dynamically decides whether to copy based on the current load state, switching between copying and non-copying modes to optimize the balance between throughput and time loss.
3Loss of time
If the hypervisor limits copying to requests larger than a threshold size, then copying time is reduced for small requests, but requests are handled out of order
Solution Approach 1:
The patent replaces the static size-based threshold with a dynamic count-based threshold. Instead of copying based on request size, the system copies based on the number of outstanding requests, which maintains ordering while still reducing unnecessary copying operations.
4Ease of operation
If the hypervisor handles requests immediately without queuing, then processing order is maintained, but the VM is delayed and cannot send additional requests
Solution Approach 1:
The system dynamically switches between pass-through mode (maintaining order) and queued mode (enabling continued sending) based on the number of outstanding requests. This resolves the contradiction by adapting the handling mode to current system conditions.
Data Source
AI summary
A mechanism for flow control-based virtual machine (VM) request queuing is disclosed. A method of the invention includes implementing a pass-through mode for handling of one or more requests sent to a hypervisor by a virtual machine (VM) managed by the hypervisor, determining that a number of outstanding requests associated with the VM has exceeded a first threshold, implementing a queued mode for handling the one or more requests sent to the hypervisor from the VM, determining that a number of outstanding requests associated with the VM has fallen below a second threshold, implementing the pass-through mode for handling the one or more requests sent to the hypervisor from the VM, and repeating the implementing and determining as long as the VM continues to send requests to the hypervisor.


