Greedy Flow Tables for Fair Micro-Burst Congestion Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network devices face issues with micro-bursts and unfair congestion control, leading to low network bandwidth utilization and damage to small traffic flows (mouse flows) due to indiscriminate congestion notification across all data flows, especially when the ratio of fan-in to fan-out ports is high.
Innovation Solution
Implement a congestion processing method using a greedy flow table (GFT) to identify and control only greedy flows, reducing congestion control on non-greedy flows, allowing for a larger ECN threshold without significant impact, thus improving bandwidth utilization and fairness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the ECN threshold is set to a smaller value to reduce congestion and improve lossless forwarding service quality, then congestion is alleviated and service quality is improved, but the source server sends data packets at a very small rate resulting in very low network bandwidth utilization
Solution Approach 1:
The patent segments data flows into elephant flows and mouse flows, applying different congestion control strategies to each type. Elephant flows (large volume, long duration) are subject to ECN marking and congestion control, while mouse flows (small volume, short duration) are exempted from congestion control. This segmentation resolves the contradiction by allowing aggressive congestion control for elephant flows without impacting mouse flows, thereby maintaining high network bandwidth utilization while still improving lossless forwarding service quality.
2Reliability
If congestion notification is performed on all data flows to control congestion, then congestion is reduced, but mouse flows are greatly damaged and the congestion control mechanism becomes unfair
Solution Approach 1:
The patent applies local quality by differentiating congestion control treatment based on flow characteristics. Instead of uniform congestion control across all flows, the system applies ECN marking selectively only to elephant flows that contribute significantly to congestion. Mouse flows receive different treatment (exemption from congestion control), creating a localized, differentiated quality of service that protects small flows while effectively controlling congestion from large flows.
3Adaptability or versatility
If the ratio of fan-in port to fan-out port in the network device is N:1, then micro-bursts occur in the network device, but the larger the N, the larger the instantaneous rate of the micro-burst data flow making congestion control more difficult
Solution Approach 1:
The patent changes the parameter of ECN threshold configuration based on network conditions and flow types. By dynamically adjusting the ECN threshold and applying it selectively to elephant flows rather than all flows, the system adapts to micro-burst scenarios caused by high fan-in to fan-out port ratios. This parameter change approach simplifies congestion control complexity while maintaining effectiveness in handling micro-bursts, as the system responds appropriately to different traffic patterns without requiring overly complex control mechanisms.
Data Source
Figure 1~2
Figure 3
Figure 4~5
AI summary
The invention relates to a congestion processing method, apparatus, network device and storage medium. The method comprises: receiving a first data packet carrying a congestion mark through a target port; searching, in a preset greedy flow table, a target table entry that includes target flow information carried in the first data packet and an identifier of the target port, and the preset greedy flow table stores flow information of a data flow whose traffic is greater than a preset traffic threshold and an identifier of a port that receives the data flow corresponding to the flow information; processing, if the target table entry is found, the first data packet; removing, if the target table entry is not found, the congestion mark carried in the first data packet to obtain a second data packet, and processing the second data packet.