From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: cake@lists.bufferbloat.net
Subject: Re: [Cake] A few puzzling Cake results
Date: Wed, 18 Apr 2018 16:30:05 +0200 [thread overview]
Message-ID: <87r2nc1taq.fsf@toke.dk> (raw)
In-Reply-To: <578552B2-5127-451A-AFE8-93AE9BB07368@gmail.com>
Jonathan Morton <chromatix99@gmail.com> writes:
>> On 18 Apr, 2018, at 2:25 pm, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>>
>> So if there is one active bulk flow, we allow each flow to queue four
>> packets. But if there are ten active bulk flows, we allow *each* flow to
>> queue *40* packets.
>
> No - because the drain rate per flow scales inversely with the number
> of flows, we have to wait for 40 MTUs' serialisation delay to get 4
> packets out of *each* flow.
Ah right, yes. Except it's not 40 MTUs it's 40 quantums (as each flow
will only dequeue a packet each MTU/quantum rounds of the scheduler).
> Without that, we can end up with very high drop rates which, in
> ingress mode, don't actually improve congestion on the bottleneck link
> because TCP can't reduce its window below 4 MTUs, and it's having to
> retransmit all the lost packets as well. That loses us a lot of
> goodput for no good reason.
I can sorta, maybe, see the point of not dropping packets that won't
cause the flow to decrease its rate *in ingress mode*. But this is also
enabled in egress mode, where it doesn't make sense.
Also, the minimum TCP window is two packets including those that are in
flight but not yet queued; so allowing four packets at the bottleneck is
way excessive.
> So I do accept the increase in intra-flow latency when the flow count
> grows beyond the link's capacity to cope.
TCP will always increase its bandwidth above the link's capacity to
cope. That's what TCP does.
> It helps us keep the inter-flow induced latency low
What does this change have to do with inter-flow latency?
> while maintaining bulk goodput, which is more important.
No, it isn't! Accepting a factor of four increase in latency to gain a
few percents' goodput in an edge case is how we got into this whole
bufferbloat mess in the first place...
-Toke
next prev parent reply other threads:[~2018-04-18 14:30 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-17 9:42 Toke Høiland-Jørgensen
2018-04-17 10:04 ` Luca Muscariello
2018-04-17 10:38 ` Toke Høiland-Jørgensen
2018-04-17 12:05 ` Y
[not found] ` <mailman.225.1523966725.3573.cake@lists.bufferbloat.net>
2018-04-17 12:22 ` Toke Høiland-Jørgensen
2018-04-17 13:16 ` Jonas Mårtensson
2018-04-17 13:50 ` Toke Høiland-Jørgensen
2018-04-17 13:47 ` Luca Muscariello
2018-04-17 13:52 ` Luca Muscariello
2018-04-17 14:25 ` Toke Høiland-Jørgensen
2018-04-17 14:54 ` Luca Muscariello
2018-04-17 15:10 ` Toke Høiland-Jørgensen
2018-04-17 14:03 ` Jonathan Morton
2018-04-17 14:17 ` Toke Høiland-Jørgensen
2018-04-18 11:25 ` Toke Høiland-Jørgensen
2018-04-18 12:21 ` Kevin Darbyshire-Bryant
2018-04-18 12:57 ` Toke Høiland-Jørgensen
2018-04-18 13:13 ` Jonas Mårtensson
2018-04-18 13:21 ` Toke Høiland-Jørgensen
2018-04-18 14:12 ` Jonathan Morton
2018-04-18 14:30 ` Toke Høiland-Jørgensen [this message]
2018-04-18 15:03 ` Jonathan Morton
2018-04-18 15:17 ` Sebastian Moeller
2018-04-18 15:58 ` Jonathan Morton
2018-04-18 16:11 ` Toke Høiland-Jørgensen
2018-04-18 16:25 ` Dave Taht
2018-04-18 16:34 ` Georgios Amanakis
2018-04-18 17:10 ` Sebastian Moeller
2018-04-19 7:49 ` Luca Muscariello
2018-04-19 8:11 ` Jonathan Morton
2018-04-19 9:00 ` Toke Høiland-Jørgensen
2018-04-19 9:21 ` Jonathan Morton
2018-04-19 9:26 ` Toke Høiland-Jørgensen
2018-04-19 9:55 ` Jonathan Morton
2018-04-19 10:33 ` Toke Høiland-Jørgensen
2018-04-19 11:55 ` Luca Muscariello
2018-04-18 16:54 ` Jonathan Morton
2018-04-18 17:02 ` Dave Taht
2018-04-18 18:06 ` Jonas Mårtensson
2018-04-18 18:11 ` Toke Høiland-Jørgensen
2018-04-18 18:16 ` Kevin Darbyshire-Bryant
[not found] ` <mailman.238.1524075384.3573.cake@lists.bufferbloat.net>
2018-04-19 8:31 ` Kevin Darbyshire-Bryant
2018-04-18 18:11 ` Jonas Mårtensson
2018-04-18 19:53 ` David Lang
2018-04-18 21:53 ` Jonathan Morton
2018-04-19 9:22 ` Toke Høiland-Jørgensen
2018-04-19 9:32 ` 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/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=87r2nc1taq.fsf@toke.dk \
--to=toke@toke.dk \
--cc=cake@lists.bufferbloat.net \
--cc=chromatix99@gmail.com \
/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