Fabric Adapter Multipathing for Congestion-Aware Path Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Equal Cost Multi-Pathing (ECMP) implementations struggle with optimal load balancing across multiple paths, leading to path overloading, underutilization, hash collisions, incomplete information, and inefficient recovery from link failures, resulting in network congestion and temporary packet mis-ordering.
Innovation Solution
A system and method that utilizes a fabric adapter to receive packet headers and control information from controlling hosts, enabling intelligent load balancing based on network and application states, with real-time congestion awareness and alternate failover routes, using scatter gather lists and routing tables to optimize path selection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If Equal Cost Multi-Pathing (ECMP) protocol is used to increase bandwidth between communicating compute nodes, then network bandwidth is improved, but path overloading and underutilization occur leading to network congestion
Solution Approach 1:
The patent implements dynamic path selection by continuously monitoring network conditions and adjusting path weights accordingly. The system transitions from static ECMP hashing to dynamic routing where paths are selected based on real-time congestion levels, link utilization, and network state, preventing both overloading and underutilization of network paths
Solution Approach 2:
The system incorporates feedback mechanisms by monitoring network congestion, link failures, and packet delivery status. This feedback is used to adjust path selection decisions in real-time, allowing the system to respond to changing network conditions and maintain optimal load balancing across multiple paths
2Ease of operation
If ECMP uses hash-based path selection, then path selection is simplified, but hash collisions occur leading to suboptimal path selection
Solution Approach 1:
The patent changes the parameters used for path selection from simple hash values to multi-dimensional parameters including link utilization, congestion levels, packet loss rates, and latency measurements. This allows for more precise path selection that avoids hash collisions while maintaining computational efficiency through structured parameter evaluation
3Productivity
If ECMP distributes packets across multiple paths, then bandwidth utilization increases, but packet mis-ordering occurs during link failures
Solution Approach 1:
The system performs preliminary actions by pre-establishing alternative paths and pre-calculating rerouting decisions before link failures occur. When a failure is detected, packets are immediately redirected along pre-prepared alternative paths, maintaining both bandwidth utilization and packet ordering without the mis-ordering problems that occur with reactive ECMP failover
Data Source
AI summary
In general, the subject matter of this disclosure relates to a system for optimally balanced network multipathing. An example system includes a fabric adapter communicatively coupled to a plurality of network ports, a plurality of controlling hosts, and a plurality of application hosts. The fabric adapter is configured to: receive contents of one or more headers of a network packet; receive control information for the network packet, the control information describing at least one of a state of a network or a state of an application running on at least one application host from the plurality of application hosts; receive a payload of a network packet; select a network path in the network; and forward the network packet to a network port of the plurality of network ports, the network packet including the one or more headers and the payload.


