General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: "Bless, Roland (TM)" <roland.bless@kit.edu>
To: Geoff Huston <gih@apnic.net>
Cc: Dave Taht <dave.taht@gmail.com>, bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] geoff huston's take on BBR
Date: Wed, 13 Jun 2018 09:56:05 +0200	[thread overview]
Message-ID: <7da2305e-04f5-6e49-9cb7-6441d086fa1c@kit.edu> (raw)
In-Reply-To: <4E4AF97A-8B22-4355-AF63-B27529F22D94@apnic.net>

Hi Geoff,

Am 13.06.2018 um 01:02 schrieb Geoff Huston:
>> On 13 Jun 2018, at 1:58 am, Bless, Roland (TM) <roland.bless@kit.edu> wrote:
>>>
>>> no - I started the flows at 10, 20 and 30 seconds after the initial flow started.
>>
>> This is nevertheless advantageous for BBR, since it performs its
>> ProbeRTT phase every 10s. So using 11, 23, and 34 seconds may
>> make a difference in convergence speed (that was at least observed
>> in our experiments).
> 
> 
> I’m not sure that I follow this - It was my understanding that BBR used the RTT interval as its control timer, and maintained a constant send rate for 6 successive RTTY intervals, then inflated the sending r4ate by 25% for the next RTT interval and deflated it by the same amount for the next RTT interval. I don’t believe that there is any absolute timer in BBR along the lines of a 10 second timer that you appear to be suggesting here.

I didn't write that BBR uses a 10s timer, but BBR actually uses a time
window of 10s. What you describe is BBR's ProbeBW phase, where
it probes for more bandwidth. However, your understanding is not
quite correct. Since BBR uses a maximum filter (windowed by 10RTTs),
it actually increases its sending rate _immediately_ if the 1.25
pacing gain achieved a higher delivery rate (which is nearly always the
case if multiple flows are present).
So depending on where the pacing_gain is raised in the gain cycle (it
starts randomly), BBR will increase its sending rate even within this
gain cycle of 8 RTTs and keep it for further 10 RTTs. BBR will
decrease its sending rate only after 10 RTTs. That is why
multiple BBR flows together are sending always faster than the
bottleneck rate in total.
I would recommend that you check https://queue.acm.org/detail.cfm?id=3022184
again.

Now for the 10s interval. You are correct that it's not
a 10s timer, but I wasn't suggesting that either.
The RTprop estimate is defined on page 7 of the article
and  described as
"Since path changes happen on time scales >>RTprop, an unbiased,
efficient estimator at time T is
...= min(RTT_t) \forall t \in [T-W_R,T]
i.e., a running min over time window W_R (which is typically
tens of seconds to minutes)."
and on p. 31:
"BBR flows cooperate to periodically drain the
bottleneck queue using a state called ProbeRTT. In any
state other than ProbeRTT itself, if the RTProp estimate
has not been updated (i.e., by getting a lower RTT
measurement) for more than 10 seconds, then BBR enters
ProbeRTT and reduces the cwnd to a very small value
(four packets)."
So it's basically a time window and also implemented like that.
A concise BBR description can be also found in our paper in
section II (http://doc.tm.kit.edu/2017-kit-icnp-bbr-authors-copy.pdf).

Regards,
 Roland

  reply	other threads:[~2018-06-13  7:56 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-12  6:55 Dave Taht
2018-06-12  7:49 ` Geoff Huston
2018-06-12 11:25   ` Dave Taht
2018-06-12 15:58   ` Bless, Roland (TM)
2018-06-12 23:02     ` Geoff Huston
2018-06-13  7:56       ` Bless, Roland (TM) [this message]
2018-06-12 22:28   ` Greg White
2018-06-12 23:04     ` Anna Brunstrom
2018-06-12 14:29 ` Jim Gettys
  -- strict thread matches above, loose matches on Subject: below --
2018-06-11 21:27 Dave Taht
2018-06-12  0:42 ` Toke Høiland-Jørgensen
2018-06-12  5:09   ` Matthias Tafelmeier
2018-06-12  7:36     ` Bless, Roland (TM)
2018-06-12 11:40       ` Dave Taht
2018-06-12 12:00         ` Dave Taht
2018-06-12 17:06       ` Matthias Tafelmeier
2018-06-12  5:58 ` Kevin Darbyshire-Bryant

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=7da2305e-04f5-6e49-9cb7-6441d086fa1c@kit.edu \
    --to=roland.bless@kit.edu \
    --cc=bloat@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    --cc=gih@apnic.net \
    /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