Hypervisor Write IO Optimization for Virtual Disk Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Write input/output operations in virtualized computing systems, particularly those using Virtual Machine File System (VMFS), face performance degradation due to the involvement of multiple subsystems and transactional overhead, leading to inefficiencies in metadata updates and resource management.

Innovation Solution

The solution involves sorting write IO operations based on file offsets and separating transaction-dependent and transaction-independent operations, allowing for batch allocation of resources and parallel data writing, thereby reducing the need for serial metadata updates and improving CPU efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If write IO operations are processed through multiple subsystems with transactional overhead for metadata updates, then data integrity and consistency are maintained, but system performance and write speed deteriorate

Engineering Contradiction:
Improvedata integrityVSAvoidwrite IO performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments write IO operations into two distinct categories: transaction-dependent operations (requiring metadata updates for data integrity) and transaction-independent operations (where data can be written without immediate metadata updates). This segmentation allows the system to apply different processing paths, maintaining reliability for critical operations while improving performance for non-critical ones by bypassing unnecessary subsystem overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by selectively applying transactional metadata updates only when necessary (for transaction-dependent operations) rather than uniformly for all write operations. For transaction-independent operations, the system performs only the essential data writing without the full transactional overhead, thus improving performance while maintaining sufficient data integrity through selective application of the complete transactional process.

Inventive Principle:
Principle #16Partial or excessive action

2Stability of the object's composition

If metadata updates are performed serially through multiple subsystems, then consistency is ensured, but processing time and latency increase

Engineering Contradiction:
Improvemetadata consistencyVSAvoidprocessing latency
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent segments the metadata update process by identifying which operations truly require serial transactional processing versus those that can be handled more efficiently. By categorizing operations as transaction-dependent or transaction-independent, the system maintains consistency for critical metadata updates while avoiding unnecessary serial processing for operations where consistency can be achieved through alternative means, thereby reducing overall processing latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by pre-classifying write IO operations into transaction-dependent and transaction-independent categories before processing. This allows the system to prepare appropriate handling paths in advance, ensuring that operations requiring serial metadata updates are properly queued and processed for consistency, while operations that don't require such updates can be processed more quickly without waiting for serial metadata operations, thus reducing overall latency.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If resource manager invocations are performed for each write operation, then resource allocation accuracy is maintained, but CPU efficiency and throughput decrease

Engineering Contradiction:
Improveresource allocation accuracyVSAvoidCPU efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent segments resource manager invocations based on operation type, invoking the resource manager only for transaction-dependent operations that require precise resource allocation tracking. For transaction-independent operations, the system bypasses resource manager invocations or uses simplified allocation mechanisms, thereby maintaining accurate resource allocation where necessary while significantly improving CPU efficiency and throughput by avoiding redundant invocations for operations that don't require such precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing full resource manager processing only when necessary for transaction-dependent operations, rather than invoking the resource manager for every write operation. This selective approach maintains adequate resource allocation accuracy for critical operations while reducing CPU overhead and improving overall throughput by using simplified or deferred resource management for non-critical operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11573741B2Write input/output optimization for virtual disks in a virtualized computing system
Publication Date: 2023.02.07 VMWARE INC
  • US11573741B2 patent drawing
  • US11573741B2 patent drawing
  • US11573741B2 patent drawing

AI summary

An example method of handling, at a hypervisor on a host in a virtualized computing system, a write input/output (IO) operation to a file on a storage device having a virtual machine file system (VMFS) is described. The method includes: sorting, at the hypervisor, a scatter-gather array for the write IO operation into sets of scatter-gather elements, each of the sets including at least one scatter-gather element targeting a common file block address; resolving offsets of the sets of scatter-gather elements to identify a first scatter-gather array of transaction-dependent scatter-gather elements; generating logical transactions for the first scatter-gather array having updates to metadata of the VMFS for the file; batching the logical transactions into a physical transaction; and executing the physical transaction to commit the updates to the metadata of the VMFS on the storage device for the file.