Hypervisor Flow Control for Virtual Machine Request Queuing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improverequest processing throughputVSAvoidrequest processing order
Core Design Contradiction:
ProductivityVSEase of operation

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improverequest processing throughputVSAvoidrequest copying time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improverequest copying timeVSAvoidrequest processing order
Core Design Contradiction:
Loss of timeVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improverequest processing orderVSAvoidrequest processing throughput
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8914803B2Flow control-based virtual machine request queuing
Publication Date: 2014.12.16 RED HAT ISRAEL
  • US8914803B2 patent drawing
  • US8914803B2 patent drawing
  • US8914803B2 patent drawing

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.