Re: [tcpm] On Sender Control of Delayed Acks in TCP

Carles Gomez Montenegro <carlesgo@entel.upc.edu> Fri, 01 May 2020 09:51 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 1ED823A0D83 for <tcpm@ietfa.amsl.com>; Fri, 1 May 2020 02:51:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level:
X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, 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 EeTrvo3OWvmo for <tcpm@ietfa.amsl.com>; Fri, 1 May 2020 02:51:29 -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 241CA3A0D80 for <tcpm@ietf.org>; Fri, 1 May 2020 02:51:28 -0700 (PDT)
Received: from entelserver.upc.edu (entelserver.upc.es [147.83.39.4]) by dash.upc.es (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id 0419pJoJ008505; Fri, 1 May 2020 11:51:19 +0200
Received: from webmail.entel.upc.edu (webmail.entel.upc.edu [147.83.39.6]) by entelserver.upc.edu (Postfix) with ESMTP id A39B61D53C1; Fri, 1 May 2020 11:51:18 +0200 (CEST)
Received: from 83.53.208.128 by webmail.entel.upc.edu with HTTP; Fri, 1 May 2020 11:51:19 +0200
Message-ID: <4848dd0eef4ca96ac3a5076d287a324b.squirrel@webmail.entel.upc.edu>
In-Reply-To: <683902e8-a2af-cfb7-ffd0-c5c5742e5bd5@gmx.at>
References: <683902e8-a2af-cfb7-ffd0-c5c5742e5bd5@gmx.at>
Date: Fri, 01 May 2020 11:51:19 +0200
From: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
To: "Scheffenegger, Richard" <rs.ietf@gmx.at>
Cc: "tcpm@ietf.org" <tcpm@ietf.org>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, 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: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.3.9 (dash.upc.es [147.83.2.50]); Fri, 01 May 2020 11:51:20 +0200 (CEST)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/nmSnCraqLpqYZT3eZzJR2e5G3Ig>
Subject: Re: [tcpm] On Sender Control of Delayed Acks in TCP
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: Fri, 01 May 2020 09:51:31 -0000

Hi Richard,

Thanks a lot for your detailed explanation, pointers and comments.

Please find below my inline responses:

> Hi,
>
>
> as many here know, I'm very much interested in transactional data
> exchange across TCP sessions, rather than the more common architectural
> approach of assuming unlimited data to transmit unidirectional.
>
> One of the issues in that space is, that these application limited
> sessions can very frequently run out of data, and expirience idle periods.
>
> Eliciting an ACK under certain circumstances, for a timely continuation
> of the data transmission / growth of the congestion window is a known
> method to reduce network delay.
>
> E.g. Linux has been using the CWR flag for the purpose of sending out an
> immediate ACK by the receiver, since there is an increased chance of a
> very small cwnd when the sender had just reduced it's congestion window.
>
> https://lore.kernel.org/patchwork/patch/970486/
>
> and we also found latency improvements doing this when running
> ECN-enabled sessions
>
> https://reviews.freebsd.org/D22670
>
> There are also numerous advisories, suggesting to disable delayed ACK
> completely when latency and/or timely bandwidth recovery under
> adversarial conditions is a major driver (e.g.
> https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/esxi7-nfs-read-perf.pdf
> for one that was just published very recently).

This is, all, very useful feedback!

We plan to document the "ACK Pull" approach described above in our draft,
and the associated rationale.

Also, in our draft we currently mention that completely disabling delayed
ACKs might not be a good solution, but as you mentioned, there may be
environments where it may make sense to do so. We will add a note on this
as well.

> To summarize: While I agree that under steady load conditions, there are
> probably some benefits to be had by TCP itself thinning out ACKs, and
> address certain environment (e.g. asymetric link bandwidth), there are
> also conditions, where a timely ACK is crucial in maintaining low
> latency and timely bandwidth recovery. Short of having a mechansim do
> explicitly do this, at least for the latter issue, TLP (or TLP-like)
> methods are the only ones to currently address that - but the duplicate
> unconditional transmission of a (small) data packet does have additional
> cost associated with it.

Thanks for the assessment of the need for ACK thinning and ACK Pull
(depending on the considered scenario).

Cheers,

Carles


> Best regards,
>     Richard
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>