Re: [tcpm] Tuning TCP parameters for the 21st century

Jerry Chu <hkchu@google.com> Wed, 15 July 2009 22:34 UTC

Return-Path: <hkchu@google.com>
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 339DD3A6F79 for <tcpm@core3.amsl.com>; Wed, 15 Jul 2009 15:34:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level:
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, 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 l2IM78JoEC9p for <tcpm@core3.amsl.com>; Wed, 15 Jul 2009 15:34:44 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.33.17]) by core3.amsl.com (Postfix) with ESMTP id F28233A6F4A for <tcpm@ietf.org>; Wed, 15 Jul 2009 15:34:17 -0700 (PDT)
Received: from wpaz13.hot.corp.google.com (wpaz13.hot.corp.google.com [172.24.198.77]) by smtp-out.google.com with ESMTP id n6FMYMpQ026738 for <tcpm@ietf.org>; Wed, 15 Jul 2009 23:34:22 +0100
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1247697262; bh=Q0zbP1O35YHKLD3//k/5iNvBQqU=; h=DomainKey-Signature:MIME-Version:In-Reply-To:References:Date: Message-ID:Subject:From:To:Cc:Content-Type: Content-Transfer-Encoding:X-System-Of-Record; b=NXPwR7PMX28YyxLCyF Id/lEF6z2zhDpyJ4SZLYbSKE7qFPfKxnlcTd9sDvVBvFzc5j1lVHoIny2b4JhUIzqbX w==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:content-transfer-encoding:x-system-of-record; b=f+9MtCYZmU+84FisXad0vAEYXtl/huHp9beg9JBip6GYr5i4JRPv9pRYPoEKtHFSO EPN+C53SLZD1anRhzr2hA==
Received: from an-out-0708.google.com (anab38.prod.google.com [10.100.53.38]) by wpaz13.hot.corp.google.com with ESMTP id n6FMYJLv021274 for <tcpm@ietf.org>; Wed, 15 Jul 2009 15:34:19 -0700
Received: by an-out-0708.google.com with SMTP id b38so2510378ana.33 for <tcpm@ietf.org>; Wed, 15 Jul 2009 15:34:19 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.100.3.6 with SMTP id 6mr11105946anc.33.1247697259416; Wed, 15 Jul 2009 15:34:19 -0700 (PDT)
In-Reply-To: <20090715091517.GA4763@ikr.uni-stuttgart.de>
References: <d1c2719f0907131619t1a80997ep4080a3a721ef3627@mail.gmail.com> <4A5C540E.9070104@sun.com> <4A5C9309.8030704@isi.edu> <d1c2719f0907141241p73e605adqc1d2e6f0db4eb3aa@mail.gmail.com> <4A5CE3D0.5000904@isi.edu> <d1c2719f0907141532i31d2b740hfa32209a8ccb156@mail.gmail.com> <4A5D0E8F.1040402@isi.edu> <20090715091517.GA4763@ikr.uni-stuttgart.de>
Date: Wed, 15 Jul 2009 15:34:19 -0700
Message-ID: <d1c2719f0907151534q782d4bbdq2bea358449c7a65a@mail.gmail.com>
From: Jerry Chu <hkchu@google.com>
To: Michael Scharf <michael.scharf@ikr.uni-stuttgart.de>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: "tcpm@ietf.org" <tcpm@ietf.org>, Joe Touch <touch@isi.edu>
Subject: Re: [tcpm] Tuning TCP parameters for the 21st century
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
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: Wed, 15 Jul 2009 22:34:45 -0000

On Wed, Jul 15, 2009 at 2:15 AM, Michael
Scharf<michael.scharf@ikr.uni-stuttgart.de> wrote:
> On Tue, 14 Jul 2009 at 16:02:39, Joe Touch wrote:
>> Larger messages benefit as you open the window to burst the whole thing
>> out. Here's a back of the envelope:
>>
>> # packets     was RTTs:       is RTTs:        benefit
>>       4       2               2               0%
>>       10      3               2               33%
>>       19      4               2               50%
>>       32      5               2               60%
>>       52      6               2               67%
>>       82      7               2               71%
>>
>> Note though that at some point your SND_CWND will be opened only as far
>> as the path allows, at which point sending more packets just takes more
>> RTTs, so you start to lose. 90% of our max CWNDs were below 9K, which
>> means we only saw benefits in the 20-30% range (i.e., the first two rows
>> above). Sure, if you see CWNDs much larger, you might benefit from
>> reusing old values...
>
> A large initial SND_CWND might not result in such a large benefit if
> the receiver still announces a small receive window (e. g., the Linux
> stack initially announces a receive window of about 6K only). This
> issue is documented in an (expired) ID:
>
>  http://tools.ietf.org/html/draft-scharf-tcpm-flow-control-quick-start-00

Yes I remember Linux stack also "slow starts" the receive window.
The good news is that for us the receiver is on the client side dominated by
the Windows stack, which is probably not sophisticated enough to do this.
(Need double check.)

>
> An example for a limitation by the receive window can also be seen on
> slide 19 of
>
>  http://www.ietf.org/proceedings/08nov/slides/iccrg-2.pdf
>
> Note that, at least in case of Linux, it is possible to mitigate this
> limitation by an ugly hack: The sender could ignore the announced
> receive window during the first RTT of the Slow-Start and
> optimistically send more data. As the receiver exponentially opens the
> receive window, the received packets are always within the current
> receive window - if the receiver does not run out of memory. But of
> course this hack violates RFC 793.
>
> BTW: My experiments with different fast startup schemes (with and
> without rate pacing) also show that the absolute benefit of a faster
> startup is small for many typical Internet workloads. Yet,
> applications that frequently transfer mid-sized amounts of data can
> indeed benefit. And since only few applications actually use a large
> initial SND_CWND, the risk of a moderate increase of the initial
> window appears to be rather small. As also mentioned in my ICCRG
> presentation, the "Jump-Start" idea of M. Allman et al. seems to have
> a quite reasonable performance in many scenarios.

Thanks for the pointers! This seems very relevant to our on-going struggle
with TCP slow start :-).

>
> Unfortunately, I cannot back these statements by large-scale
> experimental data so far. But if someone wanted to perform some
> experiments, e. g., with the "Jump-Start" scheme, I could provide
> corresponding Linux kernel patches.

We're planning for some experiement in this area too. Will let you know
how it goes.

Jerry

>
> Michael
>