Programmable Congestion Control Network Adapter
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current congestion control methods in packet communication networks face inefficiencies due to high latency and resource consumption in software implementations, and rigidity in hardware implementations, which affect system performance.
Innovation Solution
A network adapter with a receive and transmit pipeline, and congestion management circuitry that processes congestion events and user-programmable packets to mitigate congestion through throttling or notifications, using a combination of hardware and programmable processors to execute flexible congestion control algorithms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If congestion control is implemented using software, then flexibility and adaptability are improved, but latency and resource consumption increase
Solution Approach 1:
The congestion control system is segmented into two parts: a hardware component that handles time-critical packet processing and congestion detection, and a software component that provides flexible congestion control algorithms. This segmentation allows the hardware to operate with low latency while the software provides adaptability, resolving the contradiction between speed and flexibility.
Solution Approach 2:
A hardware intermediary (congestion control circuit) is introduced between the network interface and the software processor. This intermediary pre-processes packets and congestion events in hardware, filtering and preparing data before passing it to the software layer, thereby reducing the processing latency while maintaining software flexibility.
2Loss of time
If congestion control is implemented using hardware, then latency is reduced, but adaptability and programmability are worsened
Solution Approach 1:
The hardware congestion control circuit is designed with programmable parameters and configurable behavior, allowing it to adapt to different congestion control algorithms and network conditions. This dynamic configurability enables the hardware to maintain low latency while gaining flexibility through programmable control logic.
Solution Approach 2:
The hardware congestion control circuit is designed to support multiple congestion control algorithms and packet types through a unified architecture. By making the hardware multi-functional and programmable, it can handle various congestion scenarios without requiring separate dedicated hardware for each algorithm, thus improving adaptability while maintaining hardware-speed performance.
3Reliability
If more processing resources are allocated to congestion control, then congestion mitigation quality is improved, but resource consumption and system overhead increase
Solution Approach 1:
The hardware congestion control circuit performs preliminary processing of packets and congestion events before they reach the software layer. By pre-filtering, pre-classifying, and pre-processing data in hardware, the system reduces the burden on software resources while maintaining effective congestion mitigation, thereby improving reliability without proportionally increasing overall resource consumption.
Solution Approach 2:
The patent replaces software-based congestion control processing with hardware-based processing for time-critical operations. This substitution of mechanical (hardware) systems for software (mechanical) systems reduces processing resource consumption and energy usage while maintaining or improving congestion mitigation effectiveness, as hardware operations are more efficient for repetitive, time-critical tasks.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A network adapter includes a receive (Rx) pipeline, a transmit (Tx) pipeline and congestion management circuitry. The Rx pipeline is configured to receive packets sent over a network by a peer network adapter, and to process the received packets. The Tx pipeline is configured to transmit packets to the peer network adapter over the network. The congestion management circuitry is configured to receive, from the Tx pipeline and from the Rx pipeline, Congestion-Control (CC) events derived from at least some of the packets exchanged with the peer network adapter, to exchange user-programmable congestion control packets with the peer network adapter, and to mitigate a congestion affecting one or more of the packets responsively to the CC events and the user-programmable congestion control packets.