MPIO Driver Fabric Identifier Path Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional techniques fail to adequately detect and alleviate performance degradations in storage systems due to network switch fabric reconfigurations, leading to issues like RSCN storms that impact IO operations.
Innovation Solution
A multi-path layer in host devices is configured with an MPIO driver that determines fabric identifiers for paths and adjusts path selection to avoid fabrics experiencing performance degradations, using commands like SCSI log sense or mode sense to identify and reroute IO operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional path selection techniques are used, then device complexity is reduced, but IO operation performance deteriorates during fabric reconfigurations
Solution Approach 1:
The system performs preliminary actions by discovering and registering multiple paths to the storage system before IO operations need to be executed. The MPIO driver maintains a registry of available paths and their associated fabric identifiers, allowing rapid path selection during IO operations without performing complex discovery at runtime. This preliminary path discovery and registration enables the system to respond quickly to fabric reconfigurations while avoiding the complexity of real-time path analysis.
Solution Approach 2:
The invention changes the parameter space from traditional path selection (based on single-path metrics) to multi-parameter selection incorporating fabric identifiers, path status, and performance characteristics. By expanding the selection criteria to include fabric-level information and historical performance data, the system can make more informed path selection decisions that prevent IO operations from entering degraded fabric paths, thereby maintaining performance without requiring overly complex real-time analysis.
2Reliability
If fabric rediscovery processes are executed, then path availability is improved, but performance degradation occurs due to RSCN message storms
Solution Approach 1:
The system performs preliminary path discovery and registration during system initialization or when paths become available, storing the results in a registry that the MPIO driver can query during IO operations. This eliminates the need for continuous or frequent fabric rediscovery processes, as the path information is already cached and ready for use. Only when paths change or become unavailable does the system need to perform rediscovery, thereby avoiding RSCN message storms while maintaining path availability.
Solution Approach 2:
The system implements feedback mechanisms where the MPIO driver monitors IO operation success and failure rates for each path and fabric identifier. This feedback information is stored and used to influence future path selection decisions, allowing the system to learn from past performance and avoid paths that are likely to degrade. The feedback loop operates at a lower frequency than continuous rediscovery, reducing message traffic while still adapting to changing fabric conditions.
3Reliability
If multiple paths are maintained for redundancy, then system reliability is improved, but path selection complexity increases
Solution Approach 1:
The system performs preliminary discovery and registration of multiple paths during system initialization or when paths become available, storing the results in a registry that the MPIO driver can query during IO operations. This eliminates the need for continuous or frequent fabric rediscovery processes, as the path information is already cached and ready for use. Only when paths change or become unavailable does the system need to perform rediscovery, thereby avoiding RSCN message storms while maintaining path availability.
Solution Approach 2:
The invention changes the parameter space from traditional path selection (based on single-path metrics) to multi-parameter selection incorporating fabric identifiers, path status, and performance characteristics. By expanding the selection criteria to include fabric-level information and historical performance data, the system can make more informed path selection decisions that prevent IO operations from entering degraded fabric paths, thereby maintaining performance without requiring overly complex real-time analysis.
Data Source
AI summary
An illustrative embodiment includes a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network. The multi-path input-output driver is further configured to determine fabric identifiers for respective ones of a plurality of paths from the host device to the storage system, and to select particular ones of the paths for delivery of the input-output operations to the storage system based at least in part on the fabric identifiers. The fabric identifiers may be determined for the respective paths, for example, based at least in part on responses to a predetermined command sent over the paths by the multi-path input-output driver.


