[Iccrg] Initial value of dwnd

Lachlan Andrew lachlan.andrew at gmail.com
Thu Dec 4 04:32:21 GMT 2008


Greetings Denis,

Since no-one has replied, here's my non-authoritative understanding of this.

2008/11/14 denis.collange <denis.collange at orange-ftgroup.com>:
>
> We have a question concerning the Compound TCP draft, along the lines of
> point 4 in http://oakham.cs.ucl.ac.uk/pipermail/iccrg/2008-March/000468.html
> ("4. What happens to dwnd during slow-start, and when is slow-start
> exited?")
>
> The draft states that "dwnd is initialized to zero while the connection is
> in slow start" (p. 6), and then "Delay-based component only kicks in when
> cwnd is larger than some threshold, currently set to 38 packets assuming
> 1500 byte MTU" (p.11).
>
> However, starting from zero, the recursion (3) on p. 7 gives a negative
> value, so that dwnd would always be set to 0. In order for dwmd to be
> positive the initial value needs to be such that:
>
>         alpha*dwnd(t)^k - 1 > 0
> (if dwnd is restricted to integer values a larger initial value might be
> needed depending on how the rounding is done).

I believe the update rule in the draft is wrong.  The INFOCOM paper
used  (wnd)^k  instead of  (dwnd)^k (as you hint below), and I believe
that is what Vista uses.  Under that rule, the initial value of  dwnd
can be zero as stated.

That is the rule used in the Linux re-implementation at
<http://netlab.caltech.edu/lachlan/ctcp/>

Cheers,
Lachlan

> We think that the draft should clearly state the initial value for dwnd
> every time the delay component is activated.  It might also be interesting
> to comment on why the window update function is not the same as in the
> previously published papers about Compound TCP.



-- 
Lachlan Andrew  Centre for Advanced Internet Architectures (CAIA)
Swinburne University of Technology, Melbourne, Australia
<http://caia.swin.edu.au/cv/landrew> <http://netlab.caltech.edu/lachlan>
Ph +61 3 9214 4837



More information about the Iccrg mailing list