Methods and apparatus for multi-path flow control within a multi-stage switch fabric
First Claim
1. An apparatus, comprising:
- a first switch associated with a stage of a switch fabric, the first switch configured to receive a first data unit having a destination address of a destination device from a source device, the first switch configured to store the first data unit in a queue,the first switch configured to define a message when an available capacity of the queue falls below a predetermined capacity threshold,the first switch configured to include a congestion root indicator in the message, the congestion root indicator indicating that the first switch is a congestion root, when the available capacity of the queue is decreasing and the first switch is sending data units substantially at a maximum rate,the first switch configured to include a congestion victim indicator in the message, the congestion victim indicator indicating that the first switch is a victim of congestion, when the available capacity of the queue is decreasing and the first switch is sending data units at a rate below the maximum rate,the first switch configured to send the message to the source device such that (1) the source device sends a second data packet having the destination address of the destination device to a second switch associated with the stage of the switch fabric and not to the first switch when the message includes the congestion root indicator, and (2) the source device reduces a data rate at which data packets of a data flow associated with the destination address are sent from the source device when the message includes the congestion victim 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.
156 Citations
16 Claims
-
1. An apparatus, comprising:
-
a first switch associated with a stage of a switch fabric, the first switch configured to receive a first data unit having a destination address of a destination device from a source device, the first switch configured to store the first data unit in a queue, the first switch configured to define a message when an available capacity of the queue falls below a predetermined capacity threshold, the first switch configured to include a congestion root indicator in the message, the congestion root indicator indicating that the first switch is a congestion root, when the available capacity of the queue is decreasing and the first switch is sending data units substantially at a maximum rate, the first switch configured to include a congestion victim indicator in the message, the congestion victim indicator indicating that the first switch is a victim of congestion, when the available capacity of the queue is decreasing and the first switch is sending data units at a rate below the maximum rate, the first switch configured to send the message to the source device such that (1) the source device sends a second data packet having the destination address of the destination device to a second switch associated with the stage of the switch fabric and not to the first switch when the message includes the congestion root indicator, and (2) the source device reduces a data rate at which data packets of a data flow associated with the destination address are sent from the source device when the message includes the congestion victim indicator. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus, comprising:
-
a switch associated with a stage of a switch fabric, the switch configured to receive a data unit having a destination address of a destination device from a source device, the switch configured to store the data unit in a queue, the switch configured to define a message when an available capacity of the queue falls below a predetermined capacity threshold, the switch configured to include a congestion victim indicator indicating that the first switch is a congestion victim, in the message when a rate at which the switch sends data units is below a maximum rate, the switch configured to include a congestion root indicator indicating that the first switch is a congestion root, in the message when the rate at which the switch sends data units is equivalent to or above the maximum rate; the switch configured to send the message to the source device such that the source device reduces a rate of data units sent to the destination device in response to the message without sending any data unit having the destination address of the destination device to an alternative switch when the message includes the congestion victim indicator. - View Dependent Claims (7, 8, 9, 10)
-
-
11. 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, from a source device and at a switch from a plurality of switches associated with a stage of a switch fabric, a first data unit having a destination address of a destination device; store the first data unit in a queue; define a message when an available capacity of the queue falls below a predetermined capacity′
threshold, the message defined to include a congestion status indicator in the message based at least in part on a rate at which the switch sends data units, the congestion status indicator being a congestion root indicator indicating that the switch from the plurality of switches is a congestion root when the switch is sending data units substantially at a maximum rate, the congestion status indicator being a congestion victim indicator indicating that the switch from the plurality of switches is a congestion victim when the switch is sending data units at a rate below the maximum rate; andsend the message to the source device such that the source device (1) modifies a header of a second data unit associated with a data flow associated with the switch when the message includes the congestion root indicator, and (2) reduces a data rate at which data packets of a data flow associated with the destination address are sent from the source device when the message includes the congestion victim indicator. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification