draft-chung-ccwg-search
SEARCH -- a New Slow Start Algorithm for TCP and QUIC
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 [HYSTART] -- can cause
premature exit from slow start, especially over wireless links,
degrading link utilization. However, without HyStart, TCP exits slow
start too late, causing unnecessary packet loss. To improve TCP slow
start performance, this document proposes using the Slow start Exit
At Right CHokepoint (SEARCH) algorithm [KCL24] where the TCP sender
determines the congestion point based on acknowledged deliveries --
specifically, the sender computes the delivered bytes compared to the
sent bytes, smoothed to account for link latency variation and
normalized to accommodate link capacities, and initiates exits slow
start if the delivered bytes are lower than expected. We implemented
SEARCH in Linux, FreeBSD, and QUIC and evaluated it over WiFi, 4G/
LTE, and low earth orbit (LEO) and geosynchronous (GEO) satellite
links. Analysis of the results show that SEARCH reliably exits from
slow start after the congestion point is reached but before inducing
packet loss.