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

Michael Welzl <michawe@ifi.uio.no> Fri, 24 October 2014 07:58 UTC

Return-Path: <michawe@ifi.uio.no>
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 95A561AD6C9 for <tcpm@ietfa.amsl.com>; Fri, 24 Oct 2014 00:58:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 ur9SjbWI8p2A for <tcpm@ietfa.amsl.com>; Fri, 24 Oct 2014 00:58:00 -0700 (PDT)
Received: from mail-out5.uio.no (mail-out5.uio.no [IPv6:2001:700:100:10::17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F12251A88F0 for <tcpm@ietf.org>; Fri, 24 Oct 2014 00:57:59 -0700 (PDT)
Received: from mail-mx4.uio.no ([129.240.10.45]) by mail-out5.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1XhZkz-0005Dc-R5; Fri, 24 Oct 2014 09:57:57 +0200
Received: from boomerang.ifi.uio.no ([129.240.68.135]) by mail-mx4.uio.no with esmtpsa (TLSv1:AES128-SHA:128) user michawe (Exim 4.80) (envelope-from <michawe@ifi.uio.no>) id 1XhZkz-0000Wu-9V; Fri, 24 Oct 2014 09:57:57 +0200
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: text/plain; charset="us-ascii"
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <544912EA.70404@isi.edu>
Date: Fri, 24 Oct 2014 09:57:55 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <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>
To: Joe Touch <touch@isi.edu>
X-Mailer: Apple Mail (2.1283)
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 6 msgs/h 3 sum rcpts/h 6 sum msgs/h 3 total rcpts 21661 max rcpts/h 44 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-6.1, required=5.0, autolearn=disabled, RP_MATCHES_RCVD=-1.051, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: D3B9726E0DDF25A04363895C1781F024AD4221F3
X-UiO-SPAM-Test: remote_host: 129.240.68.135 spam_score: -60 maxlevel 80 minaction 1 bait 0 mail/h: 3 total 6607 max/h 17 blacklist 0 greylist 0 ratelimit 0
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/6B4eDfAm1pVycaHa9YK8UDTtswU
Cc: tcpm@ietf.org
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 07:58:02 -0000

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