Locality-Based MPIO Path Selection for NUMA Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In information processing systems with multi-path input-output (MPIO) drivers and non-uniform memory access (NUMA) architectures, existing multi-pathing techniques lead to inefficiencies due to increased latency and CPU utilization, resulting in suboptimal storage system performance.
Innovation Solution
Implementing locality-based pathing techniques, where the MPIO driver identifies and selects the most efficient path for input-output operations based on locality information, such as latency and NUMA affinity, to optimize data routing between nodes and storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing multi-pathing techniques are used with NUMA architecture, then path redundancy is achieved, but latency increases and CPU utilization worsens
Solution Approach 1:
The patent applies local quality by making path selection dependent on the specific location of I/O operations within the NUMA architecture. The MPIO driver determines the source node for each I/O operation and selects paths that originate from or pass through local communication adapters, ensuring that each operation uses the most appropriate local path rather than a uniform routing approach. This resolves the contradiction by maintaining path redundancy while minimizing latency through location-aware path selection.
2Adaptability or versatility
If existing multi-pathing techniques are used with NUMA architecture, then path diversity is achieved, but system performance deteriorates
Solution Approach 1:
The patent changes the parameter of path selection from uniform/random to locality-based. By modifying how paths are selected—specifically by considering the source node and communication adapter locality—the system maintains path diversity for adaptability while improving system performance. The MPIO driver dynamically adjusts path selection based on NUMA topology parameters, resolving the contradiction between path diversity and system performance.
3Productivity
If non-local communication adapters are utilized, then load balancing is achieved, but latency increases
Solution Approach 1:
The patent applies local quality by prioritizing local communication adapters for I/O operations originating from their associated nodes. The MPIO driver determines locality information and selects paths that use local adapters when available, achieving load balancing across nodes while minimizing latency. Non-local adapters are used only when local adapters are unavailable or overloaded, resolving the contradiction between load balancing and latency.
Data Source
AI summary
An apparatus in one embodiment comprises a host device configured to communicate over a network with a storage system. The host device comprises a plurality of nodes each comprising a plurality of processing devices and at least one communication adapter. The host device further comprises a multi-path input-output (MPIO) driver that is configured to obtain an input-output (IO) operation that targets a given logical volume and to identify a source node for the IO operation. The MPIO driver identifies a plurality of paths between the source node and the given logical volume via the communication adapters of the plurality of nodes and determines locality information for each identified path. The MPIO driver is further configured to select a target path from the identified paths based at least in part on the determined locality information and to deliver the obtained IO operation to the given logical volume via the selected target path.


