Adaptive Virtual I/O Channels for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualization of computer systems leads to I/O over-subscription, resulting in degraded throughput performance and increased latency due to the shared I/O access architecture, which conventional methods inadequately address.

Innovation Solution

The implementation of adaptive virtual I/O channels with entropy detection and queue storage modules that encode I/O request data, manage I/O queues based on entropy values, and optimize memory utilization through compression, thereby improving I/O resource allocation and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple virtual machines share physical I/O resources through virtualization, then resource utilization efficiency is improved, but I/O throughput performance degrades due to over-subscription

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidI/O throughput performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments I/O resources by creating separate I/O queues for different virtual machines and I/O operations. The I/O manager divides the shared physical I/O resources into multiple virtual I/O channels, each with its own queue, allowing independent management and prioritization of I/O requests from different VMs, thus preventing one VM from monopolizing I/O bandwidth

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically changes I/O processing parameters including queue priorities, buffer sizes, and scheduling policies based on system conditions and VM requirements. The I/O manager adjusts these parameters in real-time to optimize throughput while maintaining fair resource distribution among multiple virtual machines

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If I/O requests are processed through a shared I/O access architecture, then system complexity is reduced, but latency increases due to processing path length

Engineering Contradiction:
ImproveI/O access architecture complexityVSAvoidI/O latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements preliminary actions by pre-allocating I/O queues and buffers for each virtual machine before I/O requests arrive. The I/O manager prepares multiple ready-to-use queue structures and memory buffers in advance, so that when I/O requests come from different VMs, they can be immediately routed to pre-configured queues without dynamic allocation overhead, reducing processing latency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an I/O manager as an intermediary layer between the virtual machines and physical I/O devices. This intermediary consolidates I/O requests from multiple VMs, performs batch processing where applicable, and manages queue prioritization, thereby reducing the overall processing path length and latency while maintaining the simplicity of the shared architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If I/O queues are managed without compression, then processing speed is maintained, but memory utilization efficiency decreases

Engineering Contradiction:
ImproveI/O processing speedVSAvoidmemory utilization efficiency
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies partial compression selectively to I/O queue data based on compression ratio thresholds and data characteristics. The I/O manager compresses only those queue entries or buffer data that meet specific criteria (e.g., high redundancy, large size), leaving time-critical or already-compressed data uncompressed, thus achieving memory efficiency improvement without significant impact on processing speed

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent dynamically changes compression parameters including compression level, algorithm selection, and trigger thresholds based on queue depth, data type, and system load. The I/O manager adjusts these parameters in real-time to optimize the balance between memory utilization and processing speed, applying higher compression when memory is constrained and lower compression when throughput is critical

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7529867B2Adaptive, scalable I/O request handling architecture in virtualized computer systems and networks
Publication Date: 2009.05.05 SOLARWINDS WORLDWIDE LLC
  • US7529867B2 patent drawing
  • US7529867B2 patent drawing
  • US7529867B2 patent drawing

AI summary

A system and method for processing input/output (I/O) requests in a virtualized computer system. I/O requests are received from a virtual machine. A set of virtual I/O channels that may be interfaced with a host I/O stack and/or a virtual machine I/O stack adaptively queues requested data using a variety of I/O queue management modules. In one embodiment, the virtual I/O channels include an entropy detection module and a queue storage. The entropy detection module determines an entropy value of specified I/O request data and encodes the specified I/O request data with the entropy value within the queue storage.