MPIO Driver Dynamic Path Selection for IO Burst Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional host device multi-pathing arrangements are inadequate in handling IO bursts and variabilities in IO processing behavior, often requiring excessive CPU processing overhead, especially with the evolution of storage systems using non-volatile memories and advanced protocols like NVMe.

Innovation Solution

A multi-path layer with dynamic control of path selection algorithms is implemented, using an MPIO driver to measure and adjust path selection based on IO processing performance, activating adaptive or non-adaptive algorithms as needed to balance latency and reduce CPU overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If conventional static path selection approach is implemented, then device complexity is reduced, but adaptability to varying IO workloads deteriorates

Engineering Contradiction:
Improvepath selection mechanismVSAvoidadaptability to IO workload variations
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic path selection by continuously monitoring IO performance metrics (latency, throughput, error rates) and adapting the path selection algorithm in real-time based on current workload conditions. This allows the system to transition from static to dynamic behavior, selecting optimal paths adaptively rather than using fixed selection criteria.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters (path selection criteria, weighting factors, threshold values) based on detected IO workload characteristics. By adjusting these parameters dynamically according to measured performance metrics, the system achieves adaptability without requiring complete architectural redesign.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If advanced path selection algorithms are continuously activated, then adaptability to IO patterns is improved, but CPU processing overhead increases

Engineering Contradiction:
Improveadaptability to IO patternsVSAvoidCPU processing overhead
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent implements periodic monitoring and evaluation of path performance rather than continuous analysis. By sampling IO metrics at defined intervals and triggering algorithm adjustments only when performance thresholds are breached, the system maintains adaptability while significantly reducing CPU overhead compared to continuous algorithm execution.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system uses its own IO traffic to gather performance metrics rather than requiring separate probe traffic. By leveraging existing IO operations to collect latency and throughput data, the system achieves adaptability without additional processing overhead from dedicated monitoring mechanisms.

Inventive Principle:
Principle #25Self-service

3Productivity

If path selection dynamically adapts to IO performance, then system performance is enhanced, but device complexity increases

Engineering Contradiction:
Improvesystem performanceVSAvoidmulti-path layer
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the path selection functionality into distinct modular components: performance metric collection, threshold evaluation, algorithm selection, and path determination. This modular segmentation allows the complex adaptive system to be implemented through manageable, independent modules that can be configured and maintained separately.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11366590B2Host device with multi-path layer providing dynamic control of one or more path selection algorithms
Publication Date: 2022.06.21 EMC IP HLDG CO LLC
  • US11366590B2 patent drawing
  • US11366590B2 patent drawing
  • US11366590B2 patent drawing

AI summary

A host device is configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a multi-path input-output (MPIO) driver configured to control delivery of input-output (IO) operations from the host device to the storage system over selected ones of a plurality of paths through the network. The MPIO driver is further configured to determine IO processing performance for each of at least a subset of the paths, and to dynamically adjust a path selection algorithm utilized in selecting particular ones of the paths for delivery of the IO operations from the host device to the storage system based at least in part on the determined performance. For example, dynamically adjusting a path selection algorithm illustratively comprises activating a particular one of a plurality of distinct path selection algorithms available to the MPIO driver and/or adjusting one or more parameters of a given path selection algorithm.