Network Congestion Control via Switch Queue Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data center congestion control methods, such as Priority Flow Control (PFC) and end-to-end (E2E) congestion control, face challenges like slow detection and reaction to network congestion, leading to issues like packet loss, PFC storms, and Head-of-Line blocking, which can reduce network bandwidth and increase latency.
Innovation Solution
Implementing a congestion control system that utilizes Data Center TCP (DCTCP) schemes, where sender network interface devices adjust packet transmission rates based on network resource consumption data from intermediary switches, such as queue depth and link utilization, using metrics like U metric or alpha value to dynamically adjust the congestion window size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Priority Flow Control (PFC) is used to reduce packet loss, then packet loss is reduced, but PFC storms, deadlock, and Head-of-Line blocking occur which lower network fabric bandwidth
Solution Approach 1:
The patent changes the control parameter from binary PFC pause frames to a continuous congestion window size parameter. The congestion window is adjusted multiplicatively based on queue depth metrics, allowing fine-grained rate control instead of abrupt flow pausing. This prevents PFC storms while maintaining reliable delivery by keeping flows active at reduced rates rather than completely blocking them.
Solution Approach 2:
The patent implements continuous feedback from network switches to end hosts by measuring queue depth at intermediate switches and reporting congestion metrics back to senders. This feedback loop enables dynamic adjustment of transmission rates based on real-time network conditions, preventing congestion before it causes packet loss while avoiding the over-reaction that causes PFC storms.
2Reliability
If end-to-end (E2E) congestion control is used to detect and react to congestion, then congestion response is provided, but detection and reaction are too slow to occur in sub-round trip time (RTT)
Solution Approach 1:
The patent performs preliminary congestion detection by measuring queue depth at intermediate switches before packets are actually dropped or significant congestion occurs. By monitoring queue buildup in advance and triggering congestion control actions when thresholds are approached, the system reacts to congestion conditions before they manifest as packet loss, eliminating the need to wait for full RTT cycles.
Solution Approach 2:
The patent introduces network switches as intermediary congestion detectors that measure queue depth and provide congestion information to end hosts. These intermediaries enable sub-RTT congestion detection because they observe congestion conditions locally at the network edge rather than requiring end-to-end packet round trips. The switches act as sensors that report congestion metrics back to senders for immediate rate adjustment.
3Speed
If multiplicative decrease or increase of congestion window is used based on inflight bytes, then fast reaction to congestion is achieved, but precision in congestion control is reduced
Solution Approach 1:
The patent makes the congestion control strategy dynamic by selecting between multiplicative and additive window adjustments based on the current phase of operation. During slow start, multiplicative increase enables rapid capacity exploration. During congestion avoidance, additive increase provides fine-grained control. When congestion is detected, multiplicative decrease provides fast reaction. This dynamic adaptation allows the system to achieve both speed and precision at different stages of the congestion control process.
Data Source
AI summary
Examples described herein relate to a network interface device that includes circuitry to: adjust a rate of packet transmissions by Explicit Congestion Notification (ECN)-based congestion control based on phase of operation and congestion metrics comprising queue depth at one or more intermediate switches. In some examples, the circuitry is to adjust the rate of packet transmissions by multiplicative decrease or increase based on a number of inflight bytes. In some examples, the circuitry is to adjust the rate of packet transmissions by additive decrease or increase based on congestion metric from the one or more intermediate switches at one or more intermediate switches.


