476 research outputs found

    Evaluation and optimisation of Less-than-Best-Eļ¬€ort TCP congestion control mechanisms

    Get PDF
    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. Trafļ¬c 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 trafļ¬c. However, no previous study has evaluated the performance of a large number of this class of congestion con-trol mechanisms. This thesis quantiļ¬es 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 ļ¬rst 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 identiļ¬ed 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 trafļ¬c, 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 trafļ¬c. 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 trafļ¬c 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 trafļ¬c 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

    Performance, Validation and Testing with the Network Simulation Cradle

    Get PDF
    Much current simulation of TCP makes use of simplified models of TCP, which is a large and complex protocol with many variations possible between implementations. We use direct execution of real world network stacks in the network simulator ns-2 to compare TCP performance between implementations and reproduce existing work. A project called The Network Simulation Cradle provides the real world network stacks and we show how it can be used for performance evaluation and validation. There are large differences in performance between simplified TCP models and TCP implementations in some situations. Such differences are apparent in some reproduced research, with results using the Network Simulation Cradle very different from the results produced with the ns-2 TCP models. In other cases, using the real implementations gives very similar results, validating the original research
    • ā€¦
    corecore