Title: SUSS: Improving TCP Performance by Speeding Up Slow-Start
Authors: Mahdi Arghavani, Haibo Zhang, David Eyers (University of Otago); Abbas Arghavani (Mälardalen University)
Scribe: Hongyu Du (Xiamen University)
Background:
The traditional TCP slow start mechanism can lead to severe underutilization of network bandwidth during the initialization phase, which is particularly evident in the transfer of small files. In the world of network communication, every bit of delay can affect the user experience. As network applications demand higher real-time performance, how to shorten the slow growth period at the beginning of the TCP connection establishment has become a key to network optimization.
Key idea and contribution:
This paper introduces SUSS (Speeding Up Slow Start), an innovative TCP transmission strategy designed to accelerate the slow start phase of TCP. By employing intelligent prediction and control, it significantly enhances the efficiency of small file transfers. SUSS has designed a new packet format that includes key information such as message type, request ID, and server group ID to adapt to the rapidly increasing cwnd. SUSS only accelerates the growth of cwnd when the server is idle. By monitoring RTTs, SUSS boldly doubles the growth rate of cwnd during the slow start phase, predicting the subsequent network conditions. Combined with ACK clock and packet pacing techniques, SUSS effectively controls the burstiness of traffic caused by the growth of cwnd. While accelerating the growth of cwnd, it also considers the fairness and stability of the network, ensuring fair competition among different TCP streams.
Evaluation:
Through testing under various server and client configurations, SUSS has demonstrated significant advantages in small file transfers. Tests conducted across multiple network environments have shown that SUSS outperforms the traditional slow start in all experiments, with no adverse effects observed. Whether in high-latency or high-bandwidth network environments, SUSS achieves at least a 20% improvement in transfer time.
Q1: A few years ago, a large provider suggested that we should increase the initial window from 1 to 100. In practice, it would not be surprising to learn that many large initial window sizes are used. Have you had the opportunity to verify this large provider’s idea?
A1: That’s a great question. As you mentioned, in 2013, Google proposed the idea of increasing the initial window to 10 packets. I conducted experiments with larger initial windows. Not in all cases, but in many test scenarios, they caused bursts and pressure on the bottleneck buffer. I can say that in many tested scenarios, we saw adverse effects on performance. However, I am certain that some other companies, especially CDNs, use different initial window values. But overall, what’s important here is that when we accelerate the growth of the congestion window, we need a mechanism to space out packets to reduce buffer pressure. Otherwise, as far as my tests show, it leads to poor performance.
Q2: According to my understanding, the multiplication factor you set is 4, compared to 2 in classic TCP. I wonder how this specific number was chosen, and intuitively, it seems that the larger the exponent, the faster it will converge to the optimal transmission window. So why not choose an even larger multiplication factor?
A2: SUSS relies on the high start criteria of cubic. High start is a mechanism that has been used in cubic for more than a decade, and cubic is a widely used congestion control algorithm. It stops the exponential growth when the congestion window reaches its optimal value. Our strategy to accelerate the congestion window is based on a refinement of the sorting criteria.
Personal thoughts:
SUSS, by predicting network conditions and adjusting the growth rate of the cwnd accordingly, is a strategy unprecedented in traditional TCP protocols. It breaks through the limitations of insufficient bandwidth utilization during the slow start phase and serves as a beneficial supplement to existing TCP congestion control mechanisms. As the real-time requirements of network applications continue to increase, SUSS is expected to play an even greater role in optimizing network transmission performance. Moreover, while accelerating the growth of cwnd, SUSS does not sacrifice the fairness and stability of TCP connections, ensuring the rational allocation of network resources.