Re: [tcpm] Delayed ACKs vs. Nagle (was: RE: [aqm] TCP ACK Suppression)
Yuchung Cheng <ycheng@google.com> Sun, 11 October 2015 16:29 UTC
Return-Path: <ycheng@google.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 68A641A03D5 for <tcpm@ietfa.amsl.com>; Sun, 11 Oct 2015 09:29:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.389
X-Spam-Level:
X-Spam-Status: No, score=-1.389 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=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 ExVI9dedEqt1 for <tcpm@ietfa.amsl.com>; Sun, 11 Oct 2015 09:29:34 -0700 (PDT)
Received: from mail-vk0-x22a.google.com (mail-vk0-x22a.google.com [IPv6:2607:f8b0:400c:c05::22a]) (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 2CFBA1A037F for <tcpm@ietf.org>; Sun, 11 Oct 2015 09:29:34 -0700 (PDT)
Received: by vkgc187 with SMTP id c187so11804860vkg.3 for <tcpm@ietf.org>; Sun, 11 Oct 2015 09:29:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=oryCgVvGoCzO749jHxkn05Y2qChcOr8pGrgCCuKUprs=; b=R+Oj8VlIGhFu5HcQhr31MzGmipop+Ax4O3zYuhtRK8iKO554ScpCrwbkBYfWTgNbc6 +v8QnUnOLUeb4tiMaHvFp0lJhAXTddE5m34T4SvV5T6tTsLElCxYo8ByeqXH6d9DvDsp FO+hKOJxbQSbV9VPsuQRTLPc+XM/s18Ub/cYZx/KLc3188L1gnuqzWrP37VAJSXrBvdr 1OMETgbvCuWO5+JfFbslCpfB7mOAiSJv2wN0EBJ0VEYqoTzcliLt1G0zRSQneK/pWWUE c2jHNVy+zh5KxX1BUyD8gtsVDH6+2beQPpn+axzZ6884oXRZunPvzUolMgrVnJg9MVmh Sl6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:content-transfer-encoding; bh=oryCgVvGoCzO749jHxkn05Y2qChcOr8pGrgCCuKUprs=; b=cNUm0D7qotvPPYXXMMC12Z53wrxoBZrym8FUJVDKEgzxOH8bcqRtES9x3WaXpvVnZB hB8TOet5IEhYnnK/pOlMjiJTAG5Ku22dS2R2DgpTudRHGITGu1zBZ/L5TonhgAd757Gr 2NtqxAsI5lt2p0y2FNur7UEjOqpfKM/lp0xQECo+cFwGMnW4ltUNL5OcfwDSxNbPDE87 DgxsCsMOxdDUPvJgleU+1QN85wOfj8NeFXY19cpQzUT8scQ2/Yh5i5cpJe9eO6ZLnaPA A7CtfIRBb+b0BxpD9dkPKkMADGJpiys1BPG0yyE+39r6ljMiNlyJdwarUzix6vrKuT+S Tjhw==
X-Gm-Message-State: ALoCoQlZfLiT6ob93AWjhxwthf18r3qcxfxsM8g0N07vaJqBlBAzUzJYRpqrFa7h2q81VDD75t1j
X-Received: by 10.31.185.12 with SMTP id j12mr14066489vkf.98.1444580973214; Sun, 11 Oct 2015 09:29:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.31.153.134 with HTTP; Sun, 11 Oct 2015 09:28:53 -0700 (PDT)
In-Reply-To: <655C07320163294895BBADA28372AF5D484FFC3F@FR712WXCHMBA15.zeu.alcatel-lucent.com>
References: <alpine.DEB.2.02.1510060748480.8750@uplift.swm.pp.se> <D2394BB6.548C5%g.white@cablelabs.com> <0A452E1DADEF254C9A7AC1969B8781284A7D9B66@FR712WXCHMBA13.zeu.alcatel-lucent.com> <5616DCD9.8@isi.edu> <alpine.DEB.2.02.1510081428470.3852@nftneq.ynat.uz> <CAK6E8=ePXkK4-=As2QQJCZjOyK7-NvC2njiYrsLzGEsqqFDJxg@mail.gmail.com> <655C07320163294895BBADA28372AF5D484FCA01@FR712WXCHMBA15.zeu.alcatel-lucent.com> <5617C4BF.6040504@mti-systems.com> <655C07320163294895BBADA28372AF5D484FD4EA@FR712WXCHMBA15.zeu.alcatel-lucent.com> <96FC85CD93C14C7FADC014391BAFE03E@srichardlxp2> <BN1PR03MB008B0DCB234493AD83A6695B6340@BN1PR03MB008.namprd03.prod.outlook.com> <CAK6E8=cMQG2YMtJKkOD0tR=tjtdiBs9KNe9qnkRCXr+PLonD7A@mail.gmail.com> <655C07320163294895BBADA28372AF5D484FFC3F@FR712WXCHMBA15.zeu.alcatel-lucent.com>
From: Yuchung Cheng <ycheng@google.com>
Date: Sun, 11 Oct 2015 09:28:53 -0700
Message-ID: <CAK6E8=d8rxQ40iNg78UYNN-fUsEdC8JfKfKdBmCFetMeR2t97A@mail.gmail.com>
To: "Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/tcpm/bIqB43NIN7S77oe_nj4MA1JJQ_w>
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] Delayed ACKs vs. Nagle (was: RE: [aqm] TCP ACK Suppression)
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
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, 11 Oct 2015 16:29:36 -0000
On Sun, Oct 11, 2015 at 7:41 AM, Scharf, Michael (Michael) <michael.scharf@alcatel-lucent.com> wrote: > As far as I recall (Wes can correct me if I am wrong) we have an open issue > in 793bis regarding that issue. > > > > See draft-ietf-tcpm-rfc793bis-01 Section 4: > > > > 11. look at possible mention of draft-minshall-nagle (e.g. as in > > Linux) > > > > The challenge is that for 793bis we would need a Proposed Standard RFC > specifying how to sort out this interaction, unless we extend the scope of > 793bis beyond what we agreed upon (i.e., only clarification, no protocol > changes). > > > > I have personally never looked at how that logic is actually implemented in > different stacks, and I actually don’t know if there has ever been community > consensus on how the exact solution to that interaction should look like. > > > > But if we have a gap to what is widely implemented, and if it was realistic > to publish a PS RFC before completing 793bis (I guess it could be a 2-page > RFC), I’d argue in favor of a “fast track” PS publication. (Well, with > ‘fast’ being relative to our normal PS publication speed.) I am not sure what your concern is: are you concerned Minshall's revision to Nagle's algorithm on the sender would interact badly with Mr. Nagle's idea to improve delayed-ACKs at the receiver? > > > > Michael > > > > > > From: Yuchung Cheng [mailto:ycheng@google.com] > Sent: Saturday, October 10, 2015 2:19 AM > To: Praveen Balasubramanian > Cc: Richard Scheffenegger; Scharf, Michael (Michael); Wesley Eddy; Joe > Touch; LAUTENSCHLAEGER, Wolfram (Wolfram); David Lang; tcpm@ietf.org > Subject: Re: [tcpm] [aqm] TCP ACK Suppression > > > > > > > > On Fri, Oct 9, 2015 at 4:25 PM, Praveen Balasubramanian > <pravb@microsoft.com> wrote: > > Agreed that delayed ACK timeout should be a function of RTT than a hardcoded > value. Windows 8 onwards this is the behavior for high latency connections. > Windows Server uses a 1 msec delayed ACK timeout for low latency > (datacenter) connections. > > And while we are on the topic of delayed ACKs, the bad interaction between > Nagling and delayed ACKs is well known. John Nagle's comment in HN which > suggests a per connection logic to throttle delayed ACKs: > "If you're going to do that, it's a good time to fix delayed ACK as well. As > is well known, the interaction between delayed ACKs and the Nagle algorithm > is awful. This is a historical accident; I implemented one, the Berkeley > guys implemented the other, and by the time I found out I was out of > networking and involved with a small startup called Autodesk. So that never > got fixed. Here's how to think about that. A delayed ACK is a bet. You're > betting that there will be a reply, upon with an ACK can be piggybacked, > before the fixed timer runs out. If the fixed timer runs out, and you have > to send an ACK as a separate message, you lost the bet. Current TCP > implementations will happily lose that bet forever without turning off the > ACK delay. That's just wrong. The right answer is to track wins and losses > on delayed and non-delayed ACKs. Don't turn on ACK delay unless you're > sending a lot of non-delayed ACKs closely followed by packets on which the > ACK could have been piggybacked. Turn it off when a delayed ACK has to be > sent." > > Well .. Mr. Nagle will be glad to learn that Linux has implemented his (or > similar) idea for years. It's called QUICK_ACK. The decision window is a bit > short and can use some tuning. But it is not "never" fixed. > > > > Agree on that 500ms is ridiculous. > > > > > -----Original Message----- > From: tcpm [mailto:tcpm-bounces@ietf.org] On Behalf Of Richard Scheffenegger > Sent: Friday, October 9, 2015 3:53 PM > To: Scharf, Michael (Michael) <michael.scharf@alcatel-lucent.com>; Wesley > Eddy <wes@mti-systems.com>; Joe Touch <touch@isi.edu> > Cc: LAUTENSCHLAEGER, Wolfram (Wolfram) > <wolfram.lautenschlaeger@alcatel-lucent.com>; tcpm@ietf.org; David Lang > <david@lang.hm> > Subject: Re: [tcpm] [aqm] TCP ACK Suppression > > This might also be an opportunity to go more into the reasoning for the > 500ms maximum... > > Many implementations interpret "the delay MUST be less than 0.5 seconds" to > trigger the delayed ACK timer at 500ms (with this time a fixed, compile-time > value) - while it has been shown, that making that dynamic (or a based on > RTT and pps might be a more efficient approach (especially during loss at > end-of-stream), depending on the environment [1]. > > [I thought to have read a recent paper on tuning the delayed ACK timer down > to 1ms in datacenter environments, but cann't find that now]. > > Best regards, > Richard > > > > > [1] Altman, Eitan, and Tania Jiménez. "Novel delayed ACK techniques for > improving TCP performance in multihop wireless networks." Personal Wireless > Communications. Springer Berlin Heidelberg, 2003. > > > ----- Original Message ----- > From: "Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com> > To: "Wesley Eddy" <wes@mti-systems.com>; "Joe Touch" <touch@isi.edu> > Cc: "LAUTENSCHLAEGER, Wolfram (Wolfram)" > <wolfram.lautenschlaeger@alcatel-lucent.com>; "Greg White" > <g.white@cablelabs.com>; <tcpm@ietf.org>; "David Lang" <david@lang.hm> > Sent: Friday, October 09, 2015 5:21 PM > Subject: Re: [tcpm] [aqm] TCP ACK Suppression > > >> Yes, I have realized today myself that 793bis lacks that section. I agree >> that ACK generation belongs into 793bis. >> >> 793bis actually may open an opportunity to rethink the exact wording that >> explains this SHOULD. Personally, I believe replacing this SHOULD is not >> an option for a bis document. >> >> But if deviations from that SHOULD are widely deployed in the meantime, >> 793bis could possibly comment on that. Also, having some informational >> reference could perhaps be an option. >> >> Michael >> >> >> -----Original Message----- >> From: Wesley Eddy [mailto:wes@mti-systems.com] >> Sent: Friday, October 09, 2015 3:45 PM >> To: Scharf, Michael (Michael); Joe Touch >> Cc: LAUTENSCHLAEGER, Wolfram (Wolfram); Greg White; tcpm@ietf.org; David >> Lang >> Subject: Re: [tcpm] [aqm] TCP ACK Suppression >> >> On 10/9/2015 5:21 AM, Scharf, Michael (Michael) wrote: >>> [Removing AQM, adding TCPM] >>> >>> >>> >>> Hi Joe, >>> >>> >>> >>> I don't find this text in RFC 793, but it is contained in RFC 2581, >>> which is obsolete by RFC 5681. >>> >>> >> >> >> To confuse matters further, there's also 1122 text with requirements >> language: >> >> A TCP SHOULD implement a delayed ACK, but an ACK should not >> be excessively delayed; in particular, the delay MUST be >> less than 0.5 seconds, and in a stream of full-sized >> segments there SHOULD be an ACK for at least every second >> segment. >> >> This probably belongs in 793bis. In my view, normative acknowledgement >> behavior belongs in the base spec rather than particular congestion >> control descriptions, since there may be more than CC that depends upon it >> or makes assumptions about it. >> >> >> -- >> Wes Eddy >> MTI Systems >> >> _______________________________________________ >> tcpm mailing list >> tcpm@ietf.org >> https://www.ietf.org/mailman/listinfo/tcpm >> > > _______________________________________________ > tcpm mailing list > tcpm@ietf.org > https://www.ietf.org/mailman/listinfo/tcpm > > _______________________________________________ > tcpm mailing list > tcpm@ietf.org > https://www.ietf.org/mailman/listinfo/tcpm > >
- Re: [tcpm] [aqm] TCP ACK Suppression Scharf, Michael (Michael)
- Re: [tcpm] [aqm] TCP ACK Suppression Praveen Balasubramanian
- Re: [tcpm] [aqm] TCP ACK Suppression hiren panchasara
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Scharf, Michael (Michael)
- Re: [tcpm] [aqm] TCP ACK Suppression Scharf, Michael (Michael)
- Re: [tcpm] [aqm] TCP ACK Suppression Wesley Eddy
- Re: [tcpm] [aqm] TCP ACK Suppression Scharf, Michael (Michael)
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Mark Allman
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Greg White
- Re: [tcpm] [aqm] TCP ACK Suppression Greg White
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Richard Scheffenegger
- Re: [tcpm] [aqm] TCP ACK Suppression Praveen Balasubramanian
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Yuchung Cheng
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- [tcpm] Delayed ACKs vs. Nagle (was: RE: [aqm] TCP… Scharf, Michael (Michael)
- Re: [tcpm] Delayed ACKs vs. Nagle (was: RE: [aqm]… Yuchung Cheng
- Re: [tcpm] [aqm] TCP ACK Suppression David Lang
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression David Lang
- Re: [tcpm] [aqm] TCP ACK Suppression David Lang
- Re: [tcpm] Delayed ACKs vs. Nagle (was: RE: [aqm]… Scharf, Michael (Michael)
- Re: [tcpm] [aqm] TCP ACK Suppression Mikael Abrahamsson
- Re: [tcpm] [aqm] TCP ACK Suppression Bless, Roland (TM)
- Re: [tcpm] [aqm] TCP ACK Suppression David Lang
- Re: [tcpm] [aqm] TCP ACK Suppression David Lang
- Re: [tcpm] [aqm] TCP ACK Suppression Jeremy Harris
- Re: [tcpm] [aqm] TCP ACK Suppression Greg White
- Re: [tcpm] [aqm] TCP ACK Suppression Joe Touch
- Re: [tcpm] [aqm] TCP ACK Suppression David Lang
- Re: [tcpm] [aqm] TCP ACK Suppression David Lang
- Re: [tcpm] [aqm] TCP ACK Suppression David Lang
- Re: [tcpm] [aqm] TCP ACK Suppression Richard Scheffenegger