Extent Pool Allocation via File System Instance Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing systems, the I/O blender effect leads to inefficiencies such as increased read latencies and data fragmentation, which can result in system failures and extra work for parity-based RAID systems when multiple virtual machines write to shared storage resources concurrently.

Innovation Solution

The system identifies and allocates data from the same virtual machine to a specific extent pool using a file system instance identifier, keeping data together and reducing fragmentation by grouping allocations, thereby decreasing the I/O blender effect and associated inefficiencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple virtual machines write to shared storage resources concurrently, then storage resource utilization is improved, but data fragmentation increases and read latencies increase

Engineering Contradiction:
Improvestorage resource utilizationVSAvoidread latency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The storage system is segmented into multiple extent pools, with each pool dedicated to specific file system instances. This segmentation isolates I/O operations from different virtual machines, preventing the I/O blender effect while maintaining high storage utilization through parallel access to multiple pools.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A file system instance identifier acts as an intermediary between virtual machines and extent pools. This identifier maps each virtual machine's I/O operations to a specific extent pool, ensuring that data from the same virtual machine is allocated to the same pool without requiring complex real-time coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data from multiple virtual machines is allocated to the same extent pool, then storage efficiency is improved, but data fragmentation increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata fragmentation
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The extent pool is segmented into regions associated with specific file system instances. Each file system instance's data is allocated to its designated region, maintaining contiguity within that region while allowing other instances to use other regions, thus preventing fragmentation across the entire pool.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the extent pool have different quality characteristics tailored to specific file system instances. Each region is optimized for its associated instance's I/O patterns, ensuring that data from the same instance remains localized and contiguous while the overall pool maintains high utilization.

Inventive Principle:
Principle #3Local quality

3Device complexity

If the system uses a single extent pool for all virtual machines, then device complexity is reduced, but the I/O blender effect increases

Engineering Contradiction:
Improveextent pool managementVSAvoidI/O blender effect
Core Design Contradiction:
Device complexityVSObject-generated harmful factors

Solution Approach 1:

The single extent pool is logically segmented into multiple regions, each associated with a specific file system instance. This logical segmentation prevents the I/O blender effect by directing each instance's I/O operations to its designated region, while the physical pool structure remains simple and unified.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The file system instance identifier serves as an intermediary that maps virtual machine I/O operations to specific regions within the extent pool. This intermediary mechanism maintains simple device structure while effectively preventing the I/O blender effect through deterministic allocation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10838624B2Extent pool allocations based on file system instance identifiers
Publication Date: 2020.11.17 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10838624B2 patent drawing
  • US10838624B2 patent drawing
  • US10838624B2 patent drawing

AI summary

Example implementations relate to allocating an I/O request. In an example, a demultiplexer may forward an I/O request to a file system instance to which the I/O request belongs. The file system instance may tag the I/O request with a file system instance identifier associated with that file system instance. A volume manager may identify an extent pool to which the I/O request is to be allocated from among a plurality of extent pools of a storage based on the file system instance identifier tagged to the I/O request.