W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2013

Re: HTTP/2 and TCP CWND

From: Yuchung Cheng <ycheng@google.com>
Date: Wed, 17 Apr 2013 15:34:33 -0700
Message-ID: <CAK6E8=dvtH=Le-wBxtjDoYFqLgvs3euS6w3vxQRVSOQAOMfCbg@mail.gmail.com>
To: Patrick McManus <mcmanus@ducksong.com>
Cc: Wesley Eddy <wes@mti-systems.com>, Eliot Lear <lear@cisco.com>, Gabriel Montenegro <Gabriel.Montenegro@microsoft.com>, Roberto Peon <grmocg@gmail.com>, "Simpson, Robby (GE Energy Management)" <robby.simpson@ge.com>, Robert Collins <robertc@squid-cache.org>, Jitu Padhye <padhye@microsoft.com>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>, "Brian Raymor (MS OPEN TECH)" <Brian.Raymor@microsoft.com>, Rob Trace <Rob.Trace@microsoft.com>, Dave Thaler <dthaler@microsoft.com>, Martin Thomson <martin.thomson@skype.net>, "Eggert, Lars" <lars@netapp.com>, Martin Stiemerling <martin.stiemerling@neclab.eu>
On Wed, Apr 17, 2013 at 11:12 AM, Patrick McManus <mcmanus@ducksong.com> wrote:
> Hi Wes,
>
> On Wed, Apr 17, 2013 at 12:48 PM, Wesley Eddy <wes@mti-systems.com> wrote:
>>
>>
>> It's definitely misinformation given the dynamic nature of the
>> CWND variable in TCP.  This is not a path property like MTU that
>> can be thought of as relatively static, and it can change on short
>> timescales with high granularity.
>
>
> Granted, an old CWND measurement can be inaccurate. It's an informed guess
> based on path performance. I'm sure we agree the path plays a
> (non-definitive) role in this.
>
> The alternative, IW, is an inaccurate guess too. Its an uninformed guess and
> I don't see why we should assume it would be more accurate.
>
> We can't argue that IW10 is strictly more conservative because my data says
> it typically isn't.  (median SPDY CWND SETTING in firefox data is 30 x 1
> session.. apples to apples that compares to at least 6 parallel HTTP/1
> sessions of IW 10 each). Roberto suggested he's seen something similar. I'm
> not sure that more conservative is a better thing anyhow but I don't see how
> it applies in this case in any event.
I'd like to give some historical perspective of IW10 and CWND-SETTING,
as I proposed both to tcpm and the SPDY team. Three years when we
started looking at the TCP startup latency problems, we wanted to
experiment both simple fixed size  solution and a dynamic
history-based one. We were aware of the pros and cons of both
approaches. But I emphasize cwnd-setting was meant to experiment the
cwnd-caching idea that's been floating around for 20? years. It was OK
to violate the layers for experimental purposes. I agree with the
consensus on the list to delegate this type of job to the network
transport.

I am happy about the discussion of this thread because it points out a
bigger issue: we need a better network transport that understands the
applications.

The situation is terrible as how much browsers need to work-around or
manage to reduce network latency: number of connections, per-opening
connections, prefer connections that have sent more data, disable
slow-start-after-idle, open two connections at the same time and use
the one that comes back first, blah blah blah. each has its merit but
together sometimes they do very bad/stupid things (e.g., opening too
many connections and hoses itself on slow networks).

I feel httpbis and tsvarea should start looking into this problem
together. The browser has good knowledge about the priorities of the
resources, HTTP/2 helps speeding up things talking to the same
host/domain, and the network/transport knows the packet delays and
bandwidth well. Together there should be a better solution. It can not
be done by any single layer/protocol.

>
> -Patrick
>
Received on Wednesday, 17 April 2013 22:35:22 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 11:11:12 UTC