![]() |
Implementation of the SEARCH Slow Start Algorithm in the Linux Kernel |
Maryam Ataei Kachooei, Joshua Chung, Amber Cronin, Benjamin Peters, Feng Li, Jae Won Chung, and Mark Claypool
TCP slow start is designed to ramp up to the network congestion point quickly, doubling the congestion window each round-trip time until the congestion point is reached, whereupon TCP exits the slow start phase. Unfortunately, the default Linux TCP slow start implementation - TCP Cubic with HyStart - can cause premature exit from slow start, especially over wireless links, degrading link utilization. However, without HyStart, TCP exits too late, causing unnecessary packet loss. To improve TCP performance during slow start, we developed the Slow start Exit At Right CHokepoint (SEARCH) algorithm where the congestion point is determined based on bytes delivered compared to the expected bytes delivered, smoothed to account for link latency variation and normalized to accommodate link capacities. In prior work, we implemented SEARCH and evaluated it over 4G LTE, low earth orbit (LEO), and geosynchronous (GEO) satellite links. In this paper, we implemented search as a Linux kernel v5.16 module, illustrate its performance over GEO satellite links by example, and evaluate SEARCH over Wi-Fi. Over all networks, SEARCH reliably exits from slow after the congestion point is reached but before inducing packet loss. Our Linux kernel module is open-source and available for general use and further evaluation.
Download:
More information:
See also:
Maryam Ataei Kachooei, Jae Chung, Feng Li, Benjamin Peters, Josh Chung, and Mark Claypool. Improving TCP Slow Start Performance in Wireless Networks with SEARCH, In Proceedings of the IEEE World of Wireless, Mobile and Multimedia Networks (WoWMoM), Perth, Australia, June 2024. https://web.cs.wpi.edu/~claypool/papers/search-wowmom-24/
Amber Cronin, Maryam Ataei Kachooei, Jae Chung, Feng Li, Benjamin Peters, and Mark Claypool. Improving QUIC Slow Start Behavior in Wireless Networks with SEARCH, In Proceedings of the IEEE International Symposium on Local and Metropolitan Area Networks (LANMAN), Boston, MA, USA, July 2024. Online at: https://web.cs.wpi.edu/~claypool/papers/quic-search-lanman-24/
Maryam Ataei Kachooei, Jae Chung, Feng Li, Benjamin Peters, and Mark Claypool. SEARCH: Robust TCP Slow Start Performance over Satellite Networks, In Proceedings of the 48th IEEE Conference on Local Computer Networks (LCN), Daytona Beach, FL, USA, October 1-5, 2023. Online at: https://web.cs.wpi.edu/~claypool/papers/search-lcn-23/
Maryam Ataei Kachooei, Pinhan Zhao, Feng Li, Jae Won Chung, and Mark Claypool. Fixing TCP Slow Start for Slow Fat Links, In Proceedings of the 0x16 NetDev Conference, Lisbon, Portugal, October 2022. Online at: http://www.cs.wpi.edu/~claypool/papers/tcp-best-netdev-22/
Benjamin Peters, Pinhan Zhao, Jae Won Chung, and Mark Claypool. TCP HyStart Performance over a Satellite Network, In Proceedings of the 0x15 NetDev Conference, Virtual Conference, July 2021. Online at: http://www.cs.wpi.edu/~claypool/papers/tcp-hystart-netdev-21/