From: Yuchung Cheng <ycheng@google.com>
To: Dave Taht <dave.taht@gmail.com>
Cc: "Steinar H. Gunderson" <sgunderson@bigfoot.com>,
bloat <bloat@lists.bufferbloat.net>,
BBR Development <bbr-dev@googlegroups.com>
Subject: Re: [Bloat] [bbr-dev] Re: "BBR" TCP patches submitted to linux kernel
Date: Tue, 1 Nov 2016 16:13:57 -0700 [thread overview]
Message-ID: <CAK6E8=eCBzLxnmEvq5h5yggCbiX_F4whrE1EG6UMfO6Wq5SNRg@mail.gmail.com> (raw)
In-Reply-To: <CAK6E8=fqkmYRO56Xd0Lj7MyioOVtusi_DkW5rAER-WW3GidzJA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 5256 bytes --]
Hi Dave,
We are able to reproduce the cubic starvation issue with codel (but not
fq_codel), regardless of ECN. So clearly ECN isn't the issue but the
single-queued AQM is. We didn't notice that earlier even though you've
clearly indicated that in your report. But Cubic and BBR loss response
functions are nonlinear so that's expected.
We are curious why you choose the single-queued AQM. Is it just for the
sake of testing?
On Thu, Oct 27, 2016 at 2:30 PM, Yuchung Cheng <ycheng@google.com> wrote:
> On Thu, Oct 27, 2016 at 11:14 AM, Dave Taht <dave.taht@gmail.com> wrote:
> > On Thu, Oct 27, 2016 at 10:57 AM, Yuchung Cheng <ycheng@google.com>
> wrote:
> >> On Thu, Oct 27, 2016 at 10:33 AM, Dave Taht <dave.taht@gmail.com>
> wrote:
> >>> On Thu, Oct 27, 2016 at 10:04 AM, Steinar H. Gunderson
> >>> <sgunderson@bigfoot.com> wrote:
> >>>> On Fri, Oct 21, 2016 at 10:47:26AM +0200, Steinar H. Gunderson wrote:
> >>>>> As a random data point, I tried a single flow from my main server in
> .no
> >>>>> to my backup server in .nl and compared CUBIC (with sch_fq) to BBR
> (naturally
> >>>>> also in sch_fq) on the sender side. The results were quite
> consistent across
> >>>>> runs:
> >>>>
> >>>> Another datapoint: A friend of mine had a different, worse path (of
> about 40 ms)
> >>>> and tested with iperf.
> >>>>
> >>>> CUBIC delivered 20.1 Mbit/sec (highly varying). BBR delivered 485
> Mbit/sec.
> >>>
> >>> I mostly live in a world (wifi) where loss is uncommon, unless forced
> >>> on it with a AQM.
> >>>
> >>> At the moment my biggest beef with BBR is that it ignores ECN entirely
> >>> (and yet negotiates it). BBR is then so efficient at using up all the
> >>> pipe that a single queued aqm "marks madly" and everything else
> >>> eventually starves. Watch "ping" fade out here...
> >>>
> >>> http://blog.cerowrt.org/flent/bbr-comprehensive/bbr_ecn_
> eventually_starving_ping.png
> >>
> >> Thanks Dave for this issue. We design BBR with CoDel in mind b/c Van
> >> co-designs both :)
> >
> > It works pretty darn good with codel without ecn. I'm pretty darn happy
> with it.
> >
> > fq_codel is even more lovely, especially when competing with cubic.
> >
> > There are issues with single queued aqms with BBR vs cubic
> >
> > http://blog.cerowrt.org/flent/bbr-ecncaps/bandwidth-share-
> creaming-cubic-flowblind-aqm.svg
> >
> >> We have tested BBR with CoDel before and it works.
> >
> > Well, against cubic on the same link in single queue mode, even
> > without ecn, life looks like this:
> >
> > http://blog.cerowrt.org/flent/bbr-ecncaps/bandwidth-share-
> creaming-cubic-flowblind-aqm.svg
> >
> > but fq_codel is fine, so long as there is no ecn vs nonecn collission
> >
> > http://blog.cerowrt.org/flent/bbr-ecncaps/bandwidth-share-ecn-fq.png
> >
> >> Could you share your tcpdump traces with us (maybe
> >> you already did but no sure) or suggest how to reproduce this.
> >>
> >> This is 2 bbr flow or bbr + ecn-cubic? (I am guessing based on caption
> >> in your graph)
> >
> > That's two BBRs with ecn enabled, going through cake in the single
> > queue aqm mode "flowblind". I have similar plots with pie and codel
> > with ecn enabled somewhere.
> >
> > The emulation is 48ms RTT, 20Mbit down, 5Mbit up.
> >
> > Regrettably I'm on a couple deadlines (a talk tomorrow, and next
> > thursday), and can't look harder, I do have caps comparing ecn vs
> > noecn here
> >
> > http://blog.cerowrt.org/flent/bbr-ecncaps/
> Thanks for the data (and sorry for ignoring that before). Neal and I
> think the behaviors you are observing matches BBR's top issue we are
> actively pursuing: with N>1 flows, BBR may build 1.5BDP of queue. But
> let's separate that from ECN negotiation. Besidethe implementation
> complication Eric pointed out, even if BBR refrains from ECN
> negotiation, and the test result wouldn't change much I suspect.
>
> We'll get back soon.
>
> >
> >
> >
> >>
> >>>
> >>> somewhat conversely in fq_codel, this means that it ignores codel's
> >>> marking attempts entirely and BBR retains it's own dynamics, (while
> >>> the non-BBR flows are fine) which is kind of neat to watch.
> >>>
> >>>> /* Steinar */
> >>>> --
> >>>> Homepage: https://www.sesse.net/
> >>>> _______________________________________________
> >>>> Bloat mailing list
> >>>> Bloat@lists.bufferbloat.net
> >>>> https://lists.bufferbloat.net/listinfo/bloat
> >>>
> >>>
> >>>
> >>> --
> >>> Dave Täht
> >>> Let's go make home routers and wifi faster! With better software!
> >>> http://blog.cerowrt.org
> >>> _______________________________________________
> >>> Bloat mailing list
> >>> Bloat@lists.bufferbloat.net
> >>> https://lists.bufferbloat.net/listinfo/bloat
> >
> >
> >
> > --
> > Dave Täht
> > Let's go make home routers and wifi faster! With better software!
> > http://blog.cerowrt.org
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "BBR Development" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to bbr-dev+unsubscribe@googlegroups.com.
> > For more options, visit https://groups.google.com/d/optout.
>
[-- Attachment #2: Type: text/html, Size: 8194 bytes --]
next prev parent reply other threads:[~2016-11-01 23:14 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-16 21:04 [Bloat] " Dave Taht
2016-09-16 21:11 ` Steinar H. Gunderson
2016-09-16 21:14 ` Eric Dumazet
2016-09-16 22:29 ` Dave Taht
2016-09-29 11:24 ` Mário Sérgio Fujikawa Ferreira
2016-09-29 19:43 ` Dave Täht
2016-09-29 20:35 ` Aaron Wood
2016-09-30 8:12 ` Mikael Abrahamsson
2016-09-30 14:16 ` Aaron Wood
2016-09-29 21:23 ` Steinar H. Gunderson
2016-09-30 1:54 ` Mario Ferreira
2016-09-30 3:50 ` Dave Täht
2016-09-30 4:29 ` Aaron Wood
2016-09-29 23:26 ` Benjamin Cronce
2016-09-30 1:58 ` Mario Ferreira
2016-10-21 8:47 ` Steinar H. Gunderson
2016-10-21 10:28 ` Eric Dumazet
2016-10-21 10:42 ` Steinar H. Gunderson
2016-10-21 10:47 ` Steinar H. Gunderson
2016-10-21 10:55 ` Eric Dumazet
2016-10-21 10:52 ` Eric Dumazet
2016-10-21 11:03 ` Steinar H. Gunderson
2016-10-21 11:40 ` Eric Dumazet
2016-10-21 11:45 ` Steinar H. Gunderson
2016-10-27 17:04 ` Steinar H. Gunderson
2016-10-27 17:31 ` Eric Dumazet
2016-10-27 17:33 ` Dave Taht
2016-10-27 17:52 ` Eric Dumazet
2016-10-27 17:59 ` Dave Taht
2016-10-27 17:57 ` Yuchung Cheng
2016-10-27 18:14 ` Dave Taht
2016-10-27 21:30 ` [Bloat] [bbr-dev] " Yuchung Cheng
2016-11-01 23:13 ` Yuchung Cheng [this message]
2016-11-01 23:49 ` Jonathan Morton
2016-11-02 9:27 ` Mikael Abrahamsson
2016-11-02 17:21 ` Klatsky, Carl
2016-11-02 18:48 ` Dave Täht
2016-11-25 12:51 ` [Bloat] " Bernd Paysan
2016-10-21 10:50 ` Zhen Cao
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='CAK6E8=eCBzLxnmEvq5h5yggCbiX_F4whrE1EG6UMfO6Wq5SNRg@mail.gmail.com' \
--to=ycheng@google.com \
--cc=bbr-dev@googlegroups.com \
--cc=bloat@lists.bufferbloat.net \
--cc=dave.taht@gmail.com \
--cc=sgunderson@bigfoot.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