Sharded Virtual Disk I/O Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for achieving high-performance I/O operations in virtualization systems are limited by the need for explicit reconfiguration of storage systems, which is often inconvenient or impossible, especially when dealing with large data volumes and legacy systems, and do not effectively exploit parallelism across multiple storage hardware.

Innovation Solution

The implementation of dynamic creation and maintenance of sharded virtual storage areas, where a virtual disk is apportioned into non-overlapping shards, each handled by a dedicated shard controller, allowing for real-time optimization of I/O operations across multiple CPU cores and nodes without requiring modifications to the operating system or application code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is physically distributed across multiple storage drive portions (sharding), then I/O performance is improved through parallelism, but system complexity increases due to required reconfiguration of operating system and application

Engineering Contradiction:
ImproveI/O performanceVSAvoidsystem configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A virtualization layer is introduced as an intermediary between the application and physical storage drives. This virtualization layer handles the complexity of data distribution and sharding management, allowing the application to interact with a simplified virtual storage interface while benefiting from parallel I/O operations across multiple physical drives.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The storage system is segmented into multiple independent storage units or shards that can operate in parallel. Each shard is assigned to a separate storage drive, enabling concurrent I/O operations. The segmentation is managed through virtualization rather than requiring application-level reconfiguration.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If data is migrated between nodes in virtualization systems, then flexibility and adaptability are improved, but performance degrades due to heavy load on computing infrastructure when moving large data volumes

Engineering Contradiction:
Improvedata migration flexibilityVSAvoidcomputing infrastructure load
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Data migration and movement operations are extracted from the compute nodes and offloaded to dedicated storage nodes or storage area networks. This separation allows compute nodes to maintain flexibility and adaptability for data operations without bearing the heavy load of physical data movement, as storage nodes handle the actual data transfer.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system transitions from a single-node architecture to a multi-dimensional distributed architecture where data can be accessed and migrated across multiple nodes simultaneously. This dimensional expansion enables parallel data operations, reducing the load on any single computing infrastructure component while maintaining migration flexibility.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If legacy systems with fixed binary operating systems are used, then system stability is maintained, but I/O performance is limited due to inability to reconfigure storage apportionment

Engineering Contradiction:
Improvesystem stabilityVSAvoidI/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

A virtualization intermediary layer is deployed between the legacy operating system and physical storage resources. This layer provides the reconfiguration and sharding capabilities needed for high-performance I/O operations while the legacy operating system continues to operate unchanged, maintaining system stability without sacrificing performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The virtualization layer serves multiple functions simultaneously: it maintains compatibility with legacy operating systems, enables advanced storage features like sharding and parallel I/O, and provides a unified interface for both legacy and modern applications. This multi-functionality allows legacy systems to achieve modern performance levels without modification.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20230132493A1Importing workload data into a sharded virtual disk
Publication Date: 2023.05.04 NUTANIX INC
  • US20230132493A1 patent drawing
  • US20230132493A1 patent drawing
  • US20230132493A1 patent drawing

AI summary

Methods, systems, and computer program products for importing a workload from an external system into a virtualization system. A virtual disk (vDisk) is created based on analysis of the data layout of the workload. The vDisk is sharded into a plurality of non-overlapping shards. Independently executing shard controllers are assigned to the non-overlapping shards. On an ongoing basis, the plurality of shard controllers manage respective shards of the plurality of shards. I/O activity on at least some individual ones of the plurality of shard controllers is monitored on an ongoing basis. Two or more shard controllers can be merged into a single shard controller when the I/O activity on the two or more shard controllers is measured to be below a threshold. A single shard controller can be split into two or more shard controllers when I/O activity on the single shard controller is measured to be above a threshold.