Flow Control Module for Multi-Stage Switch Fabric Congestion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing flow control protocols, such as Ethernet pause and quantized congestion notification, are inadequate in managing congestion in multi-stage switch fabrics, particularly during rapid data bursts, leading to head-of-line blocking and buffer overflow issues.
Innovation Solution
A flow control module that monitors the available capacity of output queues in a multi-stage switch fabric and sends flow control signals to edge devices based on predefined thresholds, regulating data flow by adjusting packet transmission rates and using out-of-band signaling to maintain low latency and avoid disrupting normal data flow.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If known flow control protocols (Ethernet pause, QCN) are used to manage congestion, then buffer overflow is reduced in some applications, but congestion issues in multi-stage queues and rapid onset congestion from data bursts are not adequately resolved
Solution Approach 1:
The patent changes the parameter of flow control signal transmission from in-band (within data channels) to out-of-band (separate control channels). This allows flow control signals to be transmitted independently from data traffic, enabling rapid response to congestion conditions in multi-stage queues without being affected by data burst patterns that overwhelm in-band protocols like Ethernet pause and QCN
Solution Approach 2:
The patent introduces an intermediary flow control mechanism that operates at the switch fabric level between edge devices and core switching elements. This intermediary layer monitors queue depths and transmits flow control signals through dedicated control paths, bridging the gap between edge device flow control and core switch queue management, thereby resolving congestion in multi-stage architectures where traditional protocols fail
2Reliability
If flow control signals are sent to regulate data flow, then congestion is mitigated and buffer overflow is reduced, but latency may increase due to additional signaling overhead
Solution Approach 1:
The patent implements preliminary action by monitoring queue depth thresholds and preparing flow control signals before actual buffer overflow occurs. The system proactively transmits flow control signals when queues approach capacity levels, preventing congestion rather than reacting to it, thereby reducing the need for reactive packet dropping and retransmission delays that会增加 latency
Solution Approach 2:
The patent replaces the mechanical/data-plane approach of traditional flow control (where flow control information is embedded within or alongside data packets) with a control-plane approach using separate out-of-band signaling channels. This substitution allows flow control signals to be transmitted independently and immediately without waiting for data packet cycles, reducing signaling latency while maintaining effective congestion mitigation
3Reliability
If multiple flow control thresholds are used to regulate data packets at different rates, then congestion is more effectively managed, but device complexity increases
Solution Approach 1:
The patent segments the flow control mechanism into distinct threshold levels (first threshold, second threshold, etc.) with different corresponding data packet reception rates. This segmentation allows the system to apply different flow control intensities based on queue depth, providing precise congestion management across varying load conditions while keeping each threshold comparison simple and independent, thereby managing complexity through modular design
Data Source
AI summary
In some embodiments, an apparatus includes a flow control module configured to receive a first data packet from an output queue of a stage of a multi-stage switch at a first rate when an available capacity of the output queue crosses a first threshold. The flow control module is configured to receive a second data packet from the output queue of the stage of the multi-stage switch at a second rate when the available capacity of the output queue crosses a second threshold. The flow control module configured to send a flow control signal to an edge device of the multi-stage switch from which the first data packet or the second data packet entered the multi-stage switch.


