MPIO Driver Dynamic Path Selection for IO Burst Handling
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Device complexity
If conventional static path selection approach is implemented, then device complexity is reduced, but adaptability to varying IO workloads deteriorates
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.
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.
2Adaptability or versatility
If advanced path selection algorithms are continuously activated, then adaptability to IO patterns is improved, but CPU processing overhead increases
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.
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.
3Productivity
If path selection dynamically adapts to IO performance, then system performance is enhanced, but device complexity increases
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.
Data Source
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.


