Re: [tcpm] some comments on draft-gomez-tcpm-ack-rate-request-02.

Carles Gomez Montenegro <carlesgo@entel.upc.edu> Mon, 21 March 2022 17:56 UTC

Return-Path: <carlesgo@entel.upc.edu>
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 700B83A0A2E for <tcpm@ietfa.amsl.com>; Mon, 21 Mar 2022 10:56:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.907
X-Spam-Level:
X-Spam-Status: No, score=-6.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 RYVV20MTrRCA for <tcpm@ietfa.amsl.com>; Mon, 21 Mar 2022 10:56:11 -0700 (PDT)
Received: from dash.upc.es (dash.upc.es [147.83.2.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6A52B3A11D9 for <tcpm@ietf.org>; Mon, 21 Mar 2022 10:55:56 -0700 (PDT)
Received: from entelserver.upc.edu (entelserver.upc.es [147.83.40.4]) by dash.upc.es (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id 22LHtn0H038628; Mon, 21 Mar 2022 18:55:49 +0100
Received: from webmail.entel.upc.edu (webmail.entel.upc.edu [147.83.40.6]) by entelserver.upc.edu (Postfix) with ESMTP id DBBF71D53C1; Mon, 21 Mar 2022 18:55:48 +0100 (CET)
Received: from 79.158.123.136 by webmail.entel.upc.edu with HTTP; Mon, 21 Mar 2022 18:56:50 +0100
Message-ID: <ee13784a9699614f07383f0400e245b7.squirrel@webmail.entel.upc.edu>
In-Reply-To: <DF4F6988-156A-4FDD-B595-F5CFC1EDC433@gmail.com>
References: <CAAK044TYfw=N0JwSRv5xMBqfR9BeDF6LqPRNXFCvd-Hxq+oDDw@mail.gmail.com> <47ab7d08978d2cc4f040de300d806212.squirrel@webmail.entel.upc.edu> <DF4F6988-156A-4FDD-B595-F5CFC1EDC433@gmail.com>
Date: Mon, 21 Mar 2022 18:56:50 +0100
From: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: Yoshifumi Nishida <nsd.ietf@gmail.com>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, jon.crowcroft@cl.cam.ac.uk
User-Agent: SquirrelMail/1.4.21-1.fc14
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
X-Virus-Scanned: clamav-milter 0.100.3 at dash
X-Virus-Status: Clean
X-Greylist: ACL matched, not delayed by milter-greylist-4.3.9 (dash.upc.es [147.83.2.50]); Mon, 21 Mar 2022 18:55:49 +0100 (CET)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/ELiCZHiPwcBzOBWUiGaqonYG2d4>
Subject: Re: [tcpm] some comments on draft-gomez-tcpm-ack-rate-request-02.
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 21 Mar 2022 17:56:17 -0000

Hi Jonathan,

Many thanks for your message, and apologies for such a long delay in my
response.

Please find below my inline comments:

>>>    For example, one of my naive questions is how often we want to
>>> change the frequency of ACKs.
>>>    In 'small' or 'large' scenarios in the draft, it seems to me that it
>>> might be sufficient to use the same ACK frequency during the
>>> connection.
>>>    It would be good if the draft describes the needs of changing
>>> frequency.
>>
>> Agreed, we will add some guidance in this regard.
>>
>> Yes, in many scenarios it may make sense to just set the ACK frequency
>> once during the connection.
>>
>> We'll think further about whether there could be particular scenarios
>> where the ACK frequency might need to be changed during the connection
>> lifetime.
>
> It seems to me that the ack frequency could depend mostly on the cwnd
> value used by the sender, which can change over the connection's lifetime
> for many reasons, and is generally not directly known by the receiver
> (though it might be inferred by estimated RTT, segment size, and observed
> delivery rate).
>
> In particular, cwnd will start at a low value and grow rapidly during the
> slow-start phase, then settle into a reasonably consistent range for the
> congestion-avoidance phase - assuming the underlying BDP remains constant.
>  Shifts in routing, or the addition or removal of significant load from
> the path the flow shares, may change the underlying BDP significantly; the
> cwnd should be expected to change accordingly, and this may prompt a
> change in ack rate.
>
> So we should expect some changes to the ack rate to be requested over the
> lifetime of the connection, but very frequent updates seem unlikely if the
> ack rate is derived from the cwnd.  This does not seem difficult to me.
>
> Conversely, the ack frequency may be controlled by "ack congestion
> control", alone or in combination with a derivation from the cwnd.  That
> is, the sender may notice that acks it receives cover more segments than
> the ack rate requested, indicating ack decimation en route, and decide to
> reduce the ack frequency to reduce network load up to the ack decimation
> point.  Future updates may also permit CE marks to appear on pure acks.
> This might involve more frequent ack rate updates, perhaps once an RTT, as
> the algorithm adjusts and probes around an operating point.

Thank you very much for providing such detailed explanations.

In our last update [1], we have added a new section (Section 5) that
describes reasons why the requested ACK rate might change over the
lifetime of a TCP connection. We have tried to capture your input above in
this new section.

>> Well, yes, the phrase "as long as packet reordering does not occur"
>> might
>> not be clear enough here. The intent was to say that one ACK will be
>> sent
>> every R full-sized received data segments, but if there is reordering,
>> then a different amount/rate of ACKs may be sent for a while.
>
> Isn't this sort of thing covered by existing Delayed Ack specifications?
> They are just cases in which an immediate ack is called for, overriding
> the Delayed Ack algorithm and resetting the counter and timer associated
> with it.  You should just be able to make a normative reference to that.

Agreed.

We added a reference to RFC 2581, which states the following:

  “A TCP receiver SHOULD send an immediate duplicate ACK when an out-
   of-order segment arrives.”

>>>   Also, since N looks finite number, I'm wondering how to set R=0 for
>>> the
>>> entire connection. Or, we shouldn't do such a thing?
>>
>> Good point!
>>
>> Perhaps we can define a special value for N meaning "infinity".
>
> An R value of 1 or 0 should produce a similar effect, should it not?  I
> think this falls into the category of choosing the ack frequency based on
> the sender's cwnd, which for the resource-constrained sender is a
> permanently small value.  I think it's important to describe with
> precision what the meanings of R=1 and R=0 are in any case; it's one of
> those pesky little corner cases.

Agreed.

Pending the discussion of how we represent the value of R in the TARR
option format, we now state in -03 that R=0 is not allowed. A TARR option
with R=1 requests immediate ACKs from the receiver.

> Conversely, the N field would be most useful for advanced congestion
> control algorithms which have a need to probe latency statistics at high
> fidelity, but only for a short period at a time.  We shouldn't use the N
> field to duplicate functionality that can adequately be described by the R
> field.

Agreed as well. After some consideration, we found that N actually
duplicates functionality, as you suggested. In consequence, in -03 we
removed the N field from the TARR option, and we understand that it is
possible to produce the same effect by just using the R field.

Cheers,

Carles


>  - Jonathan Morton


[1]
https://datatracker.ietf.org/doc/html/draft-gomez-tcpm-ack-rate-request-03