# On the Fairness of Internet Congestion Control over WiFi with Deep Reinforcement Learning
## 5 Experimental Methodology, Results, and Discussion
### Our Key Findings  
Table 5 summarizes our key findings with the performance metrics of various CCAs over WiFi, comparing scenarios before and after switching the congestion control.  
In Scenario 1, Client 1 (CUBIC) demonstrates superior throughput (79.44 Mbps) compared to Client 2 (BBR) before switching (4.08 Mbps), but at the cost of higher RTT (21.44 ms vs. 2.32 ms) and jitter (0.75 ms vs. 23.99 ms), with a packet loss of 12.8% versus BBR's 19.35%. After switching, Client 1's throughput decreased to 40.64 Mbps, while Client 2's improved to 38.72 Mbps, with RTTs of 16.30 ms and 13.01 ms, respectively. In Scenario 2, Client 1 (PCC) exhibited higher throughput (77.36 Mbps) before switching compared to Client 2 (BBR) (12.32 Mbps) but sufferd from greater packet loss (48.97% vs. 11.83%). After switching, Client 1's throughput decreased to 44 Mbps, while its packet loss improved to 9.22%, compared to Client 2's throughput of 40.4 Mbps and loss of 7.21%. In Scenario 3, Client 1 (BBR) before switching shows a throughput of 20.48 Mbps and RTT of 13.40 ms,  
Figure 19: Visualization of training a DRL model: The accuracy over 500 epochs, as shown in line graph (**a**), attains 100% after the 60-epoch mark. The box plot (**b**) shows the distribution of training accuracy, with 96.8% of epochs achieving 100% accuracy.  
Figure 18: Visualization of training a DRL model: The loss over 500 epochs, shown in line graph (**a**), approaches near zero after 58 epochs, with minimal fluctuations between epochs 176 and 179. The box plot (**b**) indicates that 88% of the loss distribution is negligible (close to zero).  
with a packet loss of 29.44%. Post-switching, BBR's performance dramatically improved to 42.56 Mbps in throughput, 15.78 ms in RTT, and 7.20% in packet loss.  
Table 5 highlights the varied impacts of different CCAs and switching on throughput, RTT, jitter, and packet loss, demonstrating the need for dynamic adaptation to optimize network performance. Upon reviewing several rigorous CCA studies in the field, including their driving principles, behaviors, and performance in different network conditions summarized in Table 5, we draw the following findings:  
* _Mitigating Non-Congestive Delay Variations_: Delay-bounding CCAs aim to manage non-congestive delay variations by ensuring that delay adjustments comprise at least half the expected non-congestive jitter along the network path [18]. If the delay oscillations fall below this threshold, the CCA may struggle to maintain high throughput, bounded delays, and fairness, potentially leading to inefficient network performance.
* _Characteristics and Thresholds for Network Design_: CCAs should adjust delays by at least half the expected non-congestive delays to differentiate between congestion-related and other delays. Failing to meet this threshold can cause the CCA to struggle with throughput, delay management, and fairness [18].
* _Dynamic Switching of CCAs and Insights into Fairness and Stability_: This study reveals that throughput unfairness persists within the same CCA, influenced by network path characteristics. Dynamically switching between CCAs based on network conditions can improve fairness and stability. These findings highlight the potential of using Deep Reinforcement Learning to adapt CCAs dynamically for better network performance and fairness.