Hypervisor Receive Queue Memory Limiting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, spikes in virtual machine activity can lead to resource exhaustion and slowed system performance due to uncontrolled packet processing by the hypervisor, causing memory and CPU resources to be overwhelmed.

Innovation Solution

Implementing an intermediate receive queue managed by the hypervisor to control packet flow, where packets are processed sequentially and the queue size is monitored to pause or restart packet retrieval based on predetermined thresholds, preventing resource exhaustion during high activity periods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the hypervisor processes packets immediately upon retrieval without queuing, then packet processing speed is improved, but memory resources are exhausted during spikes in virtual machine activity

Engineering Contradiction:
Improvepacket processing speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the packet processing workflow into distinct phases: packet retrieval, queue insertion, and packet processing. The receive queue acts as a buffer that decouples the retrieval operation from the processing operation, allowing packets to be retrieved at high speed while processing occurs at a controlled pace. This segmentation prevents memory exhaustion by limiting the number of packets held in memory simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-allocating a receive queue with a maximum size limit before packet processing begins. This predetermined queue capacity establishes a memory boundary that prevents uncontrolled memory consumption. The queue is prepared in advance to absorb packet bursts, allowing the system to handle spikes in virtual machine activity without dynamic memory allocation during processing.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the hypervisor processes multiple packets simultaneously, then productivity is improved, but CPU resources are overwhelmed during high activity periods

Engineering Contradiction:
Improvepacket processing throughputVSAvoidCPU resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the packet processing workload by using the receive queue to separate packet retrieval from packet processing. This allows the hypervisor to retrieve multiple packets efficiently while processing them at a controlled rate, preventing CPU overload. The queue acts as a buffer that smooths out bursts of packet activity into manageable processing increments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic control of packet processing by monitoring the receive queue size and adjusting processing rates accordingly. When the queue approaches capacity, the system slows down packet retrieval or processing to prevent resource exhaustion. This dynamic adjustment allows the system to maintain high productivity during normal operation while preventing CPU overload during peak activity periods.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If no queue size limit is imposed, then packet flow flexibility is improved, but system stability deteriorates due to resource exhaustion

Engineering Contradiction:
Improvepacket flow flexibilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent establishes a predetermined maximum queue size before operation begins, creating a stable boundary for packet buffering. This preliminary constraint ensures system stability by preventing unbounded memory consumption while still allowing flexible packet flow within the allocated capacity. The queue size limit is set in advance to balance flexibility and stability requirements.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback control by monitoring the receive queue size and using this information to regulate packet retrieval and processing operations. When the queue size approaches the maximum limit, the system provides feedback to slow down or pause packet retrieval, preventing resource exhaustion. This feedback mechanism maintains system stability while preserving packet flow flexibility within safe operating parameters.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9727364B2Virtual device hypervisor memory limited receive queuing
Publication Date: 2017.08.08 RED HAT ISRAEL
  • US9727364B2 patent drawing
  • US9727364B2 patent drawing
  • US9727364B2 patent drawing

AI summary

A hypervisor retrieves a packet written by a guest operating system of a virtual machine from hypervisor memory accessible to the guest operating system. The Hypervisor then adds the packet of the guest operating system to at least one receive queue associated with a virtual device. The hypervisor pauses the retrieving of additional packets from the guest upon determining that the at least one receive queue size has met a first predetermined threshold condition. The hypervisor processes queued packets from the at least one receive queue sequentially. The hypervisor restarts the retrieving of the additional packets from the guest upon determining that the at least one receive queue size has met a second predetermined threshold condition.