Evaluation and optimisation of Less-than-Best-Effort TCP congestion control mechanisms

Abstract

Increasing use of online software installation, updates, and backup services, as well as the popularity of user-generated content, has increased the demand for band-width in recent years. Traffic generated by these applications — when receiving a ‘fair-share’ of the available bandwidth — can impact the responsiveness of delay-sensitive applications. Less-than-Best-Effort TCP congestion control mechanisms aim to allow lower-priority applications to utilise excess bandwidth with minimum impact to regular TCP carrying delay-sensitive traffic. However, no previous study has evaluated the performance of a large number of this class of congestion con-trol mechanisms. This thesis quantifies the performance of existing Less-than-Best-Effort TCP congestion control mechanisms, and proposes a new mechanism to im-prove the performance of these mechanisms with high path delay. This study first evaluated the performance of seven Less-than-Best-Effort conges-tion control mechanisms in realistic scenarios under a range of network conditions in a Linux testbed incorporating wired Ethernet and 802.11n wireless links. The seven mechanisms evaluated were: Apple LEDBAT, CAIA Delay-Gradient (CDG), RFC6817 LEDBAT, Low Priority, Nice, Westwood-LP, and Vegas. Of these mecha-nisms, only four had existing implementations for modern operating systems. The remaining three mechanisms — Apple LEDBAT, Nice, and Westwood-LP — were implemented based on published descriptions and available code fragments to fa-cilitate this evaluation. The results of the evaluation suggest that Less-than-Best-Effort congestion control mechanisms can be divided into two categories: regular TCP-like mechanisms, and low-impact mechanisms. Of the low-impact mechanisms, two mechanisms were identified as having desirable performance characteristics: Nice and CDG. Nice pro-vides background throughput comparable to regular TCP while maintaining low queuing delay in low path delay settings. CDG has the least impact on regular TCP traffic, at the expense of reduced throughput. In high path-delay settings, these reductions to throughput experienced by CDG are exacerbated, while Nice has a greater impact on regular TCP traffic. To address the very low throughput of existing Less-than-Best-Effort congestion control mechanisms in high path-delay settings, a new Less-than-Best-Effort TCP congestion control algorithm was developed and implemented: Yield TCP. Yield utilises elements of a Proportional-Integral controller to better interpret and re-spond to changes in queuing delay to achieve this goal while also reducing the impact on regular TCP traffic over TCP-like mechanisms. Source code for the im-plementation of Yield developed for this research has also been made available. The results of evaluating Yield indicate that it successfully addresses the low through-put of low-impact Less-than-Best-Effort mechanisms in high delay settings, while also reducing the impact on foreground traffic compared to regular TCP-like con-gestion control mechanisms. Yield also performs similarly to Nice in low delay settings, while also achieving greater intra-protocol fairness than Nice across all settings. These results indicate that Yield addresses the weaknesses of Nice and CDG, and is a promising alternative to existing Less-than-Best-Effort congestion control algorithms

    Similar works