lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 22 Mar 2011 12:34:56 +0100 From: Lucas Nussbaum <lucas.nussbaum@...ia.fr> To: Stephen Hemminger <shemminger@...tta.com> Cc: "David S\. Miller" <davem@...emloft.net>, netdev@...r.kernel.org Subject: Re: [PATCH 0/7] TCP CUBIC Hystart fixes On 14/03/11 at 10:52 -0700, Stephen Hemminger wrote: > This is the merge of my patches and recent update Sangtae. > It addresses the problems reported by Lucas Nussbaum that Hystart causes > poor startup performance over links with lots of buffering. Hi, I've tested the patches, and they work fine. Here are some results (gigabit link, RTT=11ms). Without the patches, hystart disabled: Segments (cwnd, ssthresh) 2500 ++-----------+-------------+------------+-------------+-----------++ + + + + snd_cwnd ****** + | snd_ssthresh ###### | 2000 ++ ************************************************* ++ | ** | | * | | * | 1500 ++ * ++ | * | | * | 1000 ++ * ++ | ** | | * | | * | 500 ++ * ++ | ** | + ** + + + + + 0 ++-***####################################################--------++ 0 0.5 1 1.5 2 2.5 time (seconds) Without the patches, hystart enabled: Segments (cwnd, ssthresh) 300 ++------------+------------+-------------+------------+------------++ + + + + snd_cwnd ****** + | ***snd_ssthresh ###### | 250 ++ *********************** ++ | ******************################################### | | * | 200 ++ * ++ | * | 150 ++ * ++ | * | | * | 100 ++ ** ++ | *# | | *# | 50 ++ *# ++ | **# | + ** # + + + + + 0 ++-*###-------+------------+-------------+------------+------------++ 0 0.5 1 1.5 2 2.5 time (seconds) Note how slow start ends very early (~ 230 segments), resulting in poor performance. With the patches, hystart enabled, run 1: Segments (cwnd, ssthresh) 2500 ++-----+-------+------+-------+------+-------+------+-------+-----++ + + + + + + + snd_cwnd ****** + | snd_ssthresh ###### | 2000 ++ ********************************************************* ++ | * | | * | | * | 1500 ++ * ++ | * | | ** | 1000 ++ * ++ | * | | * | | * | 500 ++ * ++ | ** | + * + + + + + + + + + 0 ++**##########################################################----++ 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 time (seconds) There's no perceived delay increase, but also no losses. The NIC sends data at line rate without congestion. we don't exit slow start, but that's fine: With the patch, hystart enabled, run 2: (that's the most frequent situation) Segments (cwnd, ssthresh) 2500 ++-----+-------+------+-------+------+-------+------+-------+-----++ + + + + + + + snd_cwnd ****** + | snd_ssthresh ###### | 2000 ++ ******************************************************** ++ | *# | | *# | | *# | 1500 ++ *# ++ | *# | | *# | 1000 ++ **# ++ | * # | | * # | | * # | 500 ++ ** # ++ | * # | + ** # + + + + + + + + 0 ++**####-------+------+-------+------+-------+------+-------+-----++ 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 time (seconds) Hystart detects a delay increase, so we exit slow start, but at a reasonable point. Hystart works fine in that case. (no impact on performance). With the patch, hystart enabled, run 3: Segments (cwnd, ssthresh) 2500 ++-----+-------+------+-------+------+-------+------+-------+-----++ + + + + + + + snd_cwnd ****** + | snd_ssthresh ###### | 2000 ++ ******************************************************* ++ | * | | ** | | * | 1500 ++ **####################################################### ++ | *# | | *# | 1000 ++ *# ++ | *# | | **# | | * # | 500 ++ * # ++ | * # | + ** #+ + + + + + + + + 0 ++**###+-------+------+-------+------+-------+------+-------+-----++ 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 time (seconds) Hystart causes slow start to end a bit too early, but late enough not to affect performance significantly. Hystart behaves fine in that case too. Tested-By: Lucas Nussbaum <lucas.nussbaum@...ia.fr> -- | Lucas Nussbaum MCF Université Nancy 2 | | lucas.nussbaum@...ia.fr LORIA / AlGorille | | http://www.loria.fr/~lnussbau/ +33 3 54 95 86 19 | -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists