Methods and apparatus for multi-path flow control within a multi-stage switch fabric
First Claim
1. An apparatus, comprising:
- a first switch from a plurality of switches associated with a stage of a switch fabric, the first switch configured to receive a first data packet having a destination address of a destination device from a source device, the first switch configured to store the first data packet in a queue,the first switch configured to define a message based on the queue having an available capacity less than a threshold, the first switch configured to include a congestion root indicator in the message if the available capacity of the queue is decreasing and the first switch is sending data packets at substantially a maximum rate, the first switch is configured to not include the congestion root indicator in the message if the first switch is sending data packets at a rate substantially less than the maximum rate, the first switch configured to send the message to the source device such that the source device sends a second data packet having the destination address of the destination device to a second switch from the plurality of switches and not to the first switch from the plurality of switches if the message includes the congestion root indicator.
1 Assignment
0 Petitions
Accused Products
Abstract
In some embodiments, an apparatus comprises a switch from a set of switches associated with a stage of a multi-stage switch fabric. The switch is configured to receive a data packet having a destination address of a destination device from a source device, and then store the data packet in a queue of the switch. The switch is configured to define a message based on the queue having an available capacity less than a threshold, and include a congestion root indicator in the message if the switch is a congestion root. The switch is then configured to send the message to the source device such that the source device sends another data packet having the destination address of the destination device to another switch from the set of switches and not to the previous switch if the message includes the congestion root indicator.
-
Citations
20 Claims
-
1. An apparatus, comprising:
-
a first switch from a plurality of switches associated with a stage of a switch fabric, the first switch configured to receive a first data packet having a destination address of a destination device from a source device, the first switch configured to store the first data packet in a queue, the first switch configured to define a message based on the queue having an available capacity less than a threshold, the first switch configured to include a congestion root indicator in the message if the available capacity of the queue is decreasing and the first switch is sending data packets at substantially a maximum rate, the first switch is configured to not include the congestion root indicator in the message if the first switch is sending data packets at a rate substantially less than the maximum rate, the first switch configured to send the message to the source device such that the source device sends a second data packet having the destination address of the destination device to a second switch from the plurality of switches and not to the first switch from the plurality of switches if the message includes the congestion root indicator. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
-
receive, at a switch within a switch fabric, a data packet associated with a data flow between a source device and a destination device; store the data packet in a queue of the switch; select the data packet from a plurality of data packets in the queue if an available capacity of the queue is less than a threshold; define a message including at least a portion of a header of the data packet and an indicator of a flow control status of the switch, the indicator indicates that the switch is a congestion root if the available capacity of the queue is decreasing and the switch is sending data packets at substantially a maximum rate, the indicator indicates that the switch is a congestion victim and not a congestion root if the available capacity of the queue is decreasing and the switch is not sending data packets at substantially the maximum rate; and send the message from the switch to the source device such that the source device modifies the data flow based on the at least the portion of the header of the data packet and the indicator of the flow control status of the switch. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus, comprising:
-
a source device configured to send a first data packet to a destination device via a multi-stage switch fabric having a plurality of switches associated with a stage of the multi-stage switch fabric, the source device configured to receive a message from a switch from the plurality of switches in response to the switch receiving the first data packet, the source device configured to define a header of a second data packet to be sent to the destination device in response to the message such that the header of the second data packet is different than a header of the first data packet and the second data packet is configured to be more likely sent to the destination device via a remaining switch from the plurality of switches than the first data packet if the message indicates that a number of data packets in a queue at the switch is increasing and the switch is sending data packets at substantially a maximum rate. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification