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.

Paper abstract

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.

Extra figures

These figures did not fit in the paper, so are included here for reference. See the full paper for context.

The slow station experiences higher latency with the airtime scheduler because traffic to it is delayed to compensate for the traffic sent by the station.

Latency (ICMP ping) with simultaneous TCP traffic in both directions.

The slow station experiences higher latency with the airtime scheduler because traffic to it is delayed to compensate for the traffic sent by the station.

The differences in aggregation level is due to the changes in queue structure between the test cases.

Per-station mean aggregation levels - UDP download traffic.

The differences in aggregation level is due to the changes in queue structure between the test cases.

 

Per-station mean aggregation levels - TCP download traffic.

 

The mean values are those reported in Table 1 in the paper.

Per-station throughput values - UDP download traffic.

The mean values are those reported in Table 1 in the paper.

The high variance is, in part, due to fluctuating latency from queueing in the stations.

Total throughput for simultaneous upload and download TCP traffic.

The high variance is, in part, due to fluctuating latency from queueing in the stations.

With this many stations the optimisation improves latency by a factor of two.

Effect of the sparse station optimisation for the 30 stations test.

With this many stations the optimisation improves latency by a factor of two.

 

Total TCP throughput for the 30 stations test.

 

(while the fast stations run bulk transfers).

HTTP page load times for the slow station

(while the fast stations run bulk transfers).

Dataset

The full dataset (Flent data files) used to generate the plots is available below: