Google’s BBR Congestion control algorithm

Slides:



Advertisements
Similar presentations
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Advertisements

TCP--Revisited. Background How to effectively share the network? – Goal: Fairness and vague notion of equality Ideal: If N connections, each should get.
Computer Networking Lecture 20 – Queue Management and QoS.
B 黃冠智.
Congestion Control Algorithms: Open Questions Benno Overeinder NLnet Labs.
Packet Video TCP Video Streaming to Bandwidth-Limited Access Links Puneet Mehra and Avideh Zakhor Video and Image Processing Lab University of California,
Confused, Timid, and Unstable: Picking a Video Streaming Rate is Hard Published in 2012 ACM’s Internet Measurement Conference (IMC) Five students from.
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
Lecturer: Namratha Vedire
Ahmed Mansy, Mostafa Ammar (Georgia Tech) Bill Ver Steeg (Cisco)
Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
TCP on High-Speed Networks Sangtae Ha and Injong Rhee North Carolina State University.
TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,
1 Minseok Kwon and Sonia Fahmy Department of Computer Sciences Purdue University {kwonm, TCP Increase/Decrease.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs.
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
All rights reserved © 2006, Alcatel Accelerating TCP Traffic on Broadband Access Networks  Ing-Jyh Tsang 
INFOCOM A Receiver-Driven Bandwidth Sharing System (BWSS) for TCP Puneet Mehra, Avideh Zakhor UC Berkeley, USA Christophe De Vleeschouwer Université.
Understanding the Performance of TCP Pacing Amit Aggarwal, Stefan Savage, Thomas Anderson Department of Computer Science and Engineering University of.
CSE 461 University of Washington1 Topic How TCP implements AIMD, part 1 – “Slow start” is a component of the AI portion of AIMD Slow-start.
Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
Lecture 9 – More TCP & Congestion Control
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
1 Analysis of a window-based flow control mechanism based on TCP Vegas in heterogeneous network environment Hiroyuki Ohsaki Cybermedia Center, Osaka University,
PCP: Efficient Endpoint Congestion Control NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of Washington.
Congestion Avoidance and Control Van Jacobson and Michael Karels Presented by Sui-Yu Wang.
H. OhsakiITCom A control theoretical analysis of a window-based flow control mechanism for TCP connections with different propagation delays Hiroyuki.
TCP Traffic Characteristics—Deep buffer Switch
Receiver-based Management of Low-bandwidth Access Links INFOCOM 2000 March 28, 2000 Neil Spring, Maureen Chesire, Mark Berryman, Vivek Sahasranaman, Thomas.
Low-Latency Software Rate Limiters for Cloud Networks
On Queuing, Marking, and Dropping
CUBIC Marcos Vieira.
Satellite TCP Lecture 19 04/10/02.
Chapter 6 TCP Congestion Control
Generalizing The Network Performance Interference Problem
TCP-LP Distributed Algorithm for Low-Priority Data Transfer
TCP-LP: A Distributed Algorithm for Low Priority Data Transfer
Open Issues in Router Buffer Sizing
Mark Claypool, Feng Li and Jae Chung
Understanding Throughput & TCP Windows
CSE679: Multimedia and Networking
Lecture 19 – TCP Performance
Monkey See, Monkey Do A Tool for TCP Tracing and Replaying
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
FAST TCP : From Theory to Experiments
Chapter 6 TCP Congestion Control
Jiyong Park Seoul National University, Korea
CS640: Introduction to Computer Networks
Congestion Control in SDN-Enabled Networks
Department of Informatics Networks and Distributed Systems (ND) group
TCP Congestion Control
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
AI Applications in Network Congestion Control
Congestion Control in SDN-Enabled Networks
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Modeling and Evaluating Variable Bit rate Video Steaming for ax
TCP and BBR Geoff Huston APNIC.
TCP and BBR Geoff Huston APNIC.
TCP and BBR Geoff Huston APNIC.
When to use and when not to use BBR:
Presentation transcript:

Google’s BBR Congestion control algorithm “Bottleneck Bandwidth and RTT” An end to end approach to Better network behavior Dealing with long RTTs with loss Long lived connections ... And ending bufferbloat

Overview BBR Background BBR Analysis BBR Upsides BBR Downsides BBR Conclusions and recommendations

BBR Background Under development at google for 3 years Deployed as part of their b4 backbone https://people.eecs.berkeley.edu/~sylvia/cs268- 2014/papers/b4-sigcomm13.pdf Selective deployments on youtube, google.com and other streaming servers Published in ACM Queue: http://queue.acm.org/app/ Video at: https://www.youtube.com/watch?v=hIl_zXzU3DA First TCP CC designed from Big Data From real applications From worldwide connectivity I had nothing to do with it! http://blog.cerowrt.org/post/a_bit_about_bbr/

What is congestion control for?

Cubic v BBR – CMTS emulation

BBR basics NOT delay or loss based: Models the pipe Tests for RTT and Bandwidth in 8 separate phases: 5/4, ¾, 1,1,1,1,1,1 RTT-Probe (200ms out of 10 seconds, otherwise opportunistic: taking advantage of natural application pauses) BW-Probe Detects Policers and works around them Relies on modifying the “gain of the paced rate” Cwnd becomes a secondary metric

Some BBR evaluations Typical CMTS Cable Modem setup 11ms and 48ms RTTs 64K and 512K CMTS buffer Pfifo (DSL) Pie, Codel, FQ_Codel AQMs

Modeling the pipe wins No loss, low RTTs = Serious wow factor.

BBR measures RTT and Bandwidth in separate phases Worst case behavior -

BBR game theoretic wins Outcompetes cubic on short transactions Competes fairly (on long timescales) Outperforms cubic by a factor of 133, on long, lossy RTTs Deals with policers well

Some BBR Issues Requires a modern Linux With sch_fq Low latency bare metal, or good vm tech Latecomer advantage No ECN support (yet?) Very aggressive startup Bad single queue AQM interactions

Latecomer advantage

Shows non ECN respecting senders can kill single queued AQMS No ECN (currently) Shows non ECN respecting senders can kill single queued AQMS

AQMs inflict more packet loss ...Which BBR disregards as noise

Single Queue AQM: BBR vs Cubic

FQ_Codel vs Cubic & BBR

SLAs Packet loss as a metric just got even more useless Most folk overprovision at loads > 50% to avoid loss Google runs at 100% utilization and 1-10% loss

+ * Here is a state transition diagram for BBR: + * | + * V + * +---> STARTUP ----+ + * | | | + * | V | + * | DRAIN ----+ + * +---> PROBE_BW ----+ + * | ^ | | + * | | | | + * | +----+ | + * | | + * +---- PROBE_RTT <--+ + * A BBR flow starts in STARTUP, and ramps up its sending rate quickly. + * When it estimates the pipe is full, it enters DRAIN to drain the queue. + * In steady state a BBR flow only uses PROBE_BW and PROBE_RTT. + * A long-lived BBR flow spends the vast majority of its time remaining + * (repeatedly) in PROBE_BW, fully probing and utilizing the pipe's bandwidth + * in a fair manner, with a small, bounded queue. *If* a flow has been + * continuously sending for the entire min_rtt window, and hasn't seen an RTT + * sample that matches or decreases its min_rtt estimate for 10 seconds, then + * it briefly enters PROBE_RTT to cut inflight to a minimum value to re-probe + * the path's two-way propagation delay (min_rtt). When exiting PROBE_RTT, if + * we estimated that we reached the full bw of the pipe then we enter PROBE_BW; + * otherwise we enter STARTUP to try to fill the pipe.

Recomendations IF Streaming apps DCs If you can multiple flows with one Eliminate sharding HTTP 2.0 Try BBR

LPCC

Sources Linux Net-Next: Many thanks to: Neal Cardwell, Yuchung Cheng, C. Stephen Gunn, Van Jacobson, and Soheil Yeganeh