Dynamic Queue Management for Virtual Machine Traffic Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current queue management systems for virtual machines (VMs) fail to dynamically adjust queue assignments based on traffic types and utilization, leading to performance issues such as interference between latency-sensitive and throughput-intensive VMs, static allocation of queues, and inefficient resource utilization, resulting in increased context switches and reduced VM consolidation ratios.

Innovation Solution

A dynamic queue management system that breaks queues into priority pools, dynamically adjusts the number of queues, and reassigned VMs based on optimization criteria such as under/overutilization, CPU load, and traffic types, using load balancers to periodically rebalance traffic and adjust pool sizes, and preempts queues to optimize resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If VMs are assigned to queues statically during driver initialization, then queue assignment is simple and fast, but queue utilization is inefficient and cannot adapt to changing traffic patterns

Engineering Contradiction:
Improveease of queue assignmentVSAvoidadaptability to traffic patterns
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic queue assignment by moving from static driver initialization to runtime-based assignment. The system continuously monitors queue utilization metrics (packets processed, CPU cycles, memory bandwidth) and dynamically reassigns VMs to queues based on real-time conditions, allowing the system to adapt to changing traffic patterns while maintaining operational simplicity through automated decision-making.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If all VMs share the same queue pool, then queue management is simple, but latency-sensitive VMs are interfered with by throughput-intensive VMs

Engineering Contradiction:
Improvequeue management complexityVSAvoidlatency performance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the unified queue pool into multiple dedicated queue pools based on traffic characteristics. It creates separate pools for latency-sensitive workloads (e.g., real-time communication, VoIP) and throughput-intensive workloads (e.g., file transfers, batch processing). This segmentation isolates different traffic types, preventing interference between them while maintaining manageable complexity through automated pool creation and assignment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by tailoring queue characteristics to specific workload requirements. Each queue pool is configured with appropriate parameters (priority, buffer size, CPU affinity) matched to the specific needs of workloads in that pool. Latency-sensitive VMs receive queues optimized for low latency, while throughput-intensive VMs receive queues optimized for bulk data transfer, ensuring each local area of the system receives quality-appropriate resources.

Inventive Principle:
Principle #3Local quality

3Ease of manufacture

If fixed number of queues are assigned to each pool, then resource allocation is simple, but overloaded pools cannot take over free queues from other pools

Engineering Contradiction:
Improveease of resource allocationVSAvoidqueue pool flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic resource allocation where queue pools can flexibly adjust their size based on demand. The system monitors queue utilization across all pools and enables overloaded pools to borrow queues from underutilized pools through a centralized management mechanism. This dynamic flexibility allows the system to adapt to varying workload demands while maintaining simple automated management through policy-based allocation decisions.

Inventive Principle:
Principle #15Dynamics

4Productivity

If one-time queue assignment is used for VMs, then assignment process is simple and fast, but VMs cannot be reassigned to optimize performance as traffic patterns change

Engineering Contradiction:
Improveassignment speedVSAvoidperformance optimization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback-driven queue assignment by continuously monitoring queue performance metrics (packet processing rate, CPU utilization, memory bandwidth, latency) and using this feedback to make informed reassignment decisions. The system compares actual queue performance against target metrics and automatically reassigns VMs when optimization opportunities are detected, maintaining high assignment speed through automated feedback loops while improving long-term performance reliability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10027605B2Traffic and load aware dynamic queue management
Publication Date: 2018.07.17 VMWARE INC
  • US10027605B2 patent drawing
  • US10027605B2 patent drawing
  • US10027605B2 patent drawing

AI summary

Some embodiments provide a queue management system that efficiently and dynamically manages multiple queues that process traffic to and from multiple virtual machines (VMs) executing on a host. This system manages the queues by (1) breaking up the queues into different priority pools with the higher priority pools reserved for particular types of traffic or VM (e.g., traffic for VMs that need low latency), (2) dynamically adjusting the number of queues in each pool (i.e., dynamically adjusting the size of the pools), (3) dynamically reassigning a VM to a new queue based on one or more optimization criteria (e.g., criteria relating to the underutilization or overutilization of the queue).