Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Aug 2007 11:38:15 -0400
From:      Mark Allman <mallman@icir.org>
To:        Randall Stewart <rrs@cisco.com>
Cc:        James Healy <jhealy@swin.edu.au>, freebsd-net@freebsd.org, Andrew <andybrand@swin.edu.au>
Subject:   Re: Odd congestion window behaviour [ was: Draft email to freebsd-net ] 
Message-ID:  <20070831153815.C7D3E294405@lawyers.icir.org>
In-Reply-To: <469CA4F3.4080302@cisco.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
--=_bOundary
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline


Sorry, I am way behind.

> IMO if you want to follow the true spirit of RFC3390 and RFC2581 then
> yes.. you should ONLY use RFC3390 (or 2581) to set your initial
> cwnd.
> 
> I am adding Mark Allman on this to get his opinion.. Mark, here
> is your big chance to chime in on something that has had your
> name in comments in FreeBSD code for years...
> 
> Basically let me referesh your memory in case you are not on
> net@freebsd.org (or you can go look at the thread).
> 
> Currently FreeBSD will dig into its hostcache and set the
> cwnd of a new connection to the previous value with some constraints..
> 
> James posted these a fe days ago when noting funny behavior.
> 
> I chimed in and said really IMO using the previous cwnd
> of old connections is NOT a good idea.. (I can see using
> the previous ssthresh.. but not cwnd).. and it is exactly
> why our SCTP implementation DOES NOT do this..
> 
> What do you think Mark (since your name is in the comments
> to justify this action)..

I am not sure I follow this.  The place where I know my name is (was) in
the code is about spurious RTOs, not caching CC state between
connections.

In general, I think caching CC state between connections can be useful.
But, one needs to be careful on how you do it and there is (as far as I
know), no well vetted and specified way to cache CC state.  I.e., if
some connection uses a cwnd of X bytes and then ends and another
connection comes along.... (a) Can that connection just use a cwnd of X
bytes?  (b) Does it matter how long after the first connection ends that
the second connection is initiated?  (c) If it matters, how long should
we view the cwnd of X as being valid?  (d) Should the value of X decay?
(e) Should a TCP doing this be required to pace to mitigate the
burstiness of simply starting with a big cwnd?  Etc.  So, it seems to me
that there are really lots of questions that need to be carefully
thought about and answered before one used such a scheme.  That said, I
do support the general concept and wish someone would write down some
specifics that the community could agree to.

allman




--=_bOundary
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFG2DXnWyrrWs4yIs4RAiGvAJ9KLopaXbhkRHQkXB4aNEMkeqSZjACfR63M
pvwgCtQ1sno23Hx+Hf7Tnig=
=RQ+6
-----END PGP SIGNATURE-----
--=_bOundary--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070831153815.C7D3E294405>