Refining Calculation Algorithm for Packet Pacing Rate of BBR
Satoshi Utsumi, Go Hasegawa · 2021
BBR developed by Google tunes its packet pacing rate for achieving full bandwidth utilization and no buffering delay at the bottleneck link. However, when multiple BBR flows share the bottleneck link, the sum of pacing rates exceeds the available bandwidth, causing large buffering delay. In this paper, we first describe the reason why BBR flows overload the bottleneck link with mathematical discussions and point out that it is due to the essential characteristics of BBR. We then propose a novel algorithm that calculates appropriate pacing rate. More specifically, the proposed method determines the pacing rate based on moving average of the observed throughput, while the original BBR exploits the maximum observed throughput. Moreover, the proposed method adaptively configures the parameter for searching the unused bandwidth of the bottleneck link. Simulation results show that the proposed algorithm can achieve almost full bandwidth utilization of the bottleneck link as well as small buffering delay.