Announcement

Collapse
No announcement yet.

Google's BBRv3 TCP Congestion Control Showing Great Results, Will Be Upstreamed To Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Google's BBRv3 TCP Congestion Control Showing Great Results, Will Be Upstreamed To Linux

    Phoronix: Google's BBRv3 TCP Congestion Control Showing Great Results, Will Be Upstreamed To Linux

    Google's open-source BBR TCP congestion control algorithm is widely used within Google and its v3 iteration is already proving a success within the company and they are working toward upstreaming BBRv3 into the mainline Linux kernel...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    trying version 1 or whatever now.

    Code:
    # cat /proc/sys/net/ipv4/tcp_congestion_control
    cubic
    ​# echo "bbr" > /proc/sys/net/ipv4/tcp_congestion_control
    # cat /proc/sys/net/ipv4/tcp_congestion_control
    bbr
    ​
    probably should look into this some more, just looking at their github I saw this comment.


    * NOTE: BBR might be used with the fq qdisc ("man tc-fq") with pacing enabled,
    * otherwise TCP stack falls back to an internal pacing using one high
    * resolution timer per TCP socket and may use more resources.​

    Comment


    • #3
      they must have applied it only to the YouTube ad server because they always starts immediately, the actual content video always lags

      Comment


      • #4
        Did some connection tests with it. It appeared to have some slight improvements over BBR v1, and at least didn't degrade performance. It's hard to do consistent network tests when you don't have control of a server elsewhere to test the line with, but it didn't make performance worse which is a good thing.

        ECN support is finally in, although it's still not in any appreciable use on the internet.

        If you're looking at testing it out the commits you need are f601c9f^..a1d32ad, the rest are tests and data center ethernet drivers changes.


        Originally posted by fitzie View Post
        probably should look into this some more, just looking at their github I saw this comment.
        I think that really only comes into play for servers handling many connections. A regular consumer computer should be fine with using fq-codel or cake and taking the slight hit in extra load, since both of them do have some benefits for certain scenarios. Would be wise to test with each qdisc, although just using fq would be easiest since it's guaranteed to work.

        Comment


        • #5
          Originally posted by fitzie View Post
          trying version 1 or whatever now.

          Code:
          # cat /proc/sys/net/ipv4/tcp_congestion_control
          cubic
          ​# echo "bbr" > /proc/sys/net/ipv4/tcp_congestion_control
          # cat /proc/sys/net/ipv4/tcp_congestion_control
          bbr
          ​
          probably should look into this some more, just looking at their github I saw this comment.
          BBR is great! Can't wait for v3 to land!

          Comment


          • #6
            The best thing I like is the claimed "better coexistence with Reno/CUBIC". These two are still the most prominent TCP traffics across the lines.

            Comment


            • #7
              Originally posted by gnattu View Post
              The best thing I like is the claimed "better coexistence with Reno/CUBIC". These two are still the most prominent TCP traffics across the lines.
              I wonder what it would take for a major distro to switch the default. there's many things I don't trust google for, but they know TCP and can observe it in pretty much any condition possible on earth (over the internet at least). Of course having Van Jacobsen's name attached to BBR doesn't hurt either.

              Comment


              • #8
                I think their conclusion is a bit one-sided. Apparently this change is tested only against google's websites. This is good for google, but can there be a regression with anything else?

                Comment


                • #9
                  Originally posted by fitzie View Post

                  I wonder what it would take for a major distro to switch the default.
                  It makes no difference for ingress traffic if you use it on your home workstation.

                  Comment


                  • #10
                    Originally posted by fitzie View Post

                    I wonder what it would take for a major distro to switch the default. there's many things I don't trust google for, but they know TCP and can observe it in pretty much any condition possible on earth (over the internet at least). Of course having Van Jacobsen's name attached to BBR doesn't hurt either.
                    systemd, despite all the woes it brings, is acting as a source of somewhat reasonable default sysctls. It already uses fq-codel by default https://github.com/systemd/systemd/b...fault.conf#L48, so when a fairer version of BBR comes in it should be possible to have these people agree to set the TCP CC default too.

                    Comment

                    Working...
                    X