Re: [tcpm] More motivating scenarios for tcpm-ack-pull

Bob Briscoe <ietf@bobbriscoe.net> Sun, 15 March 2020 16:26 UTC

Return-Path: <ietf@bobbriscoe.net>
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 218D43A1897 for <tcpm@ietfa.amsl.com>; Sun, 15 Mar 2020 09:26:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.432
X-Spam-Level:
X-Spam-Status: No, score=-1.432 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.net
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 XyxayJKmK8B8 for <tcpm@ietfa.amsl.com>; Sun, 15 Mar 2020 09:26:47 -0700 (PDT)
Received: from cl3.bcs-hosting.net (cl3.bcs-hosting.net [3.11.37.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A1A933A1896 for <tcpm@ietf.org>; Sun, 15 Mar 2020 09:26:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=xUr6whXqNW85FnejgPkvrf/zHuVXQUvznVRhrEpxXA4=; b=hk1dbP0yC9tB1TlhOpbRg6eUj kLMYfoR6SSdlwQYreTUXS5kbaMvfZgljBXcT4mJk0DrwbofXfwj9xpWJe1LxfPZY17mll0usyfsw8 bdhwcVgzzIBpPrWtersx0mOlHws3F5+3AUbznRnipI+YKo6eVWfqz6Y1X/f7yzY+3LWRBZRm/OCYG V3ZOewQkDiguaWpedSOAuEVe1lKBa9KmJFnI7TFtAdPKrfiVJgzA5jihHz9Ii1ZqaoFA3YEsqd1qg kwu39sie18WmH4/d/hu+5gecJpOR7aPvdFXYGUPk1xN9DKGWN4RMVMPNhOIkdkYDzEqrgjNvy3iDW zF2tO6qdA==;
Received: from [31.185.135.141] (port=41134 helo=[192.168.0.4]) by cl3.bcs-hosting.net with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from <ietf@bobbriscoe.net>) id 1jDW68-003DAj-St; Sun, 15 Mar 2020 16:26:45 +0000
To: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
Cc: tcpm IETF list <tcpm@ietf.org>, Jon Crowcroft <jon.crowcroft@cl.cam.ac.uk>
References: <3326ed99-b077-592b-7913-aeb2286912c4@bobbriscoe.net> <13486113479ebcb344247daedda10467.squirrel@webmail.entel.upc.edu> <CAEeTejJC4KLbjLNWmVxPXwDtrC=rjrcOsVnwjEym2uEhJZq7cw@mail.gmail.com> <3f4d3d94-24a8-4ed8-a752-ae5242907d43@gmx.at> <ef6c55535a860b37056cd014ad178416.squirrel@webmail.entel.upc.edu> <db2a849d-a26f-d741-a039-1622c478ee50@gmx.at> <fde0262a-0206-92bf-b529-4043cacc8030@bobbriscoe.net> <391035ee6f57baa407f9be225db8dfbc.squirrel@webmail.entel.upc.edu>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <44192613-4e05-bffa-a810-ef261d78d190@bobbriscoe.net>
Date: Sun, 15 Mar 2020 16:26:43 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <391035ee6f57baa407f9be225db8dfbc.squirrel@webmail.entel.upc.edu>
Content-Type: multipart/alternative; boundary="------------7F70ED1C76A6E6548B61CD01"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - cl3.bcs-hosting.net
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: cl3.bcs-hosting.net: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: cl3.bcs-hosting.net: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/g32W0keVyVMkAoR0hXzjma8vNKo>
Subject: Re: [tcpm] More motivating scenarios for tcpm-ack-pull
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: Sun, 15 Mar 2020 16:26:51 -0000

Carles & Jon,

Yes, if the tcpm WG was prepared to consider adopting this, I'd support it.

A few comments:

I'm not sure I would limit it to "suppression" of delayed ACKs, and I 
don't just mean it should include releasing suppression. In many 
circumstances the sender would be happy with less frequent ACKs than the 
receiver is generating. E.g. with high performance data transfers, 1/16 
would often be fine when there are hundreds of packets in flight. But, 
because the receiver can't be sure whether the sender would suffer one 
of the downsides to delaying ACKs, it maintains a conservatively low 
delayed ACK ratio.

So perhaps a better scope (and title) would be "Sender control of 
Delayed ACKs in TCP"?

I've added 'in TCP', because I think it's useful to make the scope 
concrete. But I think this doc could also be useful for other transport 
protocols, particularly QUIC.

S3.1 & S3.2 Slow start & High bit rate environments and short data segments

    However, use of Delayed ACKs reduces the amount
    of ACKs received by the sender, thus reducing the rate of cwnd
    growth, increasing transfer time and reducing throughput, when
    compared with sending an ACK for each incoming data segment.

I think ABC (appropriate byte counting) allows the sender to 
unilaterally address that concern without needing ACK Pull [RFC3465].

The reference to 'more rapidly get up to speed during slow-start without 
overshoot' is a bit opaque. Rather than "describing by reference", it 
needs to describe the lack of ability to send patterns of packets (e.g. 
chirps) and be able to time the gaps between the ACKs. At minimum, the 
citation should refer to Appendix B.4, which was the mechanism proposed 
to do ACK pull at the time.

S.3.4 Beyond classic ACK transmission behavior

It ought to mention that many link technologies (Satellite, DOCSIS, LTE, 
WiFi, ...?) do TCP ACK thinning 'cos TCP doesn't do it itself, but it 
improves performance (when the ACK stream becomes the bottleneck for the 
forward path, because many reverse paths have pathetic bandwidth, esp. 
if a parallel upload is going on).

See "ACK Scaling and Performance on AsymmetricPaths"
https://erg.abdn.ac.uk/~downloads/ackscaling.pdf

4.2. Per-segment granularity

Between per-segment and permanent, there's per-connection suppression. 
I'm not saying that would be any use, I'm just saying it doesn't have to 
be permanent.

4.4 Support for enabling generic ACK ratios

This reminds me of a subtle additional requirement. When you move from 
ACK pull to controlling the ACK ratio, there's an important distinction 
between a sender's packet stopping the receiver delaying the ACK for 
/that/ packet (as in ACK pull), vs. setting the receiver's Delayed ACK 
policy for /that and subsequent/ packets.

This raises the question, should the mechanism use soft state (repeated 
in every packet), or connection state (remembered by the receiver)? 
Which is hinted at in your section on "safe return to normal operation".x

4.10+ Extra requirement: Who's in control?

The receiver cannot be expected to control ACKs in any way the sender 
wants, which it will not always be able to honour anyway. So the 
semantics have to be of a hint, not a request or a command. Then there's 
the question of whether the receiver just does what it wants, or whether 
it ought to tell the sender it's not doing what it was asked.

It might seem that the the receiver silently not doing what it's told is 
the simple case. However,  it adds complexity to anything trying to rely 
on the behaviour (e.g. the slow start examples).


A good first draft.
Thank you.



Bob

On 15/03/2020 09:47, Carles Gomez Montenegro wrote:
> Hi Bob,
>
> Thanks, once again, for your kind suggestions!
>
> We agreed with your proposal below, and we published the initial version
> of a new I-D [1] that has the aim that you described below (i.e.
> requirements analysis plus discussion of suggested solutions).
>
> We hope the document can be useful to analyze the problem space in a more
> comprehensive approach.
>
> Should you have further comments, please do not hesitate to let us know!
>
> Cheers,
>
> Carles
>
> [1] https://tools.ietf.org/html/draft-gomez-tcpm-delack-suppr-reqs-00
>
>
>> Carles,
>>
>> It strikes me that there is a lot of interest in doing something like
>> ACK-pull, but also a lot of disagreement in where to draw the line
>> between what to do and what not to do.
>>
>> Can I suggest that a way to resolve this would be to start with an
>> informational requirements draft, that I am sure would be adopted as WG
>> business immediately given the interest. Whereas any particular choice
>> of mechanism at this stage would probably not get the necessary
>> consensus to be adopted.
>>
>> The requirements draft could discuss solutions, not as a "on this we all
>> agree" protocol, but in terms of their pros and cons, e.g. which
>> mechanisms could satisfy which requirements, so they can be judged
>> relative to each mechanism's complexity / traversibility / usage of bits
>> / etc.
>>
>> I will warn you that a requirements draft could itself add years to the
>> process (the accurate ECN requirements did [RFC7560]). But not if we
>> agree to allow a solution draft to start in parallel once the
>> requirements are starting to converge, rather than waiting for the
>> requirements to go thru the full RFC process.
>>
>>
>> You might prefer to continue evangelising ack-pull as a sufficient
>> solution, so I don't want to say a requirements draft is the only way
>> forward. But you saw my comment earlier - that once you've been through
>> all the years of effort of getting anything changed in TCP, you
>> sometimes feel that you wish you'd been more ambitious than just one bit
>> at the start.
>>
>>
>> Bob
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm

-- 
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/