This was my term project for 6.829, MIT’s graduate computer networking class. We compared the performance of two wireless bit-rate selection algorithms and made improvements to one of them. Bit-rate selection is the process of choosing which bit rate to send with over the wireless link. Unlike wired networks, it is very common for wireless networks to send at lower rate that the maximum the channel supports. This is because wireless channel conditions are rarely ideal due to factors such as fading and interference. The goal is to select a bit rate that achieves the highest throughput, and to keep that rate updated as channel conditions change.
We compare the performance SampleRate and Minstrel, two popular bit rate selection algorithms that have widespread real-world usage. We use a trace based approach to avoid kernel programming and improve reproducibility and allow analysis. We test both algorithms in multiple real-world scenarios, including scenarios with mobile clients and noisy environments, to highlight differences between the two. We also introduce improvements to the Minstrel algorithm that allow for significant gains in throughput.