Virtual Machine Queue Mapping for Network Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual machine systems, managing multiple queues for packet transmission and reception is administratively burdensome due to the need for continuous monitoring and re-allocation, leading to computational and storage inefficiencies and network bottlenecks caused by contention among virtual machines sharing queues.

Innovation Solution

A hypervisor dynamically maps virtual machine addresses to dedicated and shared queues based on load rankings, re-assigning addresses between queues to optimize resource utilization, thereby reducing the administrative burden and improving network performance by minimizing contention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If shared queues are employed to manage packets for multiple virtual machines, then the hardware NIC can accommodate more virtual machines, but the host computer must examine and copy packets, increasing computational and storage resource consumption

Engineering Contradiction:
Improvenumber of virtual machines supportedVSAvoidcomputational and storage resources
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system dynamically switches between shared queue mode (when dedicated queues are insufficient) and dedicated queue mode (when load justifies separation). The hypervisor monitors queue depths and virtual machine traffic patterns, automatically migrating virtual machines from shared to dedicated queues when appropriate, optimizing the balance between resource sharing and dedicated resource allocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different virtual machines are assigned different queue access rights based on their traffic characteristics and load requirements. High-priority or high-traffic virtual machines receive dedicated queue access, while lower-priority virtual machines share queues, creating a differentiated service model that optimizes resource usage according to local needs.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If shared queues are used for packet transmission, then more virtual machines can access the network device, but contention between virtual machines creates a bottleneck and degrades network performance

Engineering Contradiction:
Improvenumber of virtual machines accessing network deviceVSAvoidnetwork performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system dynamically adjusts queue assignment based on real-time traffic conditions. When a virtual machine's traffic volume exceeds a threshold or when queue depth indicates potential contention, the hypervisor migrates that virtual machine to a dedicated queue, reducing contention and improving network performance for high-traffic workloads.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hypervisor continuously monitors queue depths, packet transmission rates, and virtual machine traffic patterns. This feedback information is used to automatically adjust queue assignments, migrating virtual machines between shared and dedicated queues based on observed performance metrics and load conditions.

Inventive Principle:
Principle #23Feedback

3Productivity

If dedicated queues are assigned to each virtual machine, then network performance is improved by reducing contention, but the hardware NIC has fewer queues than virtual machines, requiring shared queues

Engineering Contradiction:
Improvenetwork performanceVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically adjusts the ratio of dedicated to shared queues based on the number of active virtual machines and their traffic characteristics. When few virtual machines are active, dedicated queues are assigned to improve performance. When many virtual machines are active, shared queues are used to accommodate all virtual machines, with automatic migration between models as conditions change.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8745237B2Mapping of queues for virtual machines
Publication Date: 2014.06.03 RED HAT ISRAEL
  • US8745237B2 patent drawing
  • US8745237B2 patent drawing
  • US8745237B2 patent drawing

AI summary

A method and system for managing multiple queues of a networking device associated with a host machine in a virtual machine system. The networking device includes multiple dedicated queues and shared queues that are used by multiple guests of the virtual machine system for the transmission and/or receipt of packets in a data communication. A hypervisor of the virtual machine system manages the assignment of the multiple queues to the multiple guests by dynamically mapping addresses of the virtual machines based on determination of a load placed on the queues.