Abstract:
In one implementation, an input queue switch provides latency fairness across multiple input ports and multiple output ports. In one embodiment, each input port maintains a virtual output queue for each associate output port. The virtual output queues across multiple inputs are aggregated for each specific output port. The sum of the lengths of the virtual output queues is compared to a threshold, and based on the comparison, feedback may be generated to control the operation of the input port for subsequent packets. The feedback may instruct the input port to stop buffering or drop packets destined for the output port with the sum of the lengths of the virtual output queues associated to the specific output port that exceeds the threshold. In another embodiment, each packet has an arrival timestamp, and a virtual output queue having the oldest timestamp is selected first to dequeue.
Abstract:
In one implementation, a network device is configured to implement an intra switch transport protocol. The intra switch transport protocol is configured to determine a window size according to a predetermined bandwidth and a round trip time between a plurality of ingress ports and an egress port. The network device is configured to sending at least one data packet from an ingress port to an egress port without first receiving any acknowledgement from the egress port. The network device continues to send packets and increment a counter accordingly until the counter reaches the window size. The network device ceases transmission of subsequent data packets and/or queues subsequent data packets based on the counter exceeding the window size.
Abstract:
In one implementation, a network device is configured to implement an intra switch transport protocol. The intra switch transport protocol is configured to determine a maximum window size according to a predetermined bandwidth and a round trip time between a plurality of ingress ports and an egress port. The network device is configured to calculate an assigned window value for the one of the plurality of ingress ports based on the maximum window size and generate an acknowledgment message including the assigned window value for the one of the plurality of ingress ports, and to delay successive acknowledgement messages according to fabric congestion and egress port occupancy.
Abstract:
In one implementation, an input queue switch provides latency fairness across multiple input ports and multiple output ports. In one embodiment, each input port maintains a virtual output queue for each associate output port. The virtual output queues across multiple inputs are aggregated for each specific output port. The sum of the lengths of the virtual output queues is compared to a threshold, and based on the comparison, feedback may be generated to control the operation of the input port for subsequent packets. The feedback may instruct the input port to stop buffering or drop packets destined for the output port with the sum of the lengths of the virtual output queues associated to the specific output port that exceeds the threshold. In another embodiment, each packet has an arrival timestamp, and a virtual output queue having the oldest timestamp is selected first to dequeue.
Abstract:
In one implementation, a network device is configured to implement an intra switch transport protocol. The intra switch transport protocol is configured to determine a maximum window size according to a predetermined bandwidth and a round trip time between a plurality of ingress ports and an egress port. The network device is configured to calculate an assigned window value for the one of the plurality of ingress ports based on the maximum window size and generate an acknowledgment message including the assigned window value for the one of the plurality of ingress ports, and to delay successive acknowledgement messages according to fabric congestion and egress port occupancy.
Abstract:
In one implementation, a series of nodes in a network or a fabric communicate congestion values upstream against the flow of data packets. A current node determines average data intensity for each of a set of outputs. The average data intensity is based on recent data packet transmissions respectively to each of the set of outputs. The current node receives an output congestion value from each of the set of outputs and calculates an effective congestion value for each of the plurality of outputs as a function of the output congestion value and the average data intensity. The current node performs a comparison of the effective congestion values for the plurality of outputs and selects an output based on the comparison.
Abstract:
In one implementation, a network device is configured to implement an intra switch transport protocol. The intra switch transport protocol is configured to determine a window size according to a predetermined bandwidth and a round trip time between a plurality of ingress ports and an egress port. The network device is configured to sending at least one data packet from an ingress port to an egress port without first receiving any acknowledgement from the egress port. The network device continues to send packets and increment a counter accordingly until the counter reaches the window size. The network device ceases transmission of subsequent data packets and/or queues subsequent data packets based on the counter exceeding the window size.
Abstract:
In one implementation, a series of nodes in a network or a fabric communicate congestion values upstream against the flow of data packets. A current node determines average data intensity for each of a set of outputs. The average data intensity is based on recent data packet transmissions respectively to each of the set of outputs. The current node receives an output congestion value from each of the set of outputs and calculates an effective congestion value for each of the plurality of outputs as a function of the output congestion value and the average data intensity. The current node performs a comparison of the effective congestion values for the plurality of outputs and selects an output based on the comparison.