Re: [tcpm] On Sender Control of Delayed Acks in TCP
Bob Briscoe <ietf@bobbriscoe.net> Fri, 01 May 2020 18:20 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 557883A1922 for <tcpm@ietfa.amsl.com>; Fri, 1 May 2020 11:20:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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_FAIL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 Uu6f8yMXzmgK for <tcpm@ietfa.amsl.com>; Fri, 1 May 2020 11:20:20 -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 811C13A1921 for <tcpm@ietf.org>; Fri, 1 May 2020 11:20:20 -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=1dgmDOeo/3QSfwXXFGQ7qdwHaJN6maA3sKsnZ1EV+sM=; b=0SpkEuaOXwv7RNGAouHxtiqtK MTDBPZdYQxALtdZTwnaETDFpwLngl1PdHH+I3F44EX5rQJA2oybi4NBwnlghMYaArd1V1hYZ+n3e/ j6JAmRtl3nasrlXWMkV70S6Tj01rDK0B19XG3RJidSrHLwyBwiV42rp+Y3ao2a843mm1e3+TTiaXn yFbrx/U8RrZ2Ry7nihlp1a/Mx7BIPURAADMKAA8OtuvFGuoHzBiFoPQ0xDjg3l0p6oXX4iamd6s3R yMDSWf+05WkjVqbDpUSeb4ZxCYzeuqdoEThjLXepiryWn10VL1vKsuEHDK5Ggavwb4lZkygIwDhjM /Qf7wi0GA==;
Received: from [31.185.128.97] (port=47508 helo=[192.168.0.6]) 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 1jUaGo-00CnEZ-2b; Fri, 01 May 2020 19:20:18 +0100
To: Neal Cardwell <ncardwell@google.com>, Carles Gomez Montenegro <carlesgo@entel.upc.edu>
Cc: "Scheffenegger, Richard" <rs.ietf@gmx.at>, "tcpm@ietf.org" <tcpm@ietf.org>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, jon.crowcroft@cl.cam.ac.uk
References: <683902e8-a2af-cfb7-ffd0-c5c5742e5bd5@gmx.at> <CADVnQykY3OqXy=RcEfa-OpfK2x=W5_FTrdrx7PvKuqgEt92uNw@mail.gmail.com> <7d145f1203f6344b92f6f8aa11a78239.squirrel@webmail.entel.upc.edu> <CADVnQy=wPUx62y7VNqjSPP+snKX4vVvK5q=qqYb1j+0nGrtezQ@mail.gmail.com>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <c6da08f4-03d7-da46-26b1-168f5953329f@bobbriscoe.net>
Date: Fri, 01 May 2020 19:20:16 +0100
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: <CADVnQy=wPUx62y7VNqjSPP+snKX4vVvK5q=qqYb1j+0nGrtezQ@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------7C9D3AA6516DE9755D176408"
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/jJOC0oUIpjwRlfpqiQH5KvTxNTU>
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 18:20:23 -0000
Neal, On 01/05/2020 13:19, Neal Cardwell wrote: > On Fri, May 1, 2020 at 6:23 AM Carles Gomez Montenegro > <carlesgo@entel.upc.edu> wrote: >> Hi Neil, >> >> Thanks a lot for your comments! >> >> Please find below my inline responses: >> >>> On Wed, Apr 29, 2020 at 1:03 PM Scheffenegger, Richard <rs.ietf@gmx.at> >>> wrote: >>>> 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 >>> Yes, agreed. >>> >>> IMHO an explicit ACK-pull mechanism would be very nice for the cwnd<=1 >>> case. >> (While this question is about the solution space, I'm anyway curious...) >> In the context of datacenter networks, would you have any suggestion or >> preference regarding the solutions that have been mentioned so far? >> >> Or perhaps any particular requirement for a potential solution? > Among the solutions outlined in > https://tools.ietf.org/html/draft-gomez-tcpm-delack-suppr-reqs-00 > my first preference would be the AKP option, since that approach > avoids burning a precious flag bit. [BB] Eh? AKP does burn a flag bit (and you say it does below). Quoting the draft: TCP ACK Pull defines the AKP flag as bit number 6 of the 13th byte of the TCP header. (BTW, Carles, in this quoted sentence, you ought to call it "the TCP ACK Pull /proposal/" otherwise sounds like it's an official part of TCP already.) > > The AKP option may be stripped by some middleboxes, but (a) as a > performance optimization, that should be acceptable, and (b) for the > datacenter case (where cwnd=1 is a motivating use case) this should > not be a concern. > > IMHO a flag bit makes sense for a small signal that a sender might > want to send frequently or at a high rate, but senders should not be > trying to force immediate ACKs frequently. [BB] For me, the problem with the AKP approach is that it's /only/ really good in environments where you've got a small window. When you have a large window and you can cope with a certain ACK ratio (say 1:16), you would have to set AKP on every 16th packet, which doesn't really express what the sender wants (and if the receiver had just sent an ACK of its own accord just before it got one of these regular AKP requests, should it send another?). The sender in this case really wants to say "I don't particularly mind which packets you ACK, but there's no need to do it more often than 1:16". I think there's some mileage in a TCP Option that aggregates a few behaviours together under one new TCP Option. I reckon 3 bits would be enough for a good delayed ACK option, but a whole TCP Option for that could be overkill. There was going to be a talk about a low latency TCP Option in netdev0x14 before it was postponed (sorry I don't remember who by). That might be a good excuse to collect together a few related functions. It could also improve the deployment incentives. Bob > > best, > neal -- ________________________________________________________________ Bob Briscoe http://bobbriscoe.net/
- [tcpm] On Sender Control of Delayed Acks in TCP Scheffenegger, Richard
- Re: [tcpm] On Sender Control of Delayed Acks in T… Neal Cardwell
- Re: [tcpm] On Sender Control of Delayed Acks in T… Jonathan Morton
- Re: [tcpm] On Sender Control of Delayed Acks in T… Carles Gomez Montenegro
- Re: [tcpm] On Sender Control of Delayed Acks in T… Carles Gomez Montenegro
- Re: [tcpm] On Sender Control of Delayed Acks in T… Neal Cardwell
- Re: [tcpm] On Sender Control of Delayed Acks in T… Bob Briscoe
- Re: [tcpm] On Sender Control of Delayed Acks in T… Carles Gomez Montenegro
- Re: [tcpm] On Sender Control of Delayed Acks in T… Carles Gomez Montenegro
- Re: [tcpm] On Sender Control of Delayed Acks in T… Neal Cardwell
- Re: [tcpm] On Sender Control of Delayed Acks in T… Michael Tuexen
- Re: [tcpm] On Sender Control of Delayed Acks in T… Neal Cardwell
- Re: [tcpm] On Sender Control of Delayed Acks in T… Matt Mathis
- Re: [tcpm] On Sender Control of Delayed Acks in T… Gorry Fairhurst
- Re: [tcpm] On Sender Control of Delayed Acks in T… Ian Swett
- Re: [tcpm] On Sender Control of Delayed Acks in T… Gorry Fairhurst
- Re: [tcpm] On Sender Control of Delayed Acks in T… Ian Swett
- Re: [tcpm] On Sender Control of Delayed Acks in T… Gorry Fairhurst
- Re: [tcpm] [EXTERNAL] Re: On Sender Control of De… Praveen Balasubramanian
- Re: [tcpm] [EXTERNAL] Re: On Sender Control of De… Carles Gomez Montenegro
- Re: [tcpm] [EXTERNAL] Re: On Sender Control of De… Joseph Touch
- Re: [tcpm] [EXTERNAL] Re: On Sender Control of De… Carles Gomez Montenegro
- Re: [tcpm] [EXTERNAL] Re: On Sender Control of De… Joseph Touch
- Re: [tcpm] [EXTERNAL] Re: On Sender Control of De… Carles Gomez Montenegro