Abstract
CUBIC is a congestion control protocol for TCP (transmission control protocol) and the current default TCP algorithm in Linux. The protocol modifies the linear window growth function of existing TCP standards to be a cubic function in order to improve the scalability of TCP over fast and long distance networks. It also achieves more equitable bandwidth allocations among flows with different RTTs (round trip times) by making the window growth to be independent of RTT -- thus those flows grow their congestion window at the same rate. During steady state, CUBIC increases the window size aggressively when the window is far from the saturation point, and the slowly when it is close to the saturation point. This feature allows CUBIC to be very scalable when the bandwidth and delay product of the network is large, and at the same time, be highly stable and also fair to standard TCP flows. The implementation of CUBIC in Linux has gone through several upgrades. This paper documents its design, implementation, performance and evolution as the default TCP algorithm of Linux.
- Git logs for CUBIC updates. http://git.kernel.org/?p=linux/kernel/git/davem/net-2.6.git;a=history;f=net/ipv4/tcpcubic.c;h=eb5b9854c8c7330791ada69b8c9e8695f7a73f3d;hb=HEAD.Google Scholar
- Iperf. http://sourceforge.net/projects/iperf.Google Scholar
- Linux CUBIC source navigation. http://lxr.linux.no/linux/net/ipv4/tcp_cubic.c.Google Scholar
- TCP Testing Wiki. http://netsrv.csc.ncsu.edu/wiki/index.php/TCP_Testing.Google Scholar
- Testing setup for Linux and FreeBSD. http://netsrv.csc.ncsu.edu/wiki/index.php/Testing_Setup_of_kernel_2.6.23.9.Google Scholar
- Pluggable congestion avoidance modules. http://lwn.net/Articles/128681/ (2005).Google Scholar
- Aikat, J., Kaur, J., Smith, F., and Jeffay, K. Variability in TCP round-trip times. In Proceedings of the ACM SIGCOMM Internet Measurement Conference (Miami, FL, October 2003). Google ScholarDigital Library
- Andrew, L., Marcondes, C., Floyd, S., Dunn, L., Guillier, R., Gang, W., Eggert, L., Ha, S., and Rhee, I. Towards a common TCP evaluation suite. In Proceedings of the fourth PFLDNet Workshop (UK, March 2008).Google Scholar
- Barford, P., and Crovella, M. Generating representative web workloads for network and server performance evaluation. In Measurement and Modeling of Computer Systems (1998), pp. 151--160. Google ScholarDigital Library
- Brakmo, L., and Peterson, L. TCP vegas: End to end congestion avoidance on a global internet. IEEE Journal of Selected Areas in Communications (October 1995). Google ScholarDigital Library
- Bullot, H., Cottrell, R. L., and Hughes-Jones, R. Evaluation of advanced TCP stacks on fast long-distance production networks. In Proceedings of the third PFLDNet Workshop (Illinois, February 2004).Google ScholarCross Ref
- Cai, H., Eun, D., Ha, S., Rhee, I., and Xu, L. Stochastic ordering for internet congestion control and its applications. In Proceedings of IEEE INFOCOM (Anchorage, Alaska, May 2007).Google ScholarDigital Library
- Caini, C., and Firrincieli, R. TCP hybla: a TCP enhancement for heterogeneous networks. International Journal of Satellite Communication and Networking 22, 5 (September 2004), 547--566.Google ScholarDigital Library
- Casetti, C., Gerla, M., Mascolo, S., Sanadidi, M. Y., and Wang, R. TCP Westwood: Bandwidth estimation for enhanced transport over wireless links. In Proceedings of ACM Mobicom (Rome, Italy, July 2001). Google ScholarDigital Library
- Floyd, S. HighSpeed TCP for Large Congestion Windows. RFC 3649 (Experimental), Dec. 2003. Google ScholarDigital Library
- Floyd, S., Handley, M., and Padhye, J. A Comparison of Equation-Based and AIMD Congestion Control, May 2000.Google Scholar
- Fu, C. P., and Liew, S. C. TCP Veno: TCP Enhancement for Transmission Over Wireless Access Networks. IEEE Journal of Selected Areas in Communications (Feb 2003). Google ScholarDigital Library
- Ha, S. Cubic v2.0-pre patch. http://netsrv.csc.ncsu.edu/twiki/pub/Main/BIC/cubickernel-2.6.13.patch.Google Scholar
- Hatano, T., Fukuhara, M., Shigeno, H., and Okada, K. TCP-friendly SQRT TCP for High Speed Networks. In Proceedings of APSITT (November 2003), pp. 455--460.Google Scholar
- Hemminger, S. Cubic root benchmark code. http://lkml.org/lkml/2007/3/13/331.Google Scholar
- Hemminger, S. Linux TCP Performance Improvements. Linux World 2004 (2004).Google Scholar
- Hemminger, S. Network Emulation with NetEm. Linux Conf Au (2005).Google Scholar
- Hemminger, S. TCP infrastructure split out. http://lwn.net/Articles/128626/ (2005).Google Scholar
- Jin, C., Wei, D. X., and Low, S. H. FAST TCP: motivation, architecture, algorithms, performance. In Proceedings of IEEE INFOCOM (Hong Kong, March 2004).Google Scholar
- Kelly, T. Scalable TCP: Improving performance in highspeed wide area networks. ACM SIGCOMM Computer Communication Review 33, 2 (April 2003), 83--91. Google ScholarDigital Library
- Liu, S., Basar, T., and Srikant, R. TCP-Illinois: A loss and delay-based congestion control algorithm for high-speed networks. In Proceedings of VALUETOOLS (Pisa, Italy, October 2006). Google ScholarDigital Library
- Rhee, I., and Xu, L. CUBIC: A new TCP-friendly high-speed TCP variant. In Proceedings of the third PFLDNet Workshop (France, February 2005).Google Scholar
- Shorten, R. N., and Leith, D. J. H-TCP: TCP for high-speed and long-distance networks. In Proceedings of the Second PFLDNet Workshop (Argonne, Illinois, February 2004).Google Scholar
- Tarreau, W. Cubic optimization. http://git.kernel.org/?p=linux/kernel/git/davem/net2.6.git;a=commit;h=7e58886b45bc4a309aeaa8178ef89ff767daaf7f.Google Scholar
- Xu, L., Harfoush, K., and Rhee, I. Binary increase congestion control for fast long-distance networks. In Proceedings of IEEE INFOCOM (Hong Kong, March 2004).Google Scholar
- Zhang, Y., Duffield, N., Paxson, V., and Shenker, S. On the constancy of Internet path properties. In Proceedings of ACM SIGCOMM Internet Measurement Workshop (November 2001). Google ScholarDigital Library
Index Terms
- CUBIC: a new TCP-friendly high-speed TCP variant
Recommendations
Improving RTT Fairness on CUBIC TCP
CANDAR '13: Proceedings of the 2013 First International Symposium on Computing and NetworkingCUBIC TPC is a congestion control algorithm for TCP. It is the current default TCP algorithm in Linux. Because many internet servers, such as web servers, are running on Linux operating systems, keeping throughput obtained with this TCP enough is quite ...
A deterministic loss model based analysis of CUBIC
ICNC '13: Proceedings of the 2013 International Conference on Computing, Networking and Communications (ICNC)Effective congestion control is one of the most critical issues in the utility efficiency of network resources. Because of better scalability and higher flexibility, CUBIC has become a widely deployed TCP congestion control protocol in high-speed long-...
ModQUIC protocol performance verification with CUBIC and BBR congestion control mechanisms
ModQUIC protocol is developed to compete for TCP's dominance. In this work, ModQUIC protocol performance is evaluated using the BBR protocol and suggested a new decrease factor (β) for CUBIC protocol. Results show that ModQUIC with BBR outperforms ModQUIC ...
Comments