Interactions Between Congestion Control Algorithms: Belma Turkovic, Fernando A. Kuipers and Steve Uhlig
Interactions Between Congestion Control Algorithms: Belma Turkovic, Fernando A. Kuipers and Steve Uhlig
Interactions Between Congestion Control Algorithms: Belma Turkovic, Fernando A. Kuipers and Steve Uhlig
Throughput [bps]
Cubic Cubic
150 0.8
Jain index
RTT [ms]
0.6 0.8
100
0.4
50 0.2 0.6
Cubic Cubic 2xCubic
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
4 ·108 1
1
Throughput [bps]
Vegas Vegas
3 0.8
Jain index
RTT [ms]
0.6 0.8
2
0.4
1 0.6
Vegas Vegas 0.2 2xVegas
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
8 ·108 1
1
Throughput [bps]
Jain index
RTT [ms]
0.6 0.8
4
0.4
2 0.2 0.6 2xBBR
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
Fig. 3: BW scenario: Comparison of average RTT, average throughput, and fairness index for representatives of the congestion
control algorithm classes groups in case the link is shared by 2 flows using the same algorithm (time unit 300ms).
TABLE I: BW scenario with 2 flows: Different metrics for representatives of the three congestion control algorithm groups
(calculated for 5 different runs).
Protocol Group Algorithm Average Average Average Average Average Average
goodput goodput ratio RTT sending rate throughput Jain index
[M bps] [%] [#packets] [ms] [M bps] [M bps]
Cubic 44.98 93.57 76.65 48.77 46.59
Loss- vs. Loss-based 0.95
Cubic 43.15 93.78 78.32 50.98 46.59
Vegas 43.81 94.81 1.66 48.65 45.47
Delay- vs. Delay-based 0.94
Vegas 42.72 94.76 1.68 49.79 44.38
BBR 44.98 92.32 3.21 52.18 46.70
Hybrid vs. Hybrid 0.86
BBR 42.72 94.39 3.24 46.89 44.36
TCP
Cubic 82.29 94.27 70.37 90.91 85.05
Loss-based vs. Hybrid 0.59
BBR 7.56 88.86 174.38 8.87 7.89
Cubic 87.73 94.34 67.16 97.30 90.66
Loss- vs. Delay-based 0.52
Vegas 1.74 91.57 139.79 2.00 1.82
Vegas 38.37 94.34 4.55 37.31 39.83
Delay-based vs. Hybrid 0.84
BBR 48.56 94.68 4.25 61.65 50.37
adopts, as a consequence, a more aggressive approach (Fig. 3). bottleneck, the observed delay is determined by it, nullifying
However, packet loss triggers Cubic’s back-off mechanism, al- the advantages of delay-based and hybrid algorithms, namely
lowing BBR to measure a lower RTT estimate. Consequently, the prevention of the queue buildup. BBR, as well as Vegas,
BBR reduces its rate, allowing the Cubic flow to claim more which claim to be able to operate with a small RTT, suffer
bandwidth again. Moreover, when we increase the number of from a huge increase in average RTT (by more than 100 ms,
Cubic flows to three, the throughput of the BBR flow drops Table I) when competing with Cubic (compared to 1 − 5ms
close to zero. Similarly, even three BBR flows are not able without Cubic). However, when a link is shared between a
to compete with one Cubic flow, with each of them claiming hybrid and a delay-based flow, both of them are able to
approximately 5% of the total bandwidth on average [4]. maintain a low RTT. In such scenarios, hybrid algorithms, such
as BBR, due to their more aggressive approach compared to
Delay. Even if one loss-based algorithm is present at the
300 ·108 1
1
Throughput [bps]
BBR Cubic BBR & Cubic
0.8
Jain index
RTT [ms]
200 0.8
0.6
100 0.4 BBR Cubic
0.2 0.6
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
300 ·108 1
1
Throughput [bps]
Vegas Cubic Vegas & Cubic
0.8
Jain index
RTT [ms]
200 0.8
0.6
100 0.4 Vegas Cubic
0.2 0.6
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
8 ·108 1
1
Throughput [bps]
Jain index
RTT [ms]
0.6 0.8
4
0.4
2 0.2 0.6 BBR & Vegas
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
Fig. 4: BW scenario: Comparison of average RTT, average throughput and fairness index for representatives of the congestion
control algorithm groups in case the link is shared by 2 flows using different algorithms (time unit 300ms).
delay-based algorithms, determine the RTT. Vegas flows, as However, current kernel implementations do not capture these
a consequence, suffer from a small increase in RTT (from improvements.
1.68ms to 4.55ms, Table I). The fairness index for delay-based algorithms slowly in-
Summary. In terms of fairness, the only combination that creases over time, but due to a very conservative congestion
works well together is delay and hybrid algorithms. In such avoidance approach of Vegas, even after 60s, flows do not
a scenario, delay is low and the throughput fairly shared, the converge (Fig. 6). When we increase the number of Vegas
more flows the fairer the distribution of resources. Hybrid, as flows to four, the dynamics at the bottleneck becomes more
well as delay-based algorithms, suffer from a huge increase in complex with the newest flow (with the highest RTT) claiming
the observed delay if even one loss-based algorithm is present the largest share of resources at the end (Fig. 6). Moreover,
at the bottleneck making them unusable in typical networks contrary to the previous scenarios, in the slow start phase,
consisting of many different flows. We observe that the most Vegas flows fill the bottleneck queue and the observed queuing
popular TCP flavour, Cubic, is prone to oscillation and has a delay increases to 70ms. However, after 30s the queues are
high convergence time (≈ 20s). Further, we observe that BBR drained, fairness improves, and the observed queuing delay is
is not stable, reacting to very small changes in the observed very low for all flows (2 − 3ms, Fig. 6).
RTT, which was not previously reported in the literature. Hybrid-based algorithms, such as BBR, favour the flow
with the higher RTT, confirming results from [33], [39].
D. Results: RTT scenario The flow with a higher RTT overestimates the bottleneck
We observe RTT-fairness issues for all three groups of link, claiming all the available resources and increasing the
algorithms. Even though loss-based algorithms such as Cubic queuing delay (Fig. 5) by a factor of more than 10 (from
claim good RTT-fairness properties, they favour the flow with ≈ 4ms to ≈ 50ms). Moreover, when we increase the number
a lower RTT [40]. This is most noticeable when analyzing of BBR flows to four, contrary to expectations, the average
two Cubic flows in Fig. 5. Even when the number of flows in- RTT increases significantly (by a factor of almost 30) reaching
creases to 4 (Fig. 6), the flow with the lowest RTT immediately values comparable to the ones observed by the loss-based
claims all the available resources, leaving less than half to the algorithms in the same scenario although only BBR flows were
other flows in the first 30 s. Several improvements addressing present at the bottleneck (Fig. 6, Table III).
this problem, such as TCP Libra [32] have been proposed. Summary. We observe that RTT-fairness is poor for all
2 Cubic flows ·108 2 Cubic flows 2 Cubic flows
600 1 1
Throughput [bps]
0ms 200ms
0.8
Jain index
RTT [ms]
Throughput [bps]
0ms 200ms
0.8
200
Jain index
RTT [ms]
0.6 0.8
0.4
100 0ms 200ms
0.2 0.6
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
2 BBR flows ·108 2 BBR flows 2 BBR flows
300 1 1
Throughput [bps]
0.8
Jain index
RTT [ms]
TABLE II: RTT scenario: Different metrics for representatives of the congestion control algorithm groups in case the link is
shared by two flows using the same algorithm (calculated for 5 different runs).
Protocol Group Algorithm Average Average Average Average Average Average
goodput goodput ratio RTT sending rate throughput Jain index
[M bps] [%] [#packets] [ms] [M bps] [M bps]
Cubic(0ms) 65.67 94.07 233.09 75.47 67.88
Loss- vs. Loss-based 0.76
Cubic(200ms) 21.88 93.80 435.53 25.36 22.92
Vegas(0ms) 14.99 94.21 32.03 18.91 15.62
TCP Delay- vs. Delay-based 0.66
Vegas(200ms) 72.60 94.31 228.96 81.48 75.08
BBR(0ms) 8.90 91.98 50.08 9.87 9.24
Hybrid vs. Hybrid 0.56
BBR(200ms) 79.54 94.39 249.56 90.97 82.1
Throughput [bps]
50ms 100ms
400 0.8 150ms 200ms 0.8
Jain index
RTT [ms]
0.6
200 0.4 0.6
50ms 100ms
150ms 200ms
0.2 0.4
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
4 Vegas flows ·108 4 Vegas flows 4 Vegas flows
1 1
Throughput [bps]
50ms 100ms 50ms 100ms
400 150ms 200ms 0.8 150ms 200ms 0.8
Jain index
RTT [ms]
0.6
200 0.4 0.6
0.2 0.4
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
4 BBR flows ·108 4 BBR flows 4 BBR flows
1 1
Throughput [bps]
50ms 100ms
400 0.8 150ms 200ms 0.8
Jain index
RTT [ms]
0.6
200 0.4 0.6
50ms 100ms
150ms 200ms
0.2 0.4
0 0
0 20 40 60 0 20 40 60 0 20 40 60
t [s] t [s] t [s]
Fig. 6: RTT scenario: Comparison of average RTT, average throughput, and fairness index for representatives of the congestion
control algorithm classes in case the link is shared by 4 flows using the same algorithm (time unit 300ms).
TABLE III: RTT scenario: Different metrics for representatives of the congestion control algorithm classes in case the link is
shared by four flows using the same algorithm (calculated for 5 different runs).
Protocol Group Algorithm Average Average Average Average Average Average
goodput goodput ratio RTT sending rate throughput Jain index
[M bps] [%] [#packets] [ms] [M bps] [M bps]
Cubic(50ms) 47.48 93.86 216.60 53.66 49.59
Cubic(100ms) 15.32 92.39 264.99 17.71 16.09
Loss-based 0.69
Cubic(150ms) 11.70 91.62 316.87 13.62 12.32
Cubic(200ms) 13.68 92.33 368.14 15.78 14.39
Vegas(50ms) 27.32 92.98 94.50 31.09 28.54
Vegas(100ms) 41.85 93.88 144.11 47.13 43.63
TCP Delay-based 0.62
Vegas(150ms) 7.50 90.80 196.87 8.62 7.90
Vegas(200ms) 11.57 91.47 245.18 13.22 12.16
BBR(50ms) 7.11 88.01 203.63 42.56 7.44
BBR(100ms) 15.23 91.61 253.49 21.43 16.06
Hybrid 0.63
BBR(150ms) 22.20 93.59 302.70 18.81 23.45
BBR(200ms) 42.39 94.18 353.22 15.97 44.70
approach, BBR grabs more bandwidth at the expense of the We observed multiple fairness issues, among flows of the
Cubic flows. However, this process is slow and the throughput same group, across different groups, as well as when flows
of the BBR flow remains low. Detailed measurements of QUIC having different RTTs were sharing a bottleneck link. We
can be found in the extended version of this paper [4]. found that delay-based, as well as hybrid algorithms, suffer
from a decrease in performance when competing with flows
IV. C ONCLUSION from the loss-based group, making them unusable in a typical
network where the majority of flows will rely on a loss-based
After dividing existing congestion control algorithms into algorithm. Not only do they get an unfair share of the available
three groups (loss-based algorithms, delay-based algorithms, bandwidth, but they also suffer from a huge increase in the
and hybrid algorithms), we studied their interactions. observed delay when the loss-based algorithms fill the queues.
The only combination that worked well together was delay and [18] L. S. Brakmo, S. W. O’Malley, and L. L. Peterson, TCP Vegas: New
hybrid algorithms: the observed RTT was low and resources techniques for congestion detection and avoidance. ACM, 1994,
vol. 24, no. 4.
shared fairly (the more flows the fairer the distribution of [19] G. Hasegawa, K. Kurata, and M. Murata, “Analysis and improvement of
resources). Finally, we found that hybrid algorithms, such as fairness between TCP Reno and Vegas for deployment of TCP Vegas to
BBR, are very sensitive to changes in the RTT, even if that the Internet,” in Proceedings 2000 International Conference on Network
Protocols, Nov 2000, pp. 177–186.
difference is very small (≤ 0.5ms). They not only favour the [20] K. Srijith, L. Jacob, and A. L. Ananda, “TCP Vegas-A: Improving the
flow with a higher RTT at the expense of the other flows, but performance of TCP Vegas,” Computer communications, vol. 28, no. 4,
they also cannot maintain a low queuing delay as promised pp. 429–440, 2005.
[21] C. Jin, D. Wei, S. H. Low, J. Bunn, H. D. Choe, J. C. Doylle,
even if they are the only flows present in the network. H. Newman, S. Ravot, S. Singh, F. Paganini, G. Buhrmaster, L. Cottrell,
Our work therefore shows that to support applications that O. Martin, and W. chun Feng, “FAST TCP: from theory to experiments,”
require low latency, a good congestion control algorithm on IEEE Network, vol. 19, no. 1, pp. 4–11, Jan 2005.
[22] S. Belhaj and M. Tagina, “VFAST TCP: An improvement of FAST
its own won’t be enough. Indeed, guaranteeing that flows of TCP,” in Computer Modeling and Simulation, 2008. UKSIM 2008. Tenth
a given group (in terms of type of congestion control) will International Conference on. IEEE, 2008, pp. 88–93.
receive their expected share of resources, requires that resource [23] J. Sing and B. Soh, “TCP New Vegas: improving the performance
of TCP Vegas over high latency links,” in Network Computing and
isolation be provided between the different groups. Applications, Fourth IEEE International Symposium on. IEEE, 2005,
pp. 73–82.
R EFERENCES [24] C. P. Fu and S. C. Liew, “TCP Veno: TCP enhancement for transmission
[1] N. Cardwell, Y. Cheng, C. S. Gunn, S. H. Yeganeh, and V. Jacobson, over wireless access networks,” IEEE Journal on selected areas in
“BBR: Congestion-Based Congestion Control,” Queue, vol. 14, no. 5, communications, vol. 21, no. 2, pp. 216–228, 2003.
pp. 20–53, 2016. [25] R. King, R. Baraniuk, and R. Riedi, “TCP-Africa: An adaptive and fair
[2] M. Hock, F. Neumeister, M. Zitterbart, and R. Bless, “TCP LoLa: rapid increase rule for scalable TCP,” in INFOCOM 2005. 24th Annual
Congestion Control for Low Latencies and High Throughput,” in 2017 Joint Conference of the IEEE Computer and Communications Societies.
IEEE 42nd Conference on Local Computer Networks (LCN), 2017, pp. Proceedings IEEE, vol. 3. IEEE, 2005, pp. 1838–1848.
215–218. [26] K. Tan, J. Song, Q. Zhang, and M. Sridharan, “A Compound TCP
[3] R. Mittal, V. T. Lam, N. Dukkipati, E. Blem, H. Wassel, M. Ghobadi, Approach for High-Speed and Long Distance Networks,” in Proceed-
A. Vahdat, Y. Wang, D. Wetherall, and D. Zats, “TIMELY: RTT-based ings IEEE INFOCOM 2006. 25TH IEEE International Conference on
Congestion Control for the Datacenter,” pp. 537–550, 2015. Computer Communications, 2006, pp. 1–12.
[4] B. Turkovic, F. A. Kuipers, and S. Uhlig, “Fifty shades of congestion [27] A. Baiocchi, A. P. Castellani, and F. Vacirca, “YeAH-TCP: yet another
control: A performance and interactions evaluation,” arXiv preprint highspeed TCP,” in Proc. PFLDnet, vol. 7, 2007, pp. 37–42.
arXiv:1903.03852, 2019. [28] S. Liu, T. Başar, and R. Srikant, “TCP-Illinois: A loss-and delay-based
[5] J. Postel, “Transmission control protocol specification,” RFC 793, 1981. congestion control algorithm for high-speed networks,” Performance
[6] M. Allman, V. Paxson, and E. Blanton, “TCP Congestion Control,” RFC Evaluation, vol. 65, no. 6-7, pp. 417–440, 2008.
5681 (Draft Standard), Internet Engineering Task Force, September [29] H. Shimonishi and T. Murase, “Improving efficiency-friendliness trade-
2009. [Online]. Available: http://www.ietf.org/rfc/rfc5681.txt offs of TCP congestion control algorithm,” in Global Telecommunica-
[7] S. Floyd, “HighSpeed TCP for large congestion windows,” Tech. Rep., tions Conference, 2005. GLOBECOM’05. IEEE, vol. 1. IEEE, 2005,
2003. pp. 5–pp.
[8] D. Leith and R. Shorten, “H-TCP: TCP for high-speed and long-distance [30] K. Kaneko, T. Fujikawa, Z. Su, and J. Katto, “TCP-Fusion: a hybrid con-
networks,” in Proceedings of PFLDnet, vol. 2004, 2004. gestion control algorithm for high-speed networks,” in Proc. PFLDnet,
[9] T. Kelly, “Scalable TCP: Improving performance in highspeed wide area vol. 7, 2007, pp. 31–36.
networks,” ACM SIGCOMM computer communication Review, vol. 33, [31] H. Shimonishi, T. Hama, and T. Murase, “TCP-adaptive reno for
no. 2, pp. 83–91, 2003. improving efficiency-friendliness tradeoffs of TCP congestion control
[10] S. Mascolo, C. Casetti, M. Gerla, M. Y. Sanadidi, and R. Wang, “TCP algorithm,” in Proc. PFLDnet. Citeseer, 2006, pp. 87–91.
westwood: Bandwidth estimation for enhanced transport over wireless [32] G. Marfia, C. Palazzi, G. Pau, M. Gerla, M. Sanadidi, and M. Roccetti,
links,” in Proceedings of the 7th annual international conference on “Tcp libra: Exploring rtt-fairness for tcp,” in International Conference
Mobile computing and networking. ACM, 2001, pp. 287–297. on Research in Networking. Springer, 2007, pp. 1005–1013.
[11] L. A. Grieco and S. Mascolo, “Performance evaluation and comparison [33] D. Scholz, B. Jaeger, L. Schwaighofer, D. Raumer, F. Geyer, and
of Westwood+, New Reno, and Vegas TCP congestion control,” ACM G. Carle, “Towards a Deeper Understanding of TCP BBR Congestion
SIGCOMM Computer Communication Review, vol. 34, no. 2, pp. 25–38, Control,” in IFIP Networking 2018, Zurich, Switzerland, May 2018.
2004. [34] M. Hock, R. Bless, and M. Zitterbart, “Experimental evaluation of BBR
[12] K. Yamada, R. Wang, M. Y. Sanadidi, and M. Gerla, “TCP westwood congestion control,” in 2017 IEEE 25th International Conference on
with agile probing: dealing with dynamic, large, leaky pipes,” in Network Protocols (ICNP), Oct 2017, pp. 1–10.
2004 IEEE International Conference on Communications (IEEE Cat. [35] S. Ma, J. Jiang, W. Wang, and B. Li, “Towards RTT Fairness of
No.04CH37577), vol. 2, June 2004, pp. 1070–1074 Vol.2. Congestion-Based Congestion Control,” CoRR, vol. abs/1706.09115,
[13] D. Kliazovich, F. Granelli, and D. Miorandi, “Logarithmic window 2017. [Online]. Available: http://arxiv.org/abs/1706.09115
increase for TCP Westwood+ for improvement in high speed, long [36] M. Dong, Q. Li, D. Zarchy, P. B. Godfrey, and M. Schapira, “{PCC}:
distance networks,” Computer Networks, vol. 52, no. 12, pp. 2395–2410, Re-architecting congestion control for consistent high performance,”
2008. in 12th {USENIX} Symposium on Networked Systems Design and
[14] L. Xu, K. Harfoush, and I. Rhee, “Binary increase congestion control Implementation ({NSDI} 15), 2015, pp. 395–408.
(BIC) for fast long-distance networks,” in INFOCOM 2004. Twenty-third [37] R. K. Jain, D.-M. W. Chiu, and W. R. Hawe, “A Quantitative Measure
AnnualJoint Conference of the IEEE Computer and Communications of Fairness and Discrimination,” Eastern Research Laboratory, Digital
Societies, vol. 4. IEEE, 2004, pp. 2514–2524. Equipment Corporation, Hudson, MA, 1984.
[15] C. Caini and R. Firrincieli, “TCP Hybla: a TCP enhancement for het- [38] “The chromium projects: Chromium,” https://www.chromium.org/
erogeneous networks,” International journal of satellite communications Home, accessed: 04-03-2019.
and networking, vol. 22, no. 5, pp. 547–566, 2004. [39] M. Hock, R. Bless, and M. Zitterbart, “Experimental evaluation of bbr
[16] S. Ha, I. Rhee, and L. Xu, “CUBIC: a new TCP-friendly high-speed congestion control,” in 2017 IEEE 25th International Conference on
TCP variant,” SIGOPS Oper. Syst. Rev., vol. 42, no. 5, pp. 64–74, 2008. Network Protocols (ICNP). IEEE, 2017, pp. 1–10.
[17] A. Afanasyev, N. Tilley, P. Reiher, and L. Kleinrock, “Host-to-host [40] T. Kozu, Y. Akiyama, and S. Yamaguchi, “Improving rtt fairness on
congestion control for TCP,” IEEE Communications surveys & tutorials, cubic tcp,” in 2013 First International Symposium on Computing and
vol. 12, no. 3, pp. 304–342, 2010. Networking, Dec 2013, pp. 162–167.