The congestion control challenge: PCC outperforms three popular algorithms
Over the last few decades, the internet has gradually come to occupy a central place in our lives. The sudden advent of COVID-19 only highlighted just how much we rely on the internet to buy essentials, keep informed about public health warnings, connect with friends and family, work/study from home, entertain ourselves with streaming video and multiplayer games, and receive health and medical services, to name just a few.
Just as we’re relying on the internet for almost every part of our lives, it’s also becoming more congested. Data packets can be delayed or never arrive at all, due to a pipe that is overwhelmed with traffic, resulting in poor quality of experience for the end user.
All of which is pushing internet congestion control solutions into greater prominence. There are a number of congestion control algorithms that aim to improve Quality of Experience by overcoming the challenges of a crowded connection, where conditions are unpredictable and competition between connections is high. The race is on to find a congestion control solution which delivers the best and most consistent performance for internet users.
The challenge: testing congestion control solutions over satellite network
A major US satellite internet provider compared between four congestion-control algorithms to see which one would deliver the most consistent and high performance for satellite internet. The experiment (or dare we say “beauty contest”) was very professionally run and reported upon by researchers in the Computer Science department at the Worcester Polytechnic Institute in the US.
In this experiment, the researchers used four congestion control solutions:
TCP Cubic - the default algorithm for most Linux platforms
BBR - the algorithm that was developed by Google and is since used on YouTube.
TCP Hybla - a TCP variant designed specifically for satellite networks
PCC - Compira Labs’ implementation of the Performance oriented Congestion Control algorithm
They tested the solutions on a working, production satellite internet link. Besides providing high speed internet to homes and businesses, satellite internet connections are vital whenever users can’t access traditional wired, WiFi, or mobile networks, such as in rural areas, on airplanes or in times of natural disasters. Satellite internet has been shown to be reliable and stable, but it’s frequently plagued with high latency issues (typically with 100s of milliseconds of end-to-end network latency).
The aim was to find a congestion control algorithm that would settle on a steady bandwidth that’s as high as possible, in order to fully utilize the available link, while also minimizing packet delays and losses to avoid damaging QoE for the end user.
The results: PCC outperforms its rivals
PCC outperforms the other congestion control algorithms, as you can see in the following graphs. The graphs depict the result of an identical data-transfer experiment performed with each of the four congestion-control alternatives. For each alternative, three metrics are recorded, the achieved throughput, the round-trip time (RTT) and the retransmission rate (all as a function of the experiment time).
After an early spike to test the extent of the bandwidth, PCC settled on a throughput rate of ~120 Mbps which remained constant and steady throughout the connection. The round-trip-time (RTT) rose and fell several times in the first few seconds, although the spikes were nowhere near as high as those experienced by BBR. After around 20 seconds, PCC delivered minimal and stable round-trip times without any further fluctuations, and apart from a single, short-lived spike, retransmissions were very low.
In contrast, Cubic and BBR showed significant and repeated fluctuations in throughput and RTT times. BBR in particular delivered a very unsteady performance with frequent drops in throughput and corresponding spikes in RTT.
Hybla -- the form of TCP designed specifically for satellite transmission -- displays some instability, but the start-up time is fast and retransmission is low. Hybla would be the most powerful for small downloads, thanks to its fast throughput ramp-up.
PCC: a leading congestion control algorithm
There have been very few tests done to assess the performance of different congestion control algorithms over satellite internet. The results of this research show quite clearly that PCC is the most powerful and stable congestion control solution for this situation, demonstrating high throughputs and low, steady round-trip times, while Hybla rivals it for small downloads. BBR and TCP Cubic share a position as runners-up.