Hypervisor I/O Queue Management for Virtual Disk Write Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, multiple virtual machines sharing data blocks can lead to slow write operations and performance degradation due to blocking I/O operations, as they require completion before other operations can proceed.

Innovation Solution

Implementing request queues managed by a hypervisor thread to track the availability of storage resources, where I/O operations are added to the queue if the resource is not available, and periodically checked for availability before issuance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple VMs share data blocks of virtual disk, then resource utilization is improved, but write operation speed deteriorates due to blocking I/O operations

Engineering Contradiction:
Improveresource utilizationVSAvoidwrite operation speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The hypervisor thread checks the availability of the target resource before issuing the I/O operation. By performing this availability check in advance, the system prevents blocking I/O operations from being issued, thereby maintaining write operation speed while allowing multiple VMs to share data blocks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system monitors the completion of I/O operations and uses this feedback to determine when the target resource becomes available. This feedback mechanism allows the hypervisor to dynamically adjust I/O issuance timing, resolving the contradiction between resource sharing and write speed.

Inventive Principle:
Principle #23Feedback

2Reliability

If blocking I/O operations are issued to shared data blocks, then data consistency is maintained, but overall system performance deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidoverall system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The availability check performed before issuing blocking I/O operations ensures that data consistency is maintained by only issuing operations when the resource is available, while simultaneously preventing performance degradation by avoiding blocking conditions.

Inventive Principle:
Principle #10Preliminary action

3Speed

If I/O operations are issued without checking resource availability, then processing speed is improved, but resource conflicts and blocking occur

Engineering Contradiction:
ImproveI/O processing speedVSAvoidresource availability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The availability check is performed as a preliminary action before issuing I/O operations. This approach maintains high processing speed by quickly determining availability while ensuring resource reliability by only issuing operations when the resource is confirmed to be available.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9052937B2Managing storage commands according to input-output priorities and dependencies
Publication Date: 2015.06.09 VMWARE INC
  • US9052937B2 patent drawing
  • US9052937B2 patent drawing
  • US9052937B2 patent drawing

AI summary

Input/output operations (IOs) are issued to a storage system using request queues that are each maintained for a resource targeted by the IOs. When an IO is requested, the target resource for the IO is first identified. If a request queue is maintained for the target resource, the IO is added to the request queue and the IO is issued to the storage system as the target resource becomes available. The availability of the target resource may be determined through periodic checks or by monitoring completions of IOs issued out of the request queue.