Methods for congestion mitigation in infiniband
First Claim
1. A method for optimizing data transmission in a data transfer system, the data transfer system including a transmitting device that transmits data to a receiving device through a switch, comprising:
- monitoring data transfer congestion in a buffer of the switch, the monitoring including marking the data when data transfer congestion is detected;
if data transfer congestion is detected,marking an acknowledgement (ACK) data after the marked data is received by the receiving device;
transmitting the ACK data from the receiving device to the transmitting device; and
adjusting a data transfer rate between the transmitting device and the receiving device based on data transfer congestion, the adjusting a data transfer rate including increasing the data transfer rate when the ACK data is not marked and decreasing the data transfer rate when the ACK data is marked;
wherein decreasing the data transfer rate is defined by using the following equation;
CRL′
=actual rate−
K*(rate of packets covered by ACK),where CRL′
is a new congestion rate limit;
where actual rate is an actual rate of issue of data.
9 Assignments
0 Petitions
Accused Products
Abstract
A method for optimizing data transmission in a data transfer system is provided where the data transfer system includes a transmitting device that transmits data to a receiving device through a switch. The method includes monitoring data transfer congestion in a buffer of the switch. The monitoring includes marking the data when data transfer congestion is detected. If data transfer congestion is detected, the method includes marking an acknowledgement (ACK) data after the marked data is received by the receiving device. The method further includes transmitting the ACK data from the receiving device to the transmitting device. The method also includes adjusting a data transfer rate between the transmitting device and the receiving device based on data transfer congestion. Monitoring data transfer congestion includes marking the data according to a probability corresponding to a percentage of time that the buffer is full.
166 Citations
23 Claims
-
1. A method for optimizing data transmission in a data transfer system, the data transfer system including a transmitting device that transmits data to a receiving device through a switch, comprising:
-
monitoring data transfer congestion in a buffer of the switch, the monitoring including marking the data when data transfer congestion is detected; if data transfer congestion is detected, marking an acknowledgement (ACK) data after the marked data is received by the receiving device; transmitting the ACK data from the receiving device to the transmitting device; and adjusting a data transfer rate between the transmitting device and the receiving device based on data transfer congestion, the adjusting a data transfer rate including increasing the data transfer rate when the ACK data is not marked and decreasing the data transfer rate when the ACK data is marked; wherein decreasing the data transfer rate is defined by using the following equation;
CRL′
=actual rate−
K*(rate of packets covered by ACK),where CRL′
is a new congestion rate limit;where actual rate is an actual rate of issue of data. - View Dependent Claims (2)
-
-
3. A method for optimizing data transmission in a data transfer system, the data transfer system including a transmitting device that transmits data to a receiving device through a switch, comprising:
-
monitoring data transfer congestion in a buffer of the switch, the monitoring including marking the data when data transfer congestion is detected, the monitoring data transfer congestion including marking the data according to a probability corresponding to a percentage of time that the buffer is full; if data transfer congestion is detected, marking an acknowledgement (ACK) data after the marked data is received by the receiving device; transmitting the ACK data from the receiving device to the transmitting device; if the ACK data is marked, decreasing a data transfer rate multiplicatively between the transmitting device and the receiving device; and if the ACK data is unmarked, increasing the data transfer rate additively between the transmitting device and the receiving device; wherein decreasing the data transfer rate is defined by using the following equation;
CRL′
=actual rate−
K*(rate of packets covered by ACK). - View Dependent Claims (4, 5, 6, 7, 8, 9)
-
-
10. A method for optimizing data transmission in a data transfer system, the data transfer system including a transmitting device that transmits data to a receiving device through a switch, comprising:
-
monitoring data transfer congestion in a buffer of the switch, the monitoring including marking the data when data transfer congestion is detected, the monitoring data transfer congestion including marking the data according to a probability corresponding to a percentage of time that the buffer is full; if data transfer congestion is detected, marking an acknowledgement (ACK) data after the marked data is received by the receiving device; transmitting the ACK data from the receiving device to the transmitting device; if the ACK data is marked, decreasing a data transfer rate multiplicatively between the transmitting device and the receiving device; and if the ACK data is unmarked, increasing the data transfer rate additively between the transmitting device and the receiving device; wherein increasing the data transfer rate which occurs when a congestion rate limit (CRL) is greater than a slow start rate threshold (SSRT) value is defined by using the following equation;
CRL′
=CRL+(BR/CRL)*BR. - View Dependent Claims (11, 12, 13)
-
-
14. A method for optimizing data transmission in a data transfer system, the data transfer system including a transmitting device that transmits data to a receiving device through a switch, comprising:
-
monitoring data transfer congestion in a buffer of the switch, the monitoring including marking the data when data transfer congestion is detected, the monitoring data transfer congestion including marking the data according to a probability corresponding to a percentage of time that the buffer is full; if data transfer congestion is detected, marking an acknowledgement (ACK) data after the marked data is received by the receiving device; transmitting the ACK data from the receiving device to the transmitting device; if the ACK data is marked, decreasing a data transfer rate multiplicatively between the transmitting device and the receiving device; and if the ACK data is unmarked, increasing the data transfer rate additively between the transmitting device and the receiving device; wherein decreasing the data transfer rate is defined by the following equation;
CWND′
=Bytes in flight−
K*(bytes covered by ACK). - View Dependent Claims (15, 16, 17)
-
-
18. An Infiniband switch to be used in a network system, the Infiniband switch defining a connection between a transmitting device and a receiving device, the Infiniband switch comprising:
-
an input buffer for receiving data from the transmitting device; an output buffer for receiving data from the input buffer and delivering the data to the receiving device; firmware having processing logic for monitoring congestion at the output buffer, the processing logic being configured to mark the data being communicated to the receiving device according to probability that congestion exists, the receiving device being configured to mark acknowledgement packets being communicated to the transmitting device when the data is marked, the transmitting device being configured to decrease data transmission rate upon receipt of marked acknowledgement packets and increase data transmission rate upon receipt of un-marked acknowledgement packets; wherein the transmitting device decreases data transmission as defined by the following equation;
CRL′
=actual rate−
K*(rate of packets covered by ACK). - View Dependent Claims (19, 20)
-
-
21. An Infiniband switch to be used in a network system, the Infiniband switch defining a connection between a transmitting device and a receiving device, the Infiniband switch comprising:
-
an input buffer for receiving data from the transmitting device; an output buffer for receiving data from the input buffer and delivering the data to the receiving device; firmware having processing logic for monitoring congestion at the output buffer, the processing logic being configured to mark the data being communicated to the receiving device according to probability that congestion exists, the receiving device being configured to mark acknowledgement packets being communicated to the transmitting device when the data is marked, the transmitting device being configured to decrease data transmission rate upon receipt of marked acknowledgement packets and increase data transmission rate upon receipt of un-marked acknowledgement packets; wherein the transmitting device decreases data transmission as defined by the following equation;
CWND′
=Bytes in flight−
K*(bytes covered by ACK). - View Dependent Claims (22, 23)
-
Specification