In this preliminary evaluation, we use a local testbed with the topology shown in Figure 1. Our single sender transmits data to Ethernet (PC) and Wi-Fi (laptop) receivers through two Linux routers. In the first experiment, where we evaluate wired network performance, we introduce a bottleneck using netem (see the purple link in the figure). However, when evaluating performance with the receiver connected via Wi-Fi, we disable netem, allowing the Wi-Fi connection itself to act as the bottleneck link.
In our performance comparison, we evaluate not only HyStart [1] and HyStart++ [2] but also include SUSS [3]. HyStart and HyStart++ enhance the slow-start phase by moderating the exponential growth of cwnd to not overshoot the path capacity, whereas SUSS improves delivery rates during the initial RTTs of slow start. It achieves this by accelerating cwnd growth when it is significantly below its optimal value and the TCP flow utilizes less than its fair share of the bottleneck link. For further details on SUSS, refer to [3] and on GitHub.
Using netem, we configure the bottleneck bandwidth to 50 Mbps, the round-trip propagation delay to 100 ms, and the bottleneck buffer size to 1 BDP = 413 packets. In this experiment, the receiver (PC) receives data from the sender via a TCP flow.
We repeat the experiment four times:
For this experiment, we remove the 50 Mbps limit from the previous setup, making the Wi-Fi link the bottleneck. However, we use netem to shape a 50 ms round-trip propagation delay on the wired section of the connection. The Wi-Fi link adds 3 to 5 ms, resulting in a total round-trip propagation delay of 53 to 55 ms.
In this test the laptop receives data from the sender via a TCP flow. As shown in Figure 3, HyStart++ extends exponential growth longer than SUSS and HyStart. This results in increased queuing delay and packet loss without improving the delivery rate.
Due to the inherent instability of Wi-Fi links, repeating the experiment does not produce highly consistent results. To provide better insights, we repeat each test 20 times per mechanism and aggregate the results to compare Flow Completion Time (FCT) and packet loss for different flow sizes. This allows us to analyze how these parameters vary among the evaluated mechanisms too.
As mentioned, when none of the mechanisms is enabled, cwnd overshoots the path capacity, causing significant packet loss (see the green curve in Figure 4(b)). This, in turn, increases FCT, particularly for small size flows (see the green curve in Figure 4(a)). In this configuration, while HyStart++ offers some improvement, SUSS and HyStart still achieve better performance due to their lower packet loss rates.