Congestion control is a fundamental mechanism for TCP protocol, which has been extensively studied in the past three decades. However, our experimental evaluations show that the state-of-art congestion control algorithms such as Cubic and BBR are far from optimal: they have unresolved issues such as insufficient usage of available bandwidth, inadaptable to dynamic bandwidth variants, and compromising on one or more performance dimensions. To address these challenges, we propose a novel congestion control mechanism called NeuRoc that coordinately uses online changepoint detection and deep reinforcement learning (DRL) technique to generate the optimal congestion control policy, which allows TCP operating at Kleinrock ’s optimal operation point to achieve fully bandwidth usage and low latency. To address the practical issues of deploying the deep learning based congestion control mechanism, we propose a cold-started training and deployment framework to reduce the cost of bootstrap. We implement NeuRoc on an emulation platform which connects to the Linux network protocol stack through virtual network interfaces. Extensive experiments show that NeuRoc achieves the best throughput-latency tradeoff compared with the state-of-the-arts in a variety of scenarios.
Read full abstract