From: Dave Taht <dave.taht@gmail.com>
To: Juliusz Chroboczek <jch@irif.fr>
Cc: Mikael Abrahamsson <swmike@swm.pp.se>,
bloat <bloat@lists.bufferbloat.net>,
Cake List <cake@lists.bufferbloat.net>
Subject: Re: [Cake] [Bloat] benefits of ack filtering
Date: Wed, 29 Nov 2017 10:41:41 -0800 [thread overview]
Message-ID: <CAA93jw6ZBeCoTGwkS6e6+4TMOTM7YmQFYoMSxSBjTjn8e3gQqw@mail.gmail.com> (raw)
In-Reply-To: <7i1skhrln1.wl-jch@irif.fr>
On Wed, Nov 29, 2017 at 10:21 AM, Juliusz Chroboczek <jch@irif.fr> wrote:
>> The better solution would of course be to have the TCP peeps change the
>> way TCP works so that it sends fewer ACKs.
>
> Which tends to perturb the way the TCP self-clocking feedback loop works,
> and to break Nagle.
Linux TCP is no longer particularly ack-clocked. In the post pacing,
post sch_fq world, packets are released (currently) on a 1ms schedule.
Support was recently released for modifying that schedule on a per
driver basis, which turns out to be helpful for wifi.
see: https://www.spinics.net/lists/netdev/msg466312.html
>
>> In the TCP implementations I tcpdump regularily, it seems they send one
>> ACK per 2 downstream packets.
>
> That's the delack algorithm. One of the stupidest algorithms I've had the
> displeasure of looking at (a fixed 500ms timeout, sheesh).
Nagle would probably agree. He once told me he wished for 1 ack per
data packet...
We were young then.
>
> And yes, it breaks Nagle.
>
>> I don't want middle boxes making "smart" decisions
Ironically, it was dave reed's (co-author of the end to end argument)
50x1 ratio network connection that was an impetus to look harder at
this, and what I modeled in
http://blog.cerowrt.org/post/ack_filtering/
(I note there is discussion and way more tests landing on the cake mailing list)
The astounding number was that we were able to drop 70% of all packets
(and 90+% of acks) without doing any visible harm on the tests.
>
> I agree, especially if they use transport-layer data to make their
> decisions.
I'm not particularly fond of the idea myself! But I didn't invent
severe network asymmetry, or cpus that can't context switch worth a
damn.
>> Since this ACK reduction is done on probably hundreds of millions of
>> fixed-line subscriber lines today,
What I'd started with was wanting to create impairments for netem that
matched common ack-filtering schemes in the field already.
> what arguments do designers of TCP have
>> to keep sending one ACK per 2 received TCP packets?
this would be a good list to have.
I note osx does stretch acks by default.
>
> I think it's about growing the TCP congestion window fast enough. Recall
> that that AIMD counts received ACKs, not ACKed bytes.
the cake code has a specific optimization to preserve slow start. It
can be improved.
>
> (And not breaking Nagle.)
>
> -- Juliusz
--
Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
next parent reply other threads:[~2017-11-29 18:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAA93jw47ZAXAJmiOVCb2NR3JRcCfmX0TLr+55O0G+J6HCW5bVQ@mail.gmail.com>
[not found] ` <alpine.DEB.2.20.1711290655590.32099@uplift.swm.pp.se>
[not found] ` <7i1skhrln1.wl-jch@irif.fr>
2017-11-29 18:41 ` Dave Taht [this message]
2017-11-29 23:29 ` Steinar H. Gunderson
2017-11-29 23:59 ` Stephen Hemminger
2017-11-30 0:21 ` Eric Dumazet
[not found] ` <7izi75q6rj.wl-jch@irif.fr>
2017-11-29 18:48 ` Dave Taht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAA93jw6ZBeCoTGwkS6e6+4TMOTM7YmQFYoMSxSBjTjn8e3gQqw@mail.gmail.com \
--to=dave.taht@gmail.com \
--cc=bloat@lists.bufferbloat.net \
--cc=cake@lists.bufferbloat.net \
--cc=jch@irif.fr \
--cc=swmike@swm.pp.se \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox