Re: TCP congestion graphs (2.6.19-rc4)

2006-11-28 Thread David Miller
From: David Miller [EMAIL PROTECTED]
Date: Tue, 31 Oct 2006 17:30:28 -0800 (PST)

 From: Stephen Hemminger [EMAIL PROTECTED]
 Date: Tue, 31 Oct 2006 16:10:07 -0800
 
  On Tue, 31 Oct 2006 15:25:16 -0800
  Xiaoliang (David) Wei [EMAIL PROTECTED] 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 [EMAIL PROTECTED]
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 [EMAIL PROTECTED]

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 = 1V_PARAM_SHIFT;
-static int beta  = 3V_PARAM_SHIFT;
+static int alpha = 2V_PARAM_SHIFT;
+static int beta  = 4V_PARAM_SHIFT;
 static int gamma = 1V_PARAM_SHIFT;
 
 module_param(alpha, int, 0644);
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: TCP congestion graphs (2.6.19-rc4)

2006-11-02 Thread Stephen Hemminger
On Wed, 01 Nov 2006 21:44:18 -0800 (PST)
David Miller [EMAIL PROTECTED] wrote:

 From: Stephen Hemminger [EMAIL PROTECTED]
 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 [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: TCP congestion graphs (2.6.19-rc4)

2006-11-01 Thread David Miller
From: Stephen Hemminger [EMAIL PROTECTED]
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.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


TCP congestion graphs (2.6.19-rc4)

2006-10-31 Thread Stephen Hemminger
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.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: TCP congestion graphs (2.6.19-rc4)

2006-10-31 Thread Xiaoliang (David) Wei

On 10/31/06, Stephen Hemminger [EMAIL PROTECTED] 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, [EMAIL PROTECTED]
http://davidwei.org
***
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: TCP congestion graphs (2.6.19-rc4)

2006-10-31 Thread Stephen Hemminger
On Tue, 31 Oct 2006 15:25:16 -0800
Xiaoliang (David) Wei [EMAIL PROTECTED] wrote:

 On 10/31/06, Stephen Hemminger [EMAIL PROTECTED] 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 [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: TCP congestion graphs (2.6.19-rc4)

2006-10-31 Thread David Miller
From: Stephen Hemminger [EMAIL PROTECTED]
Date: Tue, 31 Oct 2006 16:10:07 -0800

 On Tue, 31 Oct 2006 15:25:16 -0800
 Xiaoliang (David) Wei [EMAIL PROTECTED] 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.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: TCP congestion graphs (2.6.19-rc4)

2006-10-31 Thread Evgeniy Polyakov
On Tue, Oct 31, 2006 at 05:30:28PM -0800, David Miller ([EMAIL PROTECTED]) 
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
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: TCP congestion graphs (2.6.19-rc4)

2006-10-31 Thread Stephen Hemminger
On Wed, 1 Nov 2006 08:25:00 +0300
Evgeniy Polyakov [EMAIL PROTECTED] wrote:

 On Tue, Oct 31, 2006 at 05:30:28PM -0800, David Miller ([EMAIL PROTECTED]) 
 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
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html