General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Benjamin Cronce <bcronce@gmail.com>
To: Mikael Abrahamsson <swmike@swm.pp.se>
Cc: Dave Taht <dave.taht@gmail.com>, bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] benefits of ack filtering
Date: Mon, 11 Dec 2017 14:15:51 -0600	[thread overview]
Message-ID: <CAJ_ENFEzdPxOK4iJi6UswQurptzQEM29QTO-LKEFaLvR3q1u=Q@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1711290655590.32099@uplift.swm.pp.se>

[-- Attachment #1: Type: text/plain, Size: 2386 bytes --]

I wonder if TCP could be effectively changed to send an ACK every
WindowSize/N number of packets. We'd need to be careful about how this
would affect 'slow start'.

On Wed, Nov 29, 2017 at 12:09 AM, Mikael Abrahamsson <swmike@swm.pp.se>
wrote:

> On Tue, 28 Nov 2017, Dave Taht wrote:
>
> Recently Ryan Mounce added ack filtering cabilities to the cake qdisc.
>>
>> The benefits were pretty impressive at a 50x1 Down/Up ratio:
>>
>> http://blog.cerowrt.org/post/ack_filtering/
>>
>> And quite noticeable at 16x1 ratios as well.
>>
>> I'd rather like to have a compelling list of reasons why not to do
>> this! And ways to do it better, if not. The relevant code is hovering
>> at:
>>
>> https://github.com/dtaht/sch_cake/blob/cobalt/sch_cake.c#L902
>>
>
> Your post is already quite comprehensive when it comes to downsides.
>
> The better solution would of course be to have the TCP peeps change the
> way TCP works so that it sends fewer ACKs. I don't want middle boxes making
> "smart" decisions when the proper solution is for both end TCP speakers to
> do less work by sending fewer ACKs. In the TCP implementations I tcpdump
> regularily, it seems they send one ACK per 2 downstream packets.
>
> At 1 gigabit/s that's in the order of 35k pps of ACKs (100 megabyte/s
> divided by 1440 divided by 2). That's in my opinion completely ludicrous
> rate of ACKs for no good reason.
>
> I don't know what the formula should be, but it sounds like the ACK
> sending ratio should be influenced by how many in-flight ACKs there might
> be. Is there any reason to have more than 100 ACKs in flight at any given
> time? 500? 1000?
>
> My DOCSIS connection (inferred through observation) seems to run on 1ms
> upstream time slots, and my modem will delete contigous ACKs at 16 or 32
> ACK intervals, ending up running at typically 1-2 ACKs per 1ms time slot.
> This cuts down the ACK rate when I do 250 megabit/s downloads from 5-8
> megabit/s to 400 kilobit/s of used upstream bw.
>
> Since this ACK reduction is done on probably hundreds of millions of
> fixed-line subscriber lines today, what arguments do designers of TCP have
> to keep sending one ACK per 2 received TCP packets?
>
> --
> Mikael Abrahamsson    email: swmike@swm.pp.se
>
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
>

[-- Attachment #2: Type: text/html, Size: 3470 bytes --]

  parent reply	other threads:[~2017-12-11 20:15 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-28 21:48 Dave Taht
2017-11-29  6:09 ` Mikael Abrahamsson
2017-11-29  9:34   ` Sebastian Moeller
2017-11-29 12:49     ` Mikael Abrahamsson
2017-11-29 13:13       ` Luca Muscariello
2017-11-29 14:31         ` Mikael Abrahamsson
2017-11-29 14:36           ` Jonathan Morton
2017-11-29 15:24             ` Andrés Arcia-Moret
2017-11-29 15:53           ` Luca Muscariello
     [not found]             ` <CAJq5cE3qsmy8EFYZmQsLL_frm8Tty9Gkm92MQPZ649+kpM1oMw@mail.gmail.com>
2017-11-29 16:13               ` Jonathan Morton
2017-11-30  7:03             ` Michael Welzl
2017-11-30  7:24               ` Dave Taht
2017-11-30  7:45               ` Dave Taht
2017-11-30  7:48               ` Jonathan Morton
2017-11-30  8:00                 ` Luca Muscariello
2017-11-30 10:24                 ` Eric Dumazet
2017-11-30 13:04                   ` Mikael Abrahamsson
2017-11-30 15:51                     ` Eric Dumazet
2017-12-01  0:28                     ` David Lang
2017-12-01  7:09                       ` Jan Ceuleers
2017-12-01 12:53                         ` Toke Høiland-Jørgensen
2017-12-01 13:13                           ` [Bloat] [Make-wifi-fast] " Кирилл Луконин
2017-12-01 13:22                             ` Luca Muscariello
2017-12-11 17:42                             ` Simon Barber
2017-12-01 13:17                           ` [Bloat] " Luca Muscariello
2017-12-01 13:40                             ` Toke Høiland-Jørgensen
2017-12-01 17:42                               ` Dave Taht
2017-12-01 20:39                                 ` Juliusz Chroboczek
2017-12-03  5:20                                   ` [Bloat] [Make-wifi-fast] " Bob McMahon
2017-12-03 10:35                                     ` Juliusz Chroboczek
2017-12-03 11:40                                       ` Jan Ceuleers
2017-12-03 13:57                                         ` Juliusz Chroboczek
2017-12-03 14:07                                           ` Mikael Abrahamsson
2017-12-03 19:53                                             ` Juliusz Chroboczek
2017-12-03 14:09                                           ` Ryan Mounce
2017-12-03 19:54                                             ` Juliusz Chroboczek
2017-12-03 20:14                                               ` Sebastian Moeller
2017-12-03 22:27                                                 ` Dave Taht
2017-12-03 15:25                                           ` Robert Bradley
2017-12-04  3:44                                         ` Dave Taht
2017-12-04 14:38                                           ` David Collier-Brown
2017-12-04 15:44                                             ` Juliusz Chroboczek
2017-12-04 17:17                                               ` David Collier-Brown
2017-12-03 19:04                                       ` Bob McMahon
2017-12-01 21:17                                 ` Bob McMahon
2017-12-01  8:45                       ` [Bloat] " Sebastian Moeller
2017-12-01 10:45                         ` Luca Muscariello
2017-12-01 18:43                           ` Dave Taht
2017-12-01 18:57                             ` Luca Muscariello
2017-12-01 19:36                               ` Dave Taht
2017-11-30 14:51                   ` Neal Cardwell
2017-11-30 15:55                     ` Eric Dumazet
2017-11-30 15:57                       ` Neal Cardwell
2017-11-29 16:50       ` Sebastian Moeller
2017-12-12 19:27         ` Benjamin Cronce
2017-12-12 20:04           ` Dave Taht
2017-12-12 21:03           ` David Lang
2017-12-12 21:29             ` Jonathan Morton
2017-12-12 22:03           ` Jonathan Morton
2017-12-12 22:21             ` David Lang
     [not found]               ` <CAJq5cE3nfSQP0GCLjp=X0T-iHHgAs=YUCcr34e3ARgkrGZe-wg@mail.gmail.com>
2017-12-12 22:41                 ` Jonathan Morton
2017-12-13  9:46                   ` Mikael Abrahamsson
2017-12-13 10:03                     ` Jonathan Morton
2017-12-13 12:11                       ` Sebastian Moeller
2017-12-13 12:18                         ` Jonathan Morton
2017-12-13 12:36                     ` Sebastian Moeller
2017-12-13 12:39             ` Luca Muscariello
2017-11-29 18:21   ` Juliusz Chroboczek
2017-11-29 18:41     ` Dave Taht
2017-11-29 23:29       ` Steinar H. Gunderson
2017-11-29 23:59       ` Stephen Hemminger
2017-11-30  0:21         ` Eric Dumazet
2017-12-11 20:15   ` Benjamin Cronce [this message]
2017-11-29 18:28 ` Juliusz Chroboczek
2017-11-29 18:48   ` Dave Taht
2017-12-11 18:30   ` Jonathan Morton

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/bloat.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ_ENFEzdPxOK4iJi6UswQurptzQEM29QTO-LKEFaLvR3q1u=Q@mail.gmail.com' \
    --to=bcronce@gmail.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    --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