Re: [tcpm] New Version Notification for draft-you-tcpm-configuring-tcp-initial-window-00.txt

gorry@erg.abdn.ac.uk Fri, 24 October 2014 08:18 UTC

Return-Path: <gorry@erg.abdn.ac.uk>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E25751A88F1 for <tcpm@ietfa.amsl.com>; Fri, 24 Oct 2014 01:18:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.211
X-Spam-Level:
X-Spam-Status: No, score=-4.211 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id w8GvBOa8Yo9p for <tcpm@ietfa.amsl.com>; Fri, 24 Oct 2014 01:18:03 -0700 (PDT)
Received: from spey.erg.abdn.ac.uk (spey.erg.abdn.ac.uk [139.133.204.173]) by ietfa.amsl.com (Postfix) with ESMTP id F36901A88A9 for <tcpm@ietf.org>; Fri, 24 Oct 2014 01:18:02 -0700 (PDT)
Received: by spey.erg.abdn.ac.uk (Postfix, from userid 33) id BC7AB2B444F; Fri, 24 Oct 2014 09:18:01 +0100 (BST)
Received: from 212.159.18.54 (SquirrelMail authenticated user gorry) by spey.erg.abdn.ac.uk with HTTP; Fri, 24 Oct 2014 09:18:01 +0100
Message-ID: <b9a65208c0ba6033cd7cd8f3b7e5c40c.squirrel@spey.erg.abdn.ac.uk>
In-Reply-To: <BE4122C4-261D-4D4B-86E3-090906CB984D@ifi.uio.no>
References: <F6C28B32DA084644BB6C8D0BD65B669D11BC91@nkgeml509-mbs.china.huawei.com> <CAPh34mc5TdHCP4_E7LwQt=3v2jJv0byrXqUquDnX50ObF9z_uw@mail.gmail.com> <D0A6C310-694C-4F28-AE8F-9D87628FAEA4@ifi.uio.no> <CAPh34mdOi3LHCHS0X-u1+9R5MWHcrZG-34npuggPXC4a76QmOQ@mail.gmail.com> <5446A7D4.5070607@ifi.uio.no> <20141021192331.GB4851@virgo.local> <5446F37F.7020007@isi.edu> <5c7b7a1f5b28bd321b30b660c9d3c8f6@ulrik.uio.no> <544912EA.70404@isi.edu> <BE4122C4-261D-4D4B-86E3-090906CB984D@ifi.uio.no>
Date: Fri, 24 Oct 2014 09:18:01 +0100
From: gorry@erg.abdn.ac.uk
To: Michael Welzl <michawe@ifi.uio.no>
User-Agent: SquirrelMail/1.4.23 [SVN]
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/dGGnQhmQQ4_hg5yIyKVT9onOQcE
Cc: tcpm@ietf.org, Joe Touch <touch@isi.edu>
Subject: Re: [tcpm] New Version Notification for draft-you-tcpm-configuring-tcp-initial-window-00.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Oct 2014 08:18:06 -0000

I think this IW is not an appropriate parameter to present to the API,
because the choice of value has a very significant impact on the
robustness of the TCP service.

An app can anyway decide to  send less (defer sending a large volume of
data straight away) - it is not in a place to decide the network path is
safe to send more. Although if this were to be used as a part of  the  TCB
sharing method (i.e. using cached network path state), that may be of
value.

Gorry

> Hi Joe,
>
> In line:
>
>
> On 23. okt. 2014, at 16:38, Joe Touch wrote:
>
>>
>>
>> On 10/22/2014 1:46 AM, runabk wrote:
>>> Hi all,
>>>
>>> On 2014-10-22 01:59, Joe Touch wrote:
>> ...
>>>> - IW cannot be determined at the time of the connection per se
>>>> The only way to do so would be to send IW segments into the net and
>>>> see
>>>> if they get there, which isn't so much a probe as just using that
>>>> value
>>>> as the initial window anyway.
>>>>
>>>> I continue to believe that IW can be adapted over loooong periods of
>>>> time using information on past connections as network behavior evolves
>>>> as per draft-touch-tcpm-automatic-iw-03.txt, but more experience is
>>>> definitely needed.
>>>>
>>>
>>> In the draft ``draft-touch-tcpm-automatic-iw-03.txt", All the
>>> connections at a particular instance start with nearly same IW value
>>> --- a single constant window for all flows.
>>
>> I had been assuming 2140-style grouping of information based on network
>> interface, destination IP address, destination subnet, etc.
>
> ...which I'm not sure would be a good idea here, see my previous response
> to Hagen and also further below.
>
>
>>> My point is, why not to take a look on flow characteristics. I played
>>> with a lot of simulations and experiments.
>>> In my simulations in ns2, I considered a combination of flow types
>>> based
>>> on sizes --- large flows from Pareto Distribution, and small flows from
>>> Exponential Distribution. And we observed, large flows having a small
>>> IW, and even randomly choosing a large IW for small flows gives better
>>> performance than all the flows with IW10;
>>
>> Large flows are not as affected by IW effects because IW applies only
>> during transients that are presumably rare (startup, restart after idle,
>> etc.)
>>
>> The problem with your observation is that it fails to consider the
>> "tragedy of the commons". Capacity is a common network resource, and
>> your increase of IW for short flows causes them to consume that resource
>> before feedback corrects it in ways that are not generally considered
>> "fair".
>
> So you're arguing that this work creates an incentive for applications to
> make their flows shorter? Interesting. An application cheating the system
> by splitting a large flow into small ones would have to weigh the benefits
> of being able to use a larger IW against the cost of the handshakes for
> closing and re-opening a connection, at least. Depending on the IW
> calculation function in use, there can be corner cases where such cheating
> might work, I think this should be addressed in the draft.
>
>
>> I.e., it's been known for a long time that making IW large helps short
>> flows and has no real impact on long flows. It's also been known that
>> this is not necessarily how we want the network to behave.
>>
>> There's a balance between trying to complete a short flow quickly and
>> having flows that are basically non-responsive to network congestion. We
>> only recently increased IW to 10 based on the assumption that "a problem
>> we haven't seen doesn't exist".
>>
>> ...
>>> A constant IW may not be suitable.
>>
>> If you have 2140 in place, you might have the information useful to set
>> an appropriate IW on a per-connection basis. However, setting that value
>> solely based on the length of the connection is (IMO) inappropriate.
>
> So, I think it's the most appropriate thing that can be done, and RFC 2140
> can end up being less appropriate:
> 1) if you reduce IW on later connections to a host you're already talking
> to (ensemble sharing) or have talked to before (temporal sharing), ECMP
> may put you on a different path and you may end up being too conservative.
> 2) if you ONLY apply 2140-style IW reduction, you may not be conservative
> enough because all these first connections to various IP addresses start
> with IW10  (which may not seem to matter if we think about it from the
> perspective of a single web server, but certain web pages open many
> *first* connections from many different IP addresses to my browser, so
> then it's my access link that suffers).
>
> At the same time, using IW10 on large transfers is just useless. So I
> think incorporating the flow length in the decision to only use a large
> window when it can make sense is the best we can currently do.
>
> Cheers,
> Michael
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>