Fairness of Congestion-Based Congestion Control: Experimental Evaluation and Analysis

Shiyao Ma, Jingjie Jiang, Wei Wang, Bo Li

BBR is a new congestion-based congestion control algorithm proposed by Google. A BBR flow sequentially measures the bottleneck bandwidth and round-trip delay of the network pipe, and uses the measured results to govern its sending behavior, maximizing the delivery bandwidth while minimizing the delay. However, our deployment in geo-distributed cloud servers reveals a severe RTT fairness problem: a BBR flow with longer RTT dominates a competing flow with shorter RTT. Somewhat surprisingly, our deployment of BBR on the Internet and an in-house cluster unearthed a consistent bandwidth disparity among competing flows. Long BBR flows are bound to seize bandwidth from short ones. Intrigued by this unexpected behavior, we ask, is the phenomenon intrinsic to BBR? how's the severity? and what's the root cause? To this end, we conduct thorough measurements and develop a theoretical model on bandwidth dynamics. We find, as long as the competing flows are of different RTTs, bandwidth disparities will arise. With an RTT ratio of 10, even flow starvation can happen. We blame it on BBR's connivance at sending an excessive amount of data when probing bandwidth. Specifically, the amount of data is in proportion to RTT, making long RTT flows overwhelming short ones. Based on this observation, we design a derivative of BBR that achieves guaranteed flow fairness, at the meantime without losing any merits. We have implemented our proposed solution in Linux kernel and evaluated it through extensive experiments.

Knowledge Graph



Sign up or login to leave a comment