Ending the Anomaly: Achieving Low Latency and Airtime Fairness in WiFi
This is the companion website to the paper “Ending the Anomaly: Achieving Low Latency and Airtime Fairness in WiFi” by Toke Høiland-Jørgensen, Michał Kazior, Dave Täht, Per Hurtig and Anna Brunstrom.
With more devices connected, delays and jitter at the WiFi hop become more prevalent, and correct functioning during network congestion becomes more important. However, two important performance issues prevent modern WiFi from reaching its potential: Increased latency under load caused by excessive queueing (i.e. bufferbloat) and the 802.11 performance anomaly.
To remedy these issues, we present a novel two-part solution: We design a new queueing scheme that eliminates bufferbloat in the wireless setting. Leveraging this queueing scheme, we then design an airtime fairness scheduler that operates at the access point and doesn’t require any changes to clients.
We evaluate our solution using both a theoretical model and experiments in a testbed environment, formulating a suitable analytical model in the process. We show that our solution achieves an order of magnitude reduction in latency under load, large improvements in multi-station throughput, and nearly perfect airtime fairness for both TCP and downstream UDP traffic. Further experiments with application traffic confirm that the solution provides significant performance gains for real-world traffic.We develop a production quality implementation of our solution in the Linux kernel, the platform powering most access points outside of the managed enterprise setting. The implementation has been accepted into the mainline kernel distribution, making it available for deployment on billions of devices running Linux today.
Running the code
The patch has been accepted into mainline Linux (along with Felix Fietkau’s follow-up fix for a power save-related crash bug) and will be part of the Linux 4.11. The code is also shipped in the LEDE project firmware from version 17.01.
These figures did not fit in the paper, so are included here for reference. See the full paper for context.
The full dataset (Flent data files) used to generate the plots is available below:
- airtime-fairness-flent-data.tar.gz (1.2 GiB, sha256sum c6fcdb4ed6525de5ca1250594ab06f07b884d5c8d10eb5231de0028bf184bd59).