Re: [tcpm] RFC5681: why halving FlightSize not cwnd?

Matt Mathis <mattmathis@google.com> Thu, 06 September 2012 22:50 UTC

Return-Path: <mattmathis@google.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5F11721E803D for <tcpm@ietfa.amsl.com>; Thu, 6 Sep 2012 15:50:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.977
X-Spam-Level:
X-Spam-Status: No, score=-102.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hP0+19nr-oci for <tcpm@ietfa.amsl.com>; Thu, 6 Sep 2012 15:50:35 -0700 (PDT)
Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by ietfa.amsl.com (Postfix) with ESMTP id 8489F21E803A for <tcpm@ietf.org>; Thu, 6 Sep 2012 15:50:35 -0700 (PDT)
Received: by wibhr14 with SMTP id hr14so1650472wib.13 for <tcpm@ietf.org>; Thu, 06 Sep 2012 15:50:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:x-system-of-record; bh=ikzziI0axOo0akzOxioHmPJTXmKw9RlbKjQEQFpPcDY=; b=n79QItn+m0DuCh0qZtCuNHuV1QGqG8/PFYStkO7ITm20GKhFUJsVCVaClmJde8HbPa H/8nklcSpmTXCvdqcyASwJElydtqHXtYjpPXaiq0kaUr31iFqSo3umtWEWt39OULt8nm e2kBMPuWz98S/a4xpUh+j8zdwQu66cTddBiFcIBPGQZYTtK4SBEkvsAJK74JbpaM9HLH vkjNUwUw0m5dqcwUae6c/qIQolrTL7hd5IYFLvTewwBllZ+yGFaZ6UAQIDTc7jQjZbVL b2keSHSOEBiDMVC2W/PrKJ6PvVPEC20gfhA0F76ONDg0qxpsNvT19QgZi9tdEGn9HO8E c9tg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:x-system-of-record:x-gm-message-state; bh=ikzziI0axOo0akzOxioHmPJTXmKw9RlbKjQEQFpPcDY=; b=e9U5KX7xJ2RHmy9I/nPCbA5/JMzVUDedLflFp9bHfW3yLKoR5eg7IsB9QREka5rut7 fKLki/h/O0Kd7RcZkkdCoUeMHQkmJZ/vfu4K+Gz6FqGNB98diRCcPqVuyqJRakKme2yM BdJSrgSvkSwvUTwWcE5Y6GBKw0Lf2FM5QAhbDb8ZL0mdntrEJ6Z+yNf1aTOes3GOtEwp t1c6aLbY4DHc5QjgsKnYrbPjBy0wbt6hogiNNXondXKlq8KDYj98vOGXNo7d0pxwIAWG WMU1EgjUlh5PcrISUXJELevQxZl6EoN9SXudb8SnpC8yKS+y/x2CjvLfRuhVZ4mg1ZsK Pukg==
Received: by 10.216.131.204 with SMTP id m54mr1948203wei.93.1346971834496; Thu, 06 Sep 2012 15:50:34 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.216.131.204 with SMTP id m54mr1948194wei.93.1346971834315; Thu, 06 Sep 2012 15:50:34 -0700 (PDT)
Received: by 10.217.0.9 with HTTP; Thu, 6 Sep 2012 15:50:34 -0700 (PDT)
In-Reply-To: <20120906212530.GB8018@mail.kb8ojh.net>
References: <CAK6E8=f9iE11EOgJWar25qa0nFLjUuDrc34p2xP1MPRrQewhig@mail.gmail.com> <20120906195403.3F3452B075E6@lawyers.icir.org> <20120906212530.GB8018@mail.kb8ojh.net>
Date: Thu, 06 Sep 2012 15:50:34 -0700
Message-ID: <CAH56bmDP5YwGqpfDQ5=OGceohx+xrsoOSDkd7RZHg7O=V=y+aQ@mail.gmail.com>
From: Matt Mathis <mattmathis@google.com>
To: Mark Allman <mallman@icir.org>, Yuchung Cheng <ycheng@google.com>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, "iccrg@cs.ucl.ac.uk list" <iccrg@cs.ucl.ac.uk>
Content-Type: text/plain; charset="ISO-8859-1"
X-System-Of-Record: true
X-Gm-Message-State: ALoCoQm0V2xtSYlekEEMxKGGq6QTz6cwjvZqseVkkMGU6RgLFBRc5srx8jKcWPmrOL9nZiIIkXrCvp5OV9AleyzMn2IiN6o02zLLlk2zSXbIONNf+zSI8FkqpVG3WMSmr2jDOD47pOgxIY7IQwGjYirN7eEY0v0SUZgYliuPeICLI/kYlBP02UKWhBCHf1XheqTTsw3rxF1Z
Subject: Re: [tcpm] RFC5681: why halving FlightSize not cwnd?
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.12
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: Thu, 06 Sep 2012 22:50:36 -0000

On Thu, Sep 6, 2012 at 2:25 PM, Ethan Blanton <eblanton@cs.ohiou.edu> wrote:
> Mark Allman spake unto us the following wisdom:
>> A few things ...
>>
>>   - I don't buy Ethan's argument that the burden on the network is 4
>>     packets if you lose the 17th.  It seems to me the burden is measured
>>     from the front of the window not the back.  So, in this case it was
>>     a burden of 17 packets that caused the loss.
>
> Note that this was not intended to be my argument; my argument is that
> a TCP that doesn't "remember" such things (and 5681 does not) only
> knows about the 4 packets at the time of the loss, so it *thinks* the
> burden is 4.  This is clearly not optimal, and I would not argue that
> it is.  Perhaps I stated this poorly.

I would say that you are using the wrong state variables:  at this
point cwnd is simultaneously being used to suppress bursts and
remember the congestion state from before the application pause.   If
you parameterize it differently (e.g. Laminar) this becomes a
non-problem.

>>   - So, without additional schemes we're left with being too aggressive
>>     (using cwnd) or too conservative (using FlightSize).  But, if we're
>>     going to error that is probably the right direction.
>
> Agreed.

Yes exactly.   One solution would be to pace from FS up to ccwind....
This case is described in the Laminar draft.

>>   - I probably would not have all that much heartburn making the
>>     ssthresh 10 in the case you describe as long as there was some
>>     knowledge that a cwnd of 20 was used recently.  I.e., it isn't the
>>     result of some large storage of permission to send that was built up
>>     over time, but was in fact the result of the application's sending
>>     pattern.  I think one could design some rules around that notion
>>     that would be OK.
>
> Also agreed.  I think it's reasonable to assume that the FlightSize in
> effect at the time a lost packet was *sent* is safe, for sure.

I point out this logic assumes that it was the instantaneous queue
length that triggered the losses (as it is for drop tail).  With RED
or CoDel, the losses are normally triggered by a persistent queue,
which may or may not depend on the instantaneous window at the time
the packet was either sent or received.   With CoDel, drops are
triggered when the minimum window size is still large enough to
sustain a queue....  The peak window has no effect on the drops
(unless the queue overflows).

Thanks,
--MM--
The best way to predict the future is to create it.  - Alan Kay