* Re: tcp: add NV congestion control
@ 2015-08-27 5:52 Lawrence Brakmo
0 siblings, 0 replies; 3+ messages in thread
From: Lawrence Brakmo @ 2015-08-27 5:52 UTC (permalink / raw)
To: Lawrence Brakmo, netdev
Cc: Kernel Team, Neal Cardwell, Eric Dumazet, Yuchung Cheng,
Stephen Hemminger, Kenneth Klette Jonassen
The updated NV document with the new experiments and a table with all the
experimental results are now available at
(http://www.brakmo.org/networking/tcp-nv/TCPNV.html).
- Lawrence
On 8/25/15, 4:33 PM, "Lawrence Brakmo" <brakmo@fb.com> wrote:
>Changes from v5: cleaning of NV code, changing some default parameters
>
>I've run more extensive tests, I'm working on updating the NV website
>(http://www.brakmo.org/networking/tcp-nv/TCPNV.html) should be updated
>by tomorrow (8/26).
>
>The updated tests include Reno, Cubic, NV and CDG and include more types
>of traffic. Overview of results:
>1) NV has a little lower throughput (2-3% less) with small number of flows
> as compared to Reno, Cubic and CDG
>2) NV is less fair with few flows but becomes more fair with more flows
>3) Less losses with NV (none in many cases) as compared to all others.
> One exception is when things get very congested (64 flows into one
> server), NV has 50% more losses than CDG, Cubic has 1.8x to 10x more
> losses than CDG. Reno has about the same losses as CDG.
>4) In mixed traffic (1M and 10K RPCs), 10K flows achieve much higher
> average throughput with NV than with the others (which are
> very similar). In one example, 2 clients sending 1M and 10K to 2
> servers, with NV 10K flows average 1Gbps and 1M flows 3.7Gbps,
> whereas they average about 226Mbps and 4.4Gbps for Reno, Cubic and
> CDG. They all have similar link utilization.
>
>Consists of the following patches:
>
>[RFC PATCH v6 net-next 1/4] tcp: replace cnt & rtt with struct in
>[RFC PATCH v6 net-next 2/4] tcp: refactor struct tcp_skb_cb
>[RFC PATCH v6 net-next 3/4] tcp: add in_flight to tcp_skb_cb
>[RFC PATCH v6 net-next 4/4] tcp: add NV congestion control
>
>Signed-off-by: Lawrence Brakmo <brakmo@fb.com>
>
>include/net/tcp.h | 20 ++-
>net/ipv4/Kconfig | 16 ++
>net/ipv4/Makefile | 1 +
>net/ipv4/tcp_bic.c | 6 +-
>net/ipv4/tcp_cdg.c | 14 +-
>net/ipv4/tcp_cubic.c | 6 +-
>net/ipv4/tcp_htcp.c | 10 +-
>net/ipv4/tcp_illinois.c | 20 +--
>net/ipv4/tcp_input.c | 10 +-
>net/ipv4/tcp_lp.c | 6 +-
>net/ipv4/tcp_nv.c | 489
>++++++++++++++++++++++++++++++++++++++++++++++++++++++
>net/ipv4/tcp_output.c | 4 +-
>net/ipv4/tcp_vegas.c | 6 +-
>net/ipv4/tcp_vegas.h | 2 +-
>net/ipv4/tcp_veno.c | 7 +-
>net/ipv4/tcp_westwood.c | 7 +-
>net/ipv4/tcp_yeah.c | 7 +-
>17 files changed, 580 insertions(+), 51 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
* tcp: add NV congestion control
@ 2015-08-25 23:33 Lawrence Brakmo
2015-08-26 0:19 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: Lawrence Brakmo @ 2015-08-25 23:33 UTC (permalink / raw)
To: netdev
Cc: Kernel Team, Neal Cardwell, Eric Dumazet, Yuchung Cheng,
Stephen Hemminger, Kenneth Klette Jonassen
Changes from v5: cleaning of NV code, changing some default parameters
I've run more extensive tests, I'm working on updating the NV website
(http://www.brakmo.org/networking/tcp-nv/TCPNV.html) should be updated
by tomorrow (8/26).
The updated tests include Reno, Cubic, NV and CDG and include more types
of traffic. Overview of results:
1) NV has a little lower throughput (2-3% less) with small number of flows
as compared to Reno, Cubic and CDG
2) NV is less fair with few flows but becomes more fair with more flows
3) Less losses with NV (none in many cases) as compared to all others.
One exception is when things get very congested (64 flows into one
server), NV has 50% more losses than CDG, Cubic has 1.8x to 10x more
losses than CDG. Reno has about the same losses as CDG.
4) In mixed traffic (1M and 10K RPCs), 10K flows achieve much higher
average throughput with NV than with the others (which are
very similar). In one example, 2 clients sending 1M and 10K to 2
servers, with NV 10K flows average 1Gbps and 1M flows 3.7Gbps,
whereas they average about 226Mbps and 4.4Gbps for Reno, Cubic and
CDG. They all have similar link utilization.
Consists of the following patches:
[RFC PATCH v6 net-next 1/4] tcp: replace cnt & rtt with struct in
[RFC PATCH v6 net-next 2/4] tcp: refactor struct tcp_skb_cb
[RFC PATCH v6 net-next 3/4] tcp: add in_flight to tcp_skb_cb
[RFC PATCH v6 net-next 4/4] tcp: add NV congestion control
Signed-off-by: Lawrence Brakmo <brakmo@fb.com>
include/net/tcp.h | 20 ++-
net/ipv4/Kconfig | 16 ++
net/ipv4/Makefile | 1 +
net/ipv4/tcp_bic.c | 6 +-
net/ipv4/tcp_cdg.c | 14 +-
net/ipv4/tcp_cubic.c | 6 +-
net/ipv4/tcp_htcp.c | 10 +-
net/ipv4/tcp_illinois.c | 20 +--
net/ipv4/tcp_input.c | 10 +-
net/ipv4/tcp_lp.c | 6 +-
net/ipv4/tcp_nv.c | 489 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
net/ipv4/tcp_output.c | 4 +-
net/ipv4/tcp_vegas.c | 6 +-
net/ipv4/tcp_vegas.h | 2 +-
net/ipv4/tcp_veno.c | 7 +-
net/ipv4/tcp_westwood.c | 7 +-
net/ipv4/tcp_yeah.c | 7 +-
17 files changed, 580 insertions(+), 51 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-08-27 5:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-27 5:52 tcp: add NV congestion control Lawrence Brakmo
-- strict thread matches above, loose matches on Subject: below --
2015-08-25 23:33 Lawrence Brakmo
2015-08-26 0:19 ` David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.