Session

A Linux Implementation of SEARCH -- a New TCP Slow Start Algorithm

Speakers

Maryam Ataei Kachooei
Joshua Chung
Amber Cronin
Benjamin Peters
Feng Li
Jae Won Chung
Mark Claypool

Label

Nuts and Bolts

Session Type

Talk

Contents

Description

TCP slow start is designed to ramp up to the network congestion point quickly, doubling the congestion window each round-trip time until link capacity is reached, whereupon TCP exits the slow start phase. Unfortunately, the default Linux TCP slow start implementation – TCP Cubic with Hystart [1] – 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 propose the Slow start Exit At Right CHokepoint (SEARCH) algorithm [2] 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. We implemented SEARCH as a Linux kernel v5.16 module\footnote{We will publish source code for pubic review and evaluation} and evaluated it over WiFi, 4G/LTE, and low earth orbit (LEO) and geosynchronous (GEO) satellite links. Analysis of the results show that the SEARCH reliably exits from slow after the congestion point is reached but before inducing packet loss.

[1] Ha, S., and Rhee, I. 2011. Taming the elephants: New tcp slow start. Computer Networks 55(9):2092–2110. [2] Kachooei, M. A.; Chung, J.; Li, F.; Peters, B.; and Claypool, M. 2023a. Search: Robust tcp slow start performance over satellite networks. In 2023 IEEE 48th Conference on Local Computer Networks (LCN), 1–4.