Copa: Practical Delay-Based Congestion Control for the Internet


Venkat Arun and Hari Balakrishnan, MIT CSAIL


This paper introduces Copa, an end-to-end congestion control algorithm that uses three ideas. First, it shows that a {\em target rate} equal to $1/(\delta d_q)$, where $d_q$ is the (measured) queueing delay, optimizes a natural function of throughput and delay under a Markovian packet arrival model. Second, it adjusts its congestion window in the direction of this target rate, converging quickly to the correct fair rates even in the face of significant flow churn. These two ideas enable a group of Copa flows to maintain high utilization with low queuing delay. However, when the bottleneck is shared with loss-based congestion-controlled flows that fill up buffers, Copa, like other delay-sensitive schemes, achieves low throughput. To combat this problem, Copa uses a third idea: detect the presence of buffer-fillers by observing the delay evolution, and respond with additive-increase/multiplicative decrease on the $\delta$ parameter. Experimental results show that Copa outperforms Cubic (similar throughput, much lower delay, fairer with diverse RTTs), BBR and PCC (significantly fairer, lower delay), and co-exists well with Cubic unlike BBR and PCC. Copa is also robust to non-congestive loss and large bottleneck buffers, and outperforms other schemes on long-RTT paths.

@inproceedings {211227,
author = {Venkat Arun and Hari Balakrishnan},
title = {Copa: Practical Delay-Based Congestion Control for the Internet},
booktitle = {15th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 18)},
year = {2018},
address = {Renton, WA},
url = {},
publisher = {{USENIX} Association},