Re: [tcpm] alternate IW proposal

Mark Allman <mallman@icir.org> Thu, 18 November 2010 18:06 UTC

Return-Path: <mallman@icir.org>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E56613A68BE for <tcpm@core3.amsl.com>; Thu, 18 Nov 2010 10:06:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.223
X-Spam-Level:
X-Spam-Status: No, score=-106.223 tagged_above=-999 required=5 tests=[AWL=-0.224, BAYES_00=-2.599, J_CHICKENPOX_32=0.6, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Fh81ygWIQTDZ for <tcpm@core3.amsl.com>; Thu, 18 Nov 2010 10:06:09 -0800 (PST)
Received: from fruitcake.ICSI.Berkeley.EDU (fruitcake.ICSI.Berkeley.EDU [192.150.186.11]) by core3.amsl.com (Postfix) with ESMTP id 96DE93A689A for <tcpm@ietf.org>; Thu, 18 Nov 2010 10:06:09 -0800 (PST)
Received: from lawyers.icir.org (jack.ICSI.Berkeley.EDU [192.150.186.73]) by fruitcake.ICSI.Berkeley.EDU (8.12.11.20060614/8.12.11) with ESMTP id oAII6faB009908; Thu, 18 Nov 2010 10:06:42 -0800 (PST)
Received: from lawyers.icir.org (www.obdev.at [127.0.0.1]) by lawyers.icir.org (Postfix) with ESMTP id 6E4072532382; Thu, 18 Nov 2010 13:06:05 -0500 (EST)
To: Joe Touch <touch@isi.edu>
From: Mark Allman <mallman@icir.org>
In-Reply-To: <4CE554FD.8040304@isi.edu>
Organization: International Computer Science Institute (ICSI)
Song-of-the-Day: Who You Are
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="--------ma27405-1"; micalg="pgp-sha1"; protocol="application/pgp-signature"
Date: Thu, 18 Nov 2010 13:06:05 -0500
Sender: mallman@icir.org
Message-Id: <20101118180605.6E4072532382@lawyers.icir.org>
Cc: tcpm@ietf.org, "Anantha Ramaiah (ananth)" <ananth@cisco.com>
Subject: Re: [tcpm] alternate IW proposal
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: mallman@icir.org
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Thu, 18 Nov 2010 18:06:14 -0000

> >    - The cross connection dynamic is presuming you're making the same
> >      mistakes over-and-over.  That isn't clear.  If you make a zillion
> >      10 packet connections to some host then OK.  I am willing to call
> >      that pathological.
> 
> Let me be more clear. The IW isn't a property of the destination,
> it's a property of the path. 

No it isn't.  The IW is a construct of the sender.  The path DOES NOT
HAVE A WINDOW, LET ALONE AN **INITIAL** WINDOW.  Period.

Congestion is a property of a particular link.  And, congestion of
individual links aggregate into the congestion experienced across a
path.  But, there is no way to, e.g., measure the "IW of a link".  That
doesn't make any sense.

TCP has a system of *inferring* congestion along the network path a
connection traverses (putting aside ECN, which isn't much used).  And,
it has a construct called a "congestion window" to regulate the current
sending rate based on its observations of that path.  When a connection
starts it does not have a history of observations on which to base its
congestion window (/ sending rate).  Yet, it needs some initial rate.
So, we have to have some default here.  None of this is new or novel or
startling.

So, we use some default IW.  That default IW is a probabilistic
engineering *guess* at its root.  We use something that we believe will
work well in the vast majority of the cases and when it doesn't the
results are not somehow catastrophic.

    (It *could* have a history as you have noted (and conducted research
    on).  But, the practical efficacy of that has at least not been
    shown (as far as I know; perhaps I am out of the loop).  E.g., how
    often do two hosts communicate?  And, is it meaningful to cache
    across the timeframe between those communications?  E.g., even if
    you think you're talking to a particular host you may be talking to
    a farm and your connection gets sprayed to the "best" possible
    server at some moment in time (for some secret-sauce definition of
    "best") and that server might not have the state from your last
    interaction.  Etc.  So, I agree that this is something we can think
    further about and it may well be that it is nice for things like
    repeated image gets from some web server.  However, that does not
    get us away from needing some initial setting.  At *best* you have
    reduced the importance of the setting in some cases.)

> >    - The vast majority of traffic volume is from large flows that
> >      converge via the usual AIMD.  Therefore, by traffic volume the
> >      initial window is a quite small effect---especially if we are
> >      roughly in the area of "reasonable" (i.e., if the 10 packet window
> >      works the vast majority of the time).
> 
> IW traffic is bursty, and bursts tend to synchronize. Further, IW is
> uses more than just for the connection start - it's also used for
> restart, e.g., after an idle period.  

I would be perfectly happy with a rule that said the RW had to be
min(IW,max_lossless_cwnd/2).  I.e., basing the RW on observations from
the connection itself seems absolutely reasonable to me.

> How much does this help? How much does it reduce latency? Most of
> the info I've seen summarized suggests the benefit is in the 5-20%
> range. That's not even noticeable from a user POV.

20% seems like a pretty nice chunk of change to me.  That's on the order
of what we got by going to 4KB.  20% of a second is perceptible to
humans.  Add this over a number of objects and it looks like a fine bit
of increase to me.  Certainly this WG has done things for much less
benefit. 

allman