Transport Flow Multipath Routing for RoCE Congestion Relief
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current RDMA over Converged Ethernet (RoCE) technology assumes all packets for a specific transport flow travel across the same network path, leading to congestion when multiple flows are set to the same link, even if other routes are underutilized.
Innovation Solution
Implementing mechanisms and methods to spread a transport flow across multiple network paths while maintaining control at an endpoint, allowing software to load different network routing identifiers and hardware to send packets across multiple paths without software intervention, thereby optimizing network utilization and congestion management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If all packets for a specific transport flow travel across the same network path, then routing simplicity is maintained, but network congestion occurs when multiple flows are set to the same link
Solution Approach 1:
The patent segments a single transport flow into multiple packet streams that can be routed along different network paths. By dividing the flow at the network layer and using packet steering mechanisms, the system distributes traffic across multiple links, preventing congestion while maintaining flow integrity at the transport layer.
Solution Approach 2:
The patent introduces an additional routing dimension by enabling packets from the same transport flow to traverse multiple network paths simultaneously. This multi-path capability adds a new dimension to traditional single-path routing, allowing the network to utilize available bandwidth across multiple links without increasing transport layer complexity.
2Productivity
If Equal-Cost multipath (ECMP) is used to spread different transport flows, then load distribution across multiple paths is achieved, but it does not work well when a specific transport flow needs to be spread evenly across multiple network paths
Solution Approach 1:
The patent introduces an intermediary mechanism at the network layer that sits between the transport layer and the physical network paths. This intermediary uses packet steering and network layer routing identifiers to distribute packets from a specific transport flow across multiple paths, providing fine-grained control that ECMP lacks while maintaining transport layer transparency.
Solution Approach 2:
The system enables the network layer to automatically manage path selection for specific transport flows without requiring transport layer modifications or application awareness. The packet steering mechanism self-manages the distribution of packets across multiple paths based on routing identifiers, providing adaptability without external control.
3Adaptability or versatility
If software loads different network routing identifiers for each packet, then precise path control is achieved, but software intervention is required for every packet transmission
Solution Approach 1:
The patent implements preliminary action by pre-configuring multiple network paths and their associated routing identifiers before traffic transmission. The system establishes multipath contexts and pre-computes routing information, allowing packets to be steered across multiple paths using pre-established routing identifiers without requiring real-time software intervention for each packet.
Solution Approach 2:
The patent replaces the mechanical software-intervention model with an automated hardware-assisted packet steering mechanism. By using network layer routing identifiers and hardware-based packet steering, the system eliminates the need for software to manually set routing identifiers for each packet, reducing overhead while maintaining precise path control.
Data Source
AI summary
Technologies for spreading packets of transport flows across multiple network paths are described. A network controller includes a transport layer and a network layer. The transport layer includes a flow scheduler to schedule a transport flow from one of a plurality of transport flows. The network layer includes multipath logic to receive packets from the transport flow and select which path of a plurality of paths to a destination to use for the packets based on path congestion weights corresponding to the plurality of paths.


