Copa: Practical Delay-Based Congestion Control for the Internet

Venkat Arun, Hari Balakrishnan
15th USENIX Symposium on Networked Systems Design and Implementation (NSDI), Renton, WA, April 2018

This paper introduces Copa, an end-to-end congestion control algorithm that uses three ideas. First, it shows that a target rate equal to 1/(δ dq), where dq 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 δ 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.

[PDF (530KB)]

Bibtex Entry:

@inproceedings{arun2018copa,
   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)},
   year =         {2018},
   month =        {April},
   address =      {Renton, WA}
}