Google today announced that TCP BBR, a new congestion-control algorithm that it has used to improve network throughput from google.com and YouTube by about four percent globally (and by more than 14 percent in some countries), is now also available to its Cloud Platform users.
The general idea here is to improve on the existing congestion-control algorithms for internet traffic, which have been around since the 1980s and which typically only take packet loss into account (when networking buffers fill up, routers will discard any new packets). These algorithms decide how fast a given device should be sending data into the network to avoid overloading it. When these systems realize that some of the data packets don’t make it to their final destination, they start sending the data more slowly, which ideally reduces the amount of congestion. There are all kinds of algorithms for working out the details of how exactly to do this (and how to speed up again over time), but at their core, they all tend to follow the same patterns.
BBR, which stands for “Bottleneck Bandwidth and Round-trip propagation time,” takes a different approach. It doesn’t just look at packet loss but also at how fast the network is actually delivering data. “For a given network connection, it uses recent measurements of the network’s delivery rate and round-trip time to build an explicit model that includes both the maximum recent bandwidth available to that connection, and its minimum recent round-trip delay,” Google explains. Using this data, BBR then decides how fast it wants to send its data.
The result of this is an algorithm that can send more data at any given time (without incurring losses), especially on long-haul links. Google says one of its benchmarks showed a 2,700x increase in throughput rate, but that’s obviously an edge case and a synthetic benchmark.
The company first publicly talked about BBR in a paper last year and has since open-sourced the protocol. Google has also contributed it to the Linux kernel TCP stack.