Re: HTTP/2 and TCP CWND

Roberto Peon <grmocg@gmail.com> Mon, 01 April 2013 18:33 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4240911E80E3 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 1 Apr 2013 11:33:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.598
X-Spam-Level:
X-Spam-Status: No, score=-10.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3RtAmz12Mfmo for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 1 Apr 2013 11:33:02 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 9B6B611E80E0 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 1 Apr 2013 11:33:02 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UMjWr-0002rY-PV for ietf-http-wg-dist@listhub.w3.org; Mon, 01 Apr 2013 18:32:25 +0000
Resent-Date: Mon, 01 Apr 2013 18:32:25 +0000
Resent-Message-Id: <E1UMjWr-0002rY-PV@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <grmocg@gmail.com>) id 1UMjWk-0002q1-Ld for ietf-http-wg@listhub.w3.org; Mon, 01 Apr 2013 18:32:18 +0000
Received: from mail-oa0-f45.google.com ([209.85.219.45]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <grmocg@gmail.com>) id 1UMjWU-0001tT-O3 for ietf-http-wg@w3.org; Mon, 01 Apr 2013 18:32:09 +0000
Received: by mail-oa0-f45.google.com with SMTP id o6so2209084oag.4 for <ietf-http-wg@w3.org>; Mon, 01 Apr 2013 11:31:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=YUdwILiFSfJ1UkbikZT0O6sGplkpWMRNSZdYJTBqAxs=; b=uGHtjhm+o6fWgk8MnPRga/B49YZ3lDnir5PkwWjfg4oNF1bs8Dwb4/sabnCarSfOvL VbLwmfZBtJXRo5ob0TbSNS8Jv7QmiHap3wkTKGTngRpqoGcI6GrwLEVmJvV4QD++k+Aj DFPcAu9xi7YwDzQiaZQ3B5jblxjBfGZFm7oTHQARahYPY1ADRgTNTv+Q6yU9ggkxPFCm 1ht1lAMQa8nRzFu33Jc17pgzIEB18J3mqr+rXIxUcYKPzbrBV5jpFcWmhEdKXRI6EG8o 1WIjgLBAgCBrQIXrGn2JI1ccVChh3n9ammAlM+i5zLG8Fyzm/a2JXojxJj85mXJBccTM K1uA==
MIME-Version: 1.0
X-Received: by 10.60.16.164 with SMTP id h4mr1035791oed.23.1364841096750; Mon, 01 Apr 2013 11:31:36 -0700 (PDT)
Received: by 10.76.109.72 with HTTP; Mon, 1 Apr 2013 11:31:36 -0700 (PDT)
In-Reply-To: <8e7e9a7db6204492afde5d8883570579@BN1PR03MB006.namprd03.prod.outlook.com>
References: <8e7e9a7db6204492afde5d8883570579@BN1PR03MB006.namprd03.prod.outlook.com>
Date: Mon, 01 Apr 2013 11:31:36 -0700
Message-ID: <CAP+FsNeG4ew88sWs6OL+PQXbqSANE6smRTJuVBzo8ppkLVPYtA@mail.gmail.com>
From: Roberto Peon <grmocg@gmail.com>
To: Jitu Padhye <padhye@microsoft.com>
Cc: "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>, Gabriel Montenegro <Gabriel.Montenegro@microsoft.com>
Content-Type: multipart/alternative; boundary="089e013a125abf2bad04d950d41b"
Received-SPF: pass client-ip=209.85.219.45; envelope-from=grmocg@gmail.com; helo=mail-oa0-f45.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.681, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1UMjWU-0001tT-O3 c5676b566e91e7cb3d57b229c6da9a7c
X-Original-To: ietf-http-wg@w3.org
Subject: Re: HTTP/2 and TCP CWND
Archived-At: <http://www.w3.org/mid/CAP+FsNeG4ew88sWs6OL+PQXbqSANE6smRTJuVBzo8ppkLVPYtA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17190
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

Which is worse, starting with 1 connection with a cwnd of 32, or starting 6
connections each with a cwnd of 6?

-=R


On Mon, Apr 1, 2013 at 10:50 AM, Jitu Padhye <padhye@microsoft.com> wrote:

> In the original SPDY draft (and the current HTTP2-01 draft), there is a
> TCP CWND setting exposed:
>
>          5 - SETTINGS_CURRENT_CWND allows the sender to inform the
>          remote endpoint of the current TCP CWND value.
>
> It is not clear what the client is supposed to do with this information.
> There was a follow up post from Mile Belshe (
> https://groups.google.com/forum/?fromgroups#!topic/spdy-dev/XRkL7FlIOW4)
> in which he indicated that the client could persist the CWND stored by the
> server, and the server could later user it to "warm start" connections to
> the same client. This can potentially cut transfer time by several RTTs.
>
> I have several concerns about warm start, and if that is the only use for
> SETTINGS_CURRENT_CWND, then maybe we should not have the setting at all.
>
> First, if a cwnd value is persisted at the client, then, after the
> connection ends, it needs to be gradually decayed with time, and completely
> discarded if the client changes networks (e.g. from wifi to 3G etc.). This
> adds additional complexity to client implementation.
>
> Second, the server has to take any value reported by client with a large
> grain of salt, since it cannot trust the client to correctly decay/discard
> window. The client may even inflate the window in an attempt to get
> "better" service. So, at the very least, the server needs to check
> timeliness, which means it has to maintain additional state (e.g. remember
> when it last sent CWND to this client). This complicates server
> implementation.
>
> Third, The clients who implement this may be able to grab a higher share
> of bandwidth, which is unfair to legacy clients (e.g. normal HTTP clients).
>
> If the server wants to start with a higher initial cwnd, then that's
> already being discussed:
> http://tools.ietf.org/html/draft-ietf-tcpm-initcwnd-08.  I am not
> advocating for that proposal, but at least it is better than warm start,
> since there is no state to maintain and clients have no influence.
>
> In general,  SETTINGS_CURRENT_CWND violates the basic layering principle.
> So, unless there is a really good reason to keep it, it should be removed.
>
> Jitu
>
>
>
>