NVMe Multipath Weighting Using Link State Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for distributing I/O loads in multipath NVMe storage systems rely heavily on manual administrative configuration, which is labor-intensive and non-dynamic, making it cumbersome in complex networks with changing link conditions.
Innovation Solution
Implementing weighted multipath policies using link state protocols to dynamically assign weights to pathways based on metrics such as bandwidth, interface type, and administrator settings, allowing automated and adaptive load distribution across multiple paths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual administrative configuration is used to assign path weights, then configuration control is achieved, but labor intensity increases and dynamic adaptation is lost
Solution Approach 1:
The system performs self-configuration by automatically discovering network topology and calculating optimal path weights using link state protocols. The NVMe initiator autonomously obtains link metrics, computes multipath weights, and updates path selection without requiring manual administrator intervention, thereby achieving both operational control and dynamic adaptation.
Solution Approach 2:
The system continuously monitors network link states and dynamically adjusts path weights based on real-time feedback from link state protocols. This feedback mechanism enables the system to adapt to changing network conditions automatically while maintaining configuration integrity through structured weight calculation algorithms.
2Ease of manufacture
If manual path weight configuration is used, then initial setup is simplified, but the system cannot adapt to network changes
Solution Approach 1:
The system performs preliminary configuration by establishing automated discovery and weight calculation mechanisms during system initialization. Link state protocols are configured to propagate topology information, and the NVMe initiator is pre-programmed with algorithms to automatically compute path weights based on received link metrics, enabling both simple initial setup and future adaptability.
Solution Approach 2:
The system transitions from static manual configuration to dynamic automated weight adjustment. Path weights are continuously recalculated based on real-time network conditions obtained through link state protocols, allowing the system to adapt seamlessly to link additions, deletions, and traffic pattern changes while maintaining simplified operational procedures.
3Adaptability or versatility
If automated dynamic weight assignment is implemented, then adaptability to network changes is improved, but system complexity increases
Solution Approach 1:
The system achieves dynamic weight assignment by leveraging the existing multi-functionality of link state protocols already present in the network infrastructure. These protocols simultaneously perform routing information exchange, topology discovery, and metric propagation, eliminating the need for separate dedicated weight calculation mechanisms and reducing overall system complexity.
Solution Approach 2:
The NVMe initiator acts as an intermediary that receives link state information from network protocols and translates it into optimized path weight assignments. This intermediary role consolidates the complexity within a single component rather than distributing it across multiple system elements, simplifying the overall architecture while maintaining dynamic adaptability.
4Extent of automation
If link state protocols are used for weight calculation, then automation is achieved, but protocol integration complexity increases
Solution Approach 1:
The system exploits the universal nature of link state protocols that are already widely deployed in network infrastructure for routing purposes. By reusing these existing protocols for dual purposes (routing and weight calculation), the system achieves automation without adding new protocol layers or integration complexity, as the same protocol messages serve multiple functions.
Data Source
AI summary
Embodiments herein comprise obtaining states of network links of paths from an initiator (e.g., host) to a target (e.g., storage subsystem) to determine weight factors for the paths in a multipath scenario between the initiator and the target. Given the weight factors, they may be used with an NVMe initiator implementation of a multipath weight/load-balancing methodology or system to distribute workloads (e.g., IO tasks/requests) across the paths of the set of paths in the multipath. In one or more embodiments, each state may have a metric associated with it, which may act as a cost or be used to determine/assign a cost to the corresponding link. In one or more embodiments, one or more additional rules may be set for converting metrics to costs, costs and/or metrics to weights, and/or for distributing the workloads.


