Network Interface Flow Control for Head-of-Line Blocking Relief
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing congestion control mechanisms, such as Priority Flow Control (PFC), cause Head-of-Line (HoL) blocking when one flow in a Class of Service (CoS) causes congestion, leading to degraded performance for short, delay-sensitive applications.
Innovation Solution
Implementing a network interface device with per-hop and per-flow congestion control that assigns flows to individual queues, monitors packet thresholds, and notifies upstream senders to pause or reduce transmission for congested flows, while allowing non-congested flows to continue, thereby reducing tail latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If Priority Flow Control (PFC) is used to reduce packet drops, then packet loss is reduced, but Head-of-Line (HoL) blocking occurs causing degraded performance for delay-sensitive applications
Solution Approach 1:
The patent segments the Class of Service (CoS) into multiple priority queues (e.g., priority 0-7) within each port. Instead of treating all traffic in a CoS uniformly, the system divides them into granular priority levels, allowing selective flow control at the individual flow level rather than pausing entire CoS groups. This segmentation enables targeted congestion control that prevents HoL blocking by isolating congested flows from non-congested ones.
Solution Approach 2:
The patent implements local quality by applying flow control measures specifically to individual congested flows rather than uniformly to all flows in a CoS. The system monitors queue depths per-flow and sends pause frames only to upstream senders of congested flows, allowing non-congested flows to continue transmission without interruption. This localized approach maintains high performance for delay-sensitive applications while still providing congestion control.
2Reliability
If PFC pauses all flows in a CoS when one flow causes congestion, then buffer overflow is prevented, but application performance degrades due to unnecessary pausing of non-congested flows
Solution Approach 1:
The patent segments the CoS into multiple priority queues and further divides them into individual flow queues. This granular segmentation allows the system to identify and control only the specific flow causing congestion, rather than pausing all flows in the CoS. Each flow can be independently monitored and controlled, preventing unnecessary pausing of healthy flows while still managing buffer resources effectively.
Solution Approach 2:
The patent implements feedback mechanisms where the network interface device monitors queue depth for each individual flow and sends pause frames or resume frames to upstream senders based on real-time congestion status. When a flow's queue depth exceeds a threshold, a pause frame is sent; when it falls below the threshold, a resume frame is sent. This feedback loop enables dynamic, flow-specific congestion control that maintains productivity for non-congested flows while preventing buffer overflow.
3Loss of time
If per-hop and per-flow congestion control is implemented, then tail latency is reduced, but device complexity increases
Solution Approach 1:
The patent segments traffic into multiple priority queues and individual flow queues, enabling fine-grained congestion control. By organizing traffic hierarchically (CoS → priority queues → individual flows), the system achieves low tail latency through targeted control while managing complexity through structured organization. The segmentation allows independent control of each flow without requiring complex cross-flow coordination.
Solution Approach 2:
The patent implements dynamic congestion control where pause and resume frames are sent based on real-time queue depth monitoring. The system adapts its control actions dynamically - sending pause frames when queues exceed thresholds and resume frames when they fall below thresholds. This dynamic approach reduces tail latency by responding quickly to congestion conditions while avoiding the need for static, overly complex control mechanisms.
Data Source
AI summary
Examples described herein relate to a network interface device that includes data plane circuitry, when operational, to: identify a flow of packets that is a cause of queue congestion and cause transmission, to an upstream network interface device, of a packet with an identifier of a source queue in the upstream network interface device that requests reduction of transmission of packets from the source queue associated with the upstream network interface device. In some examples, the source queue is identified in a congestion causing packet by the upstream network interface device and wherein the upstream network interface device comprises a prior hop network interface device.


