Congestion control
Examples described herein relate to a network interface device that is to adjust a transmission rate of packets based on a number of flows contributing to congestion and/or based on whether latency is increasing or decreasing. In some examples, adjusting the transmission rate of packets based on a number of flows contributing to congestion comprises adjust an additive increase (AI) parameter based on the number of flows contributing to congestion. In some examples, latency is based on a measured roundtrip time and a baseline roundtrip time.
1 . An apparatus comprising:
a network interface device comprising:
circuitry to adjust a transmission rate of packets based on a number of multiple flows contributing to congestion;
a direct memory access (DMA) circuitry;
a host interface; and
a network interface, wherein the adjust the transmission rate based on the number of flows contributing to congestion comprises adjust an additive increase parameter based on the number of multiple flows contributing to congestion and wherein the adjust the transmission rate based on the number of multiple flows contributing to congestion comprises adjust a congestion window size based on the additive increase parameter and the number of multiple flows contributing to congestion.
2 . The apparatus of claim 1 , wherein the number of multiple flows contributing to congestion is received in a packet header field from a network interface device that detected the congestion.
3 . The apparatus of claim 1 , wherein the circuitry is to adjust a congestion window size based on a difference between round trip time (RTT) and a baseline RTT.
4 . The apparatus of claim 3 , wherein the RTT is based on a difference between packet transmit time and time of received acknowledgement (ACK).
5 . The apparatus of claim 3 , wherein the adjust the congestion window size comprises increase the congestion window size based on a first threshold.
6 . The apparatus of claim 3 , wherein the adjust the congestion window size comprises set the congestion window to a congestion window value based on the difference being more than a first threshold and less than a second threshold.
7 . The apparatus of claim 3 , wherein the adjust the congestion window size comprises decrease the congestion window size based on a second threshold.
8 . The apparatus of claim 1 , wherein the circuitry comprises a programmable packet processing pipeline that comprises one or more match-action units (MAUs).
9 . The apparatus of claim 1 , comprising a server comprising at least one processor to execute a driver to configure the circuitry to adjust a packet transmission rate based on the number of multiple flows contributing to congestion.
10 . The apparatus of claim 9 , comprising a datacenter comprising the server and a second server, wherein the second server is to received transmitted packets from the network interface device.
11 . An apparatus comprising:
a network interface device comprising:
a direct memory access (DMA) circuitry;
a host interface;
a network interface; and
circuitry to adjust a transmit rate of packets of a flow based on whether latency is increasing or decreasing, a number of multiple flows contributing to congestion, wherein the adjust the transmit rate of packets of the flow comprises adjust a congestion window size based on an additive increase (AI) parameter and the number of multiple flows contributing to congestion.
12 . The apparatus of claim 11 , wherein the latency is based on a measured roundtrip time and a baseline roundtrip time.
13 . At least one non-transitory computer-readable medium comprising instructions stored thereon, which when executed by one or more processors, cause the one or more processors to:
configure a network interface device to adjust a transmission rate of packets based on a number of multiple flows contributing to congestion and/or based on whether latency is increasing or decreasing, wherein:
the network interface device comprises a direct memory access (DMA) circuitry; a host interface; and a network interface, and
the adjust the transmission rate of packets based on the number of multiple flows contributing to congestion comprises adjust a congestion window size based on an additive increase (AI) parameter and based on the number of multiple flows contributing to congestion.
14 . The computer-readable medium of claim 13 , comprising instructions stored thereon, which when executed by one or more processors, cause the one or more processors to:
configure the network interface device to adjust a congestion window size based on a determined difference of round trip time (RTT) relative to a baseline RTT.
15 . The computer-readable medium of claim 13 , wherein the latency is based on a measured roundtrip time and a baseline roundtrip time.
16 . The apparatus of claim 1 , wherein the additive increase parameter is consistent with High Precision Congestion Control (HPCC).
17 . The apparatus of claim 12 , wherein:
the baseline roundtrip time comprises a roundtrip time of an uncongested network and
the circuitry to adjust the transmit rate of packets of the flow based on whether latency is increasing or decreasing by adjusting the congestion window size towards a target congestion window value.