Multi-Path I/O Driver Latency-Based Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems face difficulties in detecting and addressing performance issues such as 'slow drain' and path imbalances due to hardware problems and noisy communication lines, leading to inefficiencies in scheduling IO operations across multiple paths.

Innovation Solution

A multi-path layer with an MPIO driver that measures and schedules IO operations based on parameters like path latencies, storage volume latencies, and payload size per operation metrics, prioritizing paths with higher payload sizes for more efficient execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional scheduling approaches are used without measuring path parameters, then device complexity is reduced, but path performance issues such as slow drain and imbalances cannot be detected or addressed

Engineering Contradiction:
Improvepath performance detectionVSAvoidscheduling system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The MPIO driver automatically measures path latencies and payload sizes without external intervention, and autonomously schedules IO operations based on measured parameters. The system serves itself by detecting performance issues and adjusting scheduling decisions without administrator involvement.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously measures path latencies and payload sizes, then uses this feedback information to dynamically adjust IO operation scheduling. The measured parameters feed back into the scheduling algorithm to optimize path selection and improve overall system performance.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If the number of host devices and storage system complexity increases, then system capability is improved, but the number of paths increases making performance issues more difficult to detect

Engineering Contradiction:
Improvesystem scalabilityVSAvoidpath performance detection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent extracts the measurement and detection functionality into a dedicated MPIO driver layer that independently monitors each path's latency and payload size. This separation allows the system to handle increased complexity by isolating the detection mechanism from the overall system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes from conventional scheduling that ignores path characteristics to parameter-based scheduling that explicitly measures and utilizes path latency and payload size metrics. This parameter-driven approach enables detection and optimization even as system complexity increases.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If IO operations are scheduled without considering actual path behavioral characteristics, then scheduling simplicity is maintained, but throughput performance and application performance are reduced

Engineering Contradiction:
Improvethroughput performanceVSAvoidscheduling mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The MPIO driver performs preliminary measurements of path latencies and payload sizes before scheduling IO operations. By measuring these parameters in advance and using them to pre-determine optimal path selection, the system improves throughput without adding complex real-time decision-making mechanisms.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10817181B2Host device with multi-path scheduling based at least in part on measured parameters
Publication Date: 2020.10.27 EMC IP HLDG CO LLC
  • US10817181B2 patent drawing
  • US10817181B2 patent drawing

AI summary

An apparatus comprises a host device 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 driver configured to schedule input-output operations for delivery to the storage system over the network. The multi-path input-output driver is further configured to measure latencies of respective ones of a plurality of paths from the host device to the storage system, to schedule particular ones of the input-output operations for delivery to the storage system over particular ones of the paths based at least in part on the measured latencies, and to control transmission of the particular input-output operations over the particular paths in accordance with the scheduling. The scheduling additionally or alternatively takes into account other measured parameters such as measured latencies of respective ones of a plurality of storage volumes of the storage system and/or measured payload size per operation metrics for each of at least a subset of the plurality of paths.