Re: [tcpm] On Sender Control of Delayed Acks in TCP
Carles Gomez Montenegro <carlesgo@entel.upc.edu> Sat, 02 May 2020 09:40 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 7653E3A0CAF for <tcpm@ietfa.amsl.com>; Sat, 2 May 2020 02:40:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 tWR6-7-7OjbJ for <tcpm@ietfa.amsl.com>; Sat, 2 May 2020 02:40:25 -0700 (PDT)
Received: from violet.upc.es (violet.upc.es [147.83.2.51]) (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 70A913A0CAA for <tcpm@ietf.org>; Sat, 2 May 2020 02:40:24 -0700 (PDT)
Received: from entelserver.upc.edu (entelserver.upc.es [147.83.39.4]) by violet.upc.es (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id 0429dUto006928; Sat, 2 May 2020 11:39:30 +0200
Received: from webmail.entel.upc.edu (webmail.entel.upc.edu [147.83.39.6]) by entelserver.upc.edu (Postfix) with ESMTP id BBC381D53C1; Sat, 2 May 2020 11:39:29 +0200 (CEST)
Received: from 83.53.208.128 by webmail.entel.upc.edu with HTTP; Sat, 2 May 2020 11:39:30 +0200
Message-ID: <909de4172e46712f543f723d0ae2d638.squirrel@webmail.entel.upc.edu>
In-Reply-To: <c6da08f4-03d7-da46-26b1-168f5953329f@bobbriscoe.net>
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> <c6da08f4-03d7-da46-26b1-168f5953329f@bobbriscoe.net>
Date: Sat, 02 May 2020 11:39:30 +0200
From: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
To: Bob Briscoe <ietf@bobbriscoe.net>
Cc: Neal Cardwell <ncardwell@google.com>, "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
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 violet
X-Virus-Status: Clean
X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.3.9 (violet.upc.es [147.83.2.51]); Sat, 02 May 2020 11:39:31 +0200 (CEST)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/M38ENBr1jw36t76X_2Rbb-2fpA0>
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: Sat, 02 May 2020 09:40:33 -0000
Hi Bob, (Chiming in...) > 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. [CG] I think that Neal referred to section 5.4 of the requirements draft ("A new 'ACK Pull' TCP option"). > (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.) [CG] Well noted, thanks! (Nevertheless, if that other document went ahead, I guess that "proposal" would need to be eventually removed.) >> 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. [CG] Thanks for the comments! [CG] It seems that there are two different areas where avoiding the typical Delayed ACKs approach may be of particular interest: i) scenarios where very small window sizes are used (cwnd=1), and ii) scenarios where large window sizes, and high ACK ratios, can be used. We will reflect these considerations in the next draft update. Cheers, Carles > 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