SAN Path Selection Using Pre-Determined Latency Values
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage area networks (SANs) introduce latency, making it difficult to detect the source of delays and select optimal paths, especially when switches from different vendors are involved, leading to inefficient configuration and potential suboptimal performance.
Innovation Solution
A mechanism that determines multiple possible paths between an initiator and a target in a SAN by examining previously-determined latency values, using commands like PowerPath powermnt display dev=LUN to measure latency without queuing I/O operations, and selecting the path with the lowest latency value.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a SAN is used to allow reconfiguring connections without physical disconnection, then connection flexibility is improved, but latency is introduced into the system
Solution Approach 1:
The system performs preliminary latency measurements for multiple possible paths between initiators and targets before actual I/O operations occur. By pre-determining latency values for each path and storing them in a database, the system has path performance information ready in advance, allowing it to select optimal paths without experiencing delays during actual data transfers.
Solution Approach 2:
The system dynamically selects paths based on stored latency measurements rather than using static routing. The path selection process adapts to changing conditions by comparing latency values from multiple paths and choosing the optimal one, making the routing flexible and responsive to performance variations in the SAN environment.
2Difficulty of detecting and measuring
If vendor tools are used to determine alternative paths through the SAN, then path determination capability is improved, but compatibility with heterogeneous switch environments deteriorates
Solution Approach 1:
The system implements a universal path determination mechanism that works across heterogeneous SAN environments with switches from different vendors. By using a standardized approach that sends commands from initiators to targets and measures latency independently of vendor-specific tools, the system achieves compatibility across different switch manufacturers while maintaining full path determination capability.
Solution Approach 2:
The system introduces an intermediary path selection process that operates between the physical SAN infrastructure and the I/O operations. This intermediary layer measures latency for multiple paths using standardized commands and selects optimal paths without relying on vendor-specific tools, thereby bridging the gap between heterogeneous switch environments and unified path management.
3Measurement precision
If configuration testing is performed to determine optimal paths, then path optimization accuracy is improved, but system productivity deteriorates
Solution Approach 1:
The system performs path measurements and optimizations in advance before production I/O operations begin. By pre-determining latency values for all possible paths and storing them in a database, the system achieves accurate path optimization without impacting production productivity, as the measurements are completed beforehand and optimal paths are selected during normal operations.
Solution Approach 2:
The system maintains continuous path optimization capability by storing latency measurements in a database that can be queried during I/O operations. Once paths are measured and optimized, the system continuously uses this pre-determined information to select optimal paths without requiring repeated testing, thereby maintaining both high accuracy and continuous productivity.
Data Source
AI summary
Determining an optimal path through a storage area network from a specific initiator to a specific target includes determining a plurality of possible paths through the storage area network between the specific initiator and the specific target, examining a plurality of previously-determined latency values for each of the paths, the previously-determined latency values being set according to empirical observation of propagation through each of the paths, and choosing a specific one of the paths having a lowest latency value. The previously-determined latency values may be determined by sending a command from the specific initiator to the specific target. The command may avoid queuing any I/O operations at the specific target. The command may be a status request command or a vendor specific command. The source may be a host system and the target may be a storage system. The previously-determined latency may be measured using a PowerPath Management Appliance.


