* TCP congestion graphs @ 2006-10-25 18:02 Stephen Hemminger 2006-10-25 22:34 ` Injong Rhee 0 siblings, 1 reply; 14+ messages in thread From: Stephen Hemminger @ 2006-10-25 18:02 UTC (permalink / raw) To: Douglas Leith, Sangtae Ha; +Cc: netdev I ran some congestion window tests against 2.6.19-rc3. For congestion window graphs see: http://developer.osdl.org/shemminger/tcp/2.6.19-rc3/ The connection was a single flow with a 500ms RTT and a 100Mbit slowest link speed. BIC OK CUBIC OK (after patch) HIGHSPEED BROKEN? HTCP OK RENO OK (massive overshoot) SCALEABLE OK VEGAS OK (no better than Reno) VENO Same as Reno? WESTWOOD Overshoot then low window Highspeed has something wrong (test glitch?) Westwood behaves poorly Veno seems no better than either Reno or Vegas in this case. The end systems were from latest git. The netem bridge is using 2.6.18-rt with a patch to netem to use hrtimers. iperf was modified to allow easy selection of congestion control. -- Stephen Hemminger <shemminger@osdl.org> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs 2006-10-25 18:02 TCP congestion graphs Stephen Hemminger @ 2006-10-25 22:34 ` Injong Rhee 2006-10-26 1:30 ` Stephen Hemminger 2006-10-31 20:00 ` TCP congestion graphs (2.6.19-rc4) Stephen Hemminger 0 siblings, 2 replies; 14+ messages in thread From: Injong Rhee @ 2006-10-25 22:34 UTC (permalink / raw) To: Stephen Hemminger, Sangtae Ha; +Cc: netdev Not sure why the slow start for cubic is slower than the others. We will check on this. ----- Original Message ----- From: "Stephen Hemminger" <shemminger@osdl.org> To: "Douglas Leith" <doug.leith@nuim.ie>; "Sangtae Ha" <sha2@ncsu.edu> Cc: <netdev@vger.kernel.org> Sent: Wednesday, October 25, 2006 2:02 PM Subject: TCP congestion graphs >I ran some congestion window tests against 2.6.19-rc3. > For congestion window graphs see: > http://developer.osdl.org/shemminger/tcp/2.6.19-rc3/ > > The connection was a single flow with a 500ms RTT and a > 100Mbit slowest link speed. > > BIC OK > CUBIC OK (after patch) > HIGHSPEED BROKEN? > HTCP OK > RENO OK (massive overshoot) > SCALEABLE OK > VEGAS OK (no better than Reno) > VENO Same as Reno? > WESTWOOD Overshoot then low window > > Highspeed has something wrong (test glitch?) > Westwood behaves poorly > Veno seems no better than either Reno or Vegas in this > case. > > The end systems were from latest git. The netem bridge is using > 2.6.18-rt with a patch to netem to use hrtimers. iperf was modified > to allow easy selection of congestion control. > > -- > Stephen Hemminger <shemminger@osdl.org> > - > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs 2006-10-25 22:34 ` Injong Rhee @ 2006-10-26 1:30 ` Stephen Hemminger 2006-10-26 18:50 ` Hagen Paul Pfeifer 2006-10-31 20:00 ` TCP congestion graphs (2.6.19-rc4) Stephen Hemminger 1 sibling, 1 reply; 14+ messages in thread From: Stephen Hemminger @ 2006-10-26 1:30 UTC (permalink / raw) To: Injong Rhee; +Cc: Sangtae Ha, netdev On Wed, 25 Oct 2006 18:34:17 -0400 "Injong Rhee" <rhee@eos.ncsu.edu> wrote: > Not sure why the slow start for cubic is slower than the others. > We will check on this. > I think it is because cubic initializes with a ssthresh of 100, and others leave ssthresh uninitialized until the first loss. This causes cubic to change to conservative mode once it crosses the initial ssthresh. Other protocols just keep doing additive increase. My large BDP test has a 500ms delay (250ms each way) and a real 100mbit link on the last hop. Because the intermediate emulator has a large queue (10,000 packets) large growth is possible before the first loss event. There were also no other flows during this test to fill the intermediate queue. This may very well be a bogus test, I just was looking for large BDP behavior quirks. Any test without background traffic as you have argued is unrealistic. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs 2006-10-26 1:30 ` Stephen Hemminger @ 2006-10-26 18:50 ` Hagen Paul Pfeifer 2006-10-26 19:36 ` Stephen Hemminger 0 siblings, 1 reply; 14+ messages in thread From: Hagen Paul Pfeifer @ 2006-10-26 18:50 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Injong Rhee, Sangtae Ha, netdev Hi Stephen, is your rt-patch to netem public available? Best regards HGN -- Signed and/or encrypted mails preferd. Key-Id = 0x98350C22 Fingerprint = 490F 557B 6C48 6D7E 5706 2EA2 4A22 8D45 9835 0C22 Key available under: www.jauu.net/download/gnupg_key ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs 2006-10-26 18:50 ` Hagen Paul Pfeifer @ 2006-10-26 19:36 ` Stephen Hemminger 0 siblings, 0 replies; 14+ messages in thread From: Stephen Hemminger @ 2006-10-26 19:36 UTC (permalink / raw) To: Hagen Paul Pfeifer; +Cc: Injong Rhee, Sangtae Ha, netdev On Thu, 26 Oct 2006 20:50:19 +0200 Hagen Paul Pfeifer <hagen@jauu.net> wrote: > Hi Stephen, > > is your rt-patch to netem public available? > > Best regards > > HGN > The tools are in the tcp directory http://developer.osdl.org/shemminger/tcp/netem-2.6.18-rt.patch -- Stephen Hemminger <shemminger@osdl.org> ^ permalink raw reply [flat|nested] 14+ messages in thread
* TCP congestion graphs (2.6.19-rc4) 2006-10-25 22:34 ` Injong Rhee 2006-10-26 1:30 ` Stephen Hemminger @ 2006-10-31 20:00 ` Stephen Hemminger 2006-10-31 23:25 ` Xiaoliang (David) Wei 1 sibling, 1 reply; 14+ messages in thread From: Stephen Hemminger @ 2006-10-31 20:00 UTC (permalink / raw) To: Injong Rhee, David S. Miller; +Cc: Sangtae Ha, netdev I reran the tests, this time using my DSL line to home (80ms 1Mbit/sec). http://developer.osdl.org/shemminger/tcp/2.6.19-rc4/dsl The only obvious problem is Vegas looks broken. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs (2.6.19-rc4) 2006-10-31 20:00 ` TCP congestion graphs (2.6.19-rc4) Stephen Hemminger @ 2006-10-31 23:25 ` Xiaoliang (David) Wei 2006-11-01 0:10 ` Stephen Hemminger 0 siblings, 1 reply; 14+ messages in thread From: Xiaoliang (David) Wei @ 2006-10-31 23:25 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Injong Rhee, David S. Miller, Sangtae Ha, netdev On 10/31/06, Stephen Hemminger <shemminger@osdl.org> wrote: > I reran the tests, this time using my DSL line to home (80ms 1Mbit/sec). > http://developer.osdl.org/shemminger/tcp/2.6.19-rc4/dsl > > The only obvious problem is Vegas looks broken. Thanks, Stephen. It seems that the default Vegas alpha parameter in the rc4 is 1... I observed similar situation with the NS2Linux simulator (with 2.6.16 code) and found that if alpha=1, delayed ack will make it broken (keeping cwnd very low without real congestion) See details at http://www.cs.caltech.edu/%7Eweixl/technical/ns2linux/known_linux/index.html#vegas (Basically alpha==1 means Vegas seeks to see a delay of about 1 packet worth. With delayed ack, 1 packet worth of delay is common even with no congestion.) To make Vegas work, I'd suggest to raise alpha to at least 2 or 3. (and beta has to be at least as large as alpha.) -David -- Xiaoliang (David) Wei Graduate Student, CS@Caltech http://davidwei.org *********************************************** ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs (2.6.19-rc4) 2006-10-31 23:25 ` Xiaoliang (David) Wei @ 2006-11-01 0:10 ` Stephen Hemminger 2006-11-01 1:30 ` David Miller 0 siblings, 1 reply; 14+ messages in thread From: Stephen Hemminger @ 2006-11-01 0:10 UTC (permalink / raw) To: Xiaoliang (David) Wei; +Cc: Injong Rhee, David S. Miller, Sangtae Ha, netdev On Tue, 31 Oct 2006 15:25:16 -0800 "Xiaoliang (David) Wei" <davidwei79@gmail.com> wrote: > On 10/31/06, Stephen Hemminger <shemminger@osdl.org> wrote: > > I reran the tests, this time using my DSL line to home (80ms 1Mbit/sec). > > http://developer.osdl.org/shemminger/tcp/2.6.19-rc4/dsl > > > > The only obvious problem is Vegas looks broken. > > Thanks, Stephen. > > It seems that the default Vegas alpha parameter in the rc4 is 1... > > I observed similar situation with the NS2Linux simulator (with 2.6.16 > code) and found that if alpha=1, delayed ack will make it broken > (keeping cwnd very low without real congestion) > > See details at http://www.cs.caltech.edu/%7Eweixl/technical/ns2linux/known_linux/index.html#vegas > > (Basically alpha==1 means Vegas seeks to see a delay of about 1 packet > worth. With delayed ack, 1 packet worth of delay is common even with > no congestion.) > > To make Vegas work, I'd suggest to raise alpha to at least 2 or 3. > (and beta has to be at least as large as alpha.) > > -David > I ran with the current default: alpha = 1 (scaled 2) beta = 3 (scaled 6) gamma = 1 (scaled 2) -- Stephen Hemminger <shemminger@osdl.org> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs (2.6.19-rc4) 2006-11-01 0:10 ` Stephen Hemminger @ 2006-11-01 1:30 ` David Miller 2006-11-01 5:25 ` Evgeniy Polyakov 2006-11-28 22:38 ` David Miller 0 siblings, 2 replies; 14+ messages in thread From: David Miller @ 2006-11-01 1:30 UTC (permalink / raw) To: shemminger; +Cc: davidwei79, rhee, sha2, netdev From: Stephen Hemminger <shemminger@osdl.org> Date: Tue, 31 Oct 2006 16:10:07 -0800 > On Tue, 31 Oct 2006 15:25:16 -0800 > "Xiaoliang (David) Wei" <davidwei79@gmail.com> wrote: > > > It seems that the default Vegas alpha parameter in the rc4 is 1... > > > > I observed similar situation with the NS2Linux simulator (with 2.6.16 > > code) and found that if alpha=1, delayed ack will make it broken > > (keeping cwnd very low without real congestion) > > > > See details at http://www.cs.caltech.edu/%7Eweixl/technical/ns2linux/known_linux/index.html#vegas > > > > (Basically alpha==1 means Vegas seeks to see a delay of about 1 packet > > worth. With delayed ack, 1 packet worth of delay is common even with > > no congestion.) > > > > To make Vegas work, I'd suggest to raise alpha to at least 2 or 3. > > (and beta has to be at least as large as alpha.) > > > > -David > > > > I ran with the current default: > alpha = 1 (scaled 2) > beta = 3 (scaled 6) > gamma = 1 (scaled 2) Testing with alpha=2 and beta=4 would be interesting. Brakmo and Peterson don't see this delayed ACK behavior in their tests in the original Vegas paper. I read through it a few times and I see no explicit mention of whether they had delayed ACKs enabled or not in any of there tests. I seem to recall that it was very popular around that time to analyze TCP changes with delayed ACKs disabled since it made the results easier to analyze (which in my opinion invalidates any such results, since in the real world you never run with delayed ACKs off). So perhaps the Vegas folks were doing something similar and just didn't think it was worth mentioning :-) BTW, Stephen, can you give a short HOWTO on how you generate those graphs, given a tcpdump trace? Thanks a lot. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs (2.6.19-rc4) 2006-11-01 1:30 ` David Miller @ 2006-11-01 5:25 ` Evgeniy Polyakov 2006-11-01 5:58 ` Stephen Hemminger 2006-11-28 22:38 ` David Miller 1 sibling, 1 reply; 14+ messages in thread From: Evgeniy Polyakov @ 2006-11-01 5:25 UTC (permalink / raw) To: David Miller; +Cc: shemminger, davidwei79, rhee, sha2, netdev On Tue, Oct 31, 2006 at 05:30:28PM -0800, David Miller (davem@davemloft.net) wrote: > BTW, Stephen, can you give a short HOWTO on how you generate those > graphs, given a tcpdump trace? Thanks a lot. That would be great. Please also describe your setup so others algos could be tested too. Thank you. -- Evgeniy Polyakov ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs (2.6.19-rc4) 2006-11-01 5:25 ` Evgeniy Polyakov @ 2006-11-01 5:58 ` Stephen Hemminger 2006-11-02 5:44 ` David Miller 0 siblings, 1 reply; 14+ messages in thread From: Stephen Hemminger @ 2006-11-01 5:58 UTC (permalink / raw) To: Evgeniy Polyakov; +Cc: David Miller, davidwei79, rhee, sha2, netdev On Wed, 1 Nov 2006 08:25:00 +0300 Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote: > On Tue, Oct 31, 2006 at 05:30:28PM -0800, David Miller (davem@davemloft.net) wrote: > > BTW, Stephen, can you give a short HOWTO on how you generate those > > graphs, given a tcpdump trace? Thanks a lot. > > That would be great. > Please also describe your setup so others algos could be tested too. > Thank you. > Some basic stuff is on the parent page http://developer.osdl.org/shemminger/tcp ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs (2.6.19-rc4) 2006-11-01 5:58 ` Stephen Hemminger @ 2006-11-02 5:44 ` David Miller 2006-11-02 19:58 ` Stephen Hemminger 0 siblings, 1 reply; 14+ messages in thread From: David Miller @ 2006-11-02 5:44 UTC (permalink / raw) To: shemminger; +Cc: johnpol, davidwei79, rhee, sha2, netdev From: Stephen Hemminger <shemminger@osdl.org> Date: Tue, 31 Oct 2006 21:58:48 -0800 > Some basic stuff is on the parent page > http://developer.osdl.org/shemminger/tcp Are you using tcptrace to generate those plots? If so are you using xplot or gnuplot to build those image files? Thanks. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs (2.6.19-rc4) 2006-11-02 5:44 ` David Miller @ 2006-11-02 19:58 ` Stephen Hemminger 0 siblings, 0 replies; 14+ messages in thread From: Stephen Hemminger @ 2006-11-02 19:58 UTC (permalink / raw) To: David Miller; +Cc: johnpol, davidwei79, rhee, sha2, netdev On Wed, 01 Nov 2006 21:44:18 -0800 (PST) David Miller <davem@davemloft.net> wrote: > From: Stephen Hemminger <shemminger@osdl.org> > Date: Tue, 31 Oct 2006 21:58:48 -0800 > > > Some basic stuff is on the parent page > > http://developer.osdl.org/shemminger/tcp > > Are you using tcptrace to generate those plots? > If so are you using xplot or gnuplot to build those > image files? > Description now up on linux-net http://linux-net.osdl.org/index.php/TCP_testing I use tcpprobe kernel module because you can't directly see congestion window from packet captures. -- Stephen Hemminger <shemminger@osdl.org> ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: TCP congestion graphs (2.6.19-rc4) 2006-11-01 1:30 ` David Miller 2006-11-01 5:25 ` Evgeniy Polyakov @ 2006-11-28 22:38 ` David Miller 1 sibling, 0 replies; 14+ messages in thread From: David Miller @ 2006-11-28 22:38 UTC (permalink / raw) To: shemminger; +Cc: davidwei79, rhee, sha2, netdev From: David Miller <davem@davemloft.net> Date: Tue, 31 Oct 2006 17:30:28 -0800 (PST) > From: Stephen Hemminger <shemminger@osdl.org> > Date: Tue, 31 Oct 2006 16:10:07 -0800 > > > On Tue, 31 Oct 2006 15:25:16 -0800 > > "Xiaoliang (David) Wei" <davidwei79@gmail.com> wrote: > > > > > It seems that the default Vegas alpha parameter in the rc4 is 1... > > > > > > I observed similar situation with the NS2Linux simulator (with 2.6.16 > > > code) and found that if alpha=1, delayed ack will make it broken > > > (keeping cwnd very low without real congestion) > > > > > > See details at http://www.cs.caltech.edu/%7Eweixl/technical/ns2linux/known_linux/index.html#vegas > > > > > > (Basically alpha==1 means Vegas seeks to see a delay of about 1 packet > > > worth. With delayed ack, 1 packet worth of delay is common even with > > > no congestion.) > > > > > > To make Vegas work, I'd suggest to raise alpha to at least 2 or 3. > > > (and beta has to be at least as large as alpha.) > > > > > > -David > > > > > > > I ran with the current default: > > alpha = 1 (scaled 2) > > beta = 3 (scaled 6) > > gamma = 1 (scaled 2) > > Testing with alpha=2 and beta=4 would be interesting. Instead of letting this issue rot, I've checked the following into net-2.6.20 commit cd7f265b9069d8fd66a33d37139821f84ef04f0e Author: David S. Miller <davem@sunset.davemloft.net> Date: Tue Nov 28 14:37:38 2006 -0800 [TCP] Vegas: Increase default alpha to 2 and beta to 4. This helps Vegas cope better with delayed ACKs, see analysis at: http://www.cs.caltech.edu/%7Eweixl/technical/ns2linux/known_linux/index.html#vegas Signed-off-by: David S. Miller <davem@davemloft.net> diff --git a/net/ipv4/tcp_vegas.c b/net/ipv4/tcp_vegas.c index a3b7aa0..ddc4bcc 100644 --- a/net/ipv4/tcp_vegas.c +++ b/net/ipv4/tcp_vegas.c @@ -42,8 +42,8 @@ #include <net/tcp.h> * with V_PARAM_SHIFT bits to the right of the binary point. */ #define V_PARAM_SHIFT 1 -static int alpha = 1<<V_PARAM_SHIFT; -static int beta = 3<<V_PARAM_SHIFT; +static int alpha = 2<<V_PARAM_SHIFT; +static int beta = 4<<V_PARAM_SHIFT; static int gamma = 1<<V_PARAM_SHIFT; module_param(alpha, int, 0644); ^ permalink raw reply related [flat|nested] 14+ messages in thread
end of thread, other threads:[~2006-11-28 22:38 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-10-25 18:02 TCP congestion graphs Stephen Hemminger 2006-10-25 22:34 ` Injong Rhee 2006-10-26 1:30 ` Stephen Hemminger 2006-10-26 18:50 ` Hagen Paul Pfeifer 2006-10-26 19:36 ` Stephen Hemminger 2006-10-31 20:00 ` TCP congestion graphs (2.6.19-rc4) Stephen Hemminger 2006-10-31 23:25 ` Xiaoliang (David) Wei 2006-11-01 0:10 ` Stephen Hemminger 2006-11-01 1:30 ` David Miller 2006-11-01 5:25 ` Evgeniy Polyakov 2006-11-01 5:58 ` Stephen Hemminger 2006-11-02 5:44 ` David Miller 2006-11-02 19:58 ` Stephen Hemminger 2006-11-28 22:38 ` David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).