MPIO Driver Cache-Aware Load Balancing for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face performance issues due to cache-related problems, such as cache misses and increased processing overhead, when handling IO requests from multiple host devices with varying workloads, as existing load balancing algorithms are unaware of the storage system's cache configuration.

Innovation Solution

A multi-path layer with an MPIO driver dynamically selects between different load balancing policies based on storage-side performance metrics, including cache-related information, to optimize IO operations and avoid cache misses by directing IO operations to appropriate cache entities within the storage system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If traditional load balancing algorithms are used without awareness of cache configuration, then simplicity of implementation is maintained, but storage system performance deteriorates due to cache misses and increased processing overhead

Engineering Contradiction:
Improvesimplicity of implementationVSAvoidstorage system performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements feedback by having the MPIO driver query storage-side performance metrics (cache hit ratios, I/O depths) from the storage system and use this information to dynamically adjust load balancing policy selection. This closed-loop feedback mechanism enables the system to adapt to changing cache conditions and optimize performance without complex manual configuration.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The storage system provides self-service by exposing its own cache performance metrics to the host's MPIO driver through standardized interfaces. This allows the host to make informed load balancing decisions based on actual storage system cache state, eliminating the need for external monitoring tools or complex manual tuning while improving performance.

Inventive Principle:
Principle #25Self-service

2Productivity

If storage-side performance metrics are accessed and used for dynamic policy selection, then storage system performance is improved by reducing cache misses, but device complexity increases due to additional metric collection and processing

Engineering Contradiction:
Improvestorage system performanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The MPIO driver performs multiple functions: it serves as the interface for multi-path I/O management and simultaneously acts as a performance metric collector and load balancing policy selector. By consolidating these functions in a single component, the patent avoids adding separate complex monitoring and control systems, thus improving performance without proportionally increasing overall device complexity.

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

Solution Approach 2:

The system dynamically changes load balancing policy parameters based on storage-side metrics such as cache hit ratios and I/O depths. Instead of using fixed load balancing algorithms, the MPIO driver selects and adjusts policy parameters in response to changing cache conditions, enabling performance optimization through adaptive parameter tuning rather than complex structural changes.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If multiple load balancing policies are maintained and dynamically selected, then adaptability to different cache conditions is improved, but ease of operation deteriorates due to complexity in policy management

Engineering Contradiction:
Improveadaptability to cache conditionsVSAvoidease of operation
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system uses feedback from storage-side performance metrics to automatically determine which load balancing policy is most appropriate for current cache conditions. The MPIO driver continuously monitors cache hit ratios and I/O depths, then selects policies such as round-robin, least-queue-depth, or random based on this feedback, eliminating the need for manual policy selection while maintaining high adaptability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancing policy selection is performed automatically by the MPIO driver based on storage system metrics, without requiring administrator intervention. The system serves itself by making intelligent policy decisions based on real-time cache state, improving adaptability while keeping operation simple for users who don't need to understand or configure the underlying policy selection logic.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11762588B2Multi-path layer configured to access storage-side performance metrics for load balancing policy control
Publication Date: 2023.09.19 EMC IP HLDG CO LLC
  • US11762588B2 patent drawing
  • US11762588B2 patent drawing
  • US11762588B2 patent drawing

AI summary

An apparatus comprises at least one processing device. The at least one processing device is configured to obtain storage-side performance information maintained by a storage system in conjunction with processing of input-output operations directed to the storage system by a host device over a network, to dynamically select a particular one of a plurality of distinct load balancing policies available in the host device based at least in part on the obtained storage-side performance information, and to apply the selected load balancing policy in directing additional input-output operations from the host device to the storage system. At least one of the load balancing policies comprises a storage cache aware load balancing policy that causes different ones of the input-output operations to be directed to different cache entities of the storage system based at least in part on cache-related performance metrics of the obtained storage-side performance information.