Multi-Path I/O Driver Latency-Based Scheduling
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.

