[Make-wifi-fast] Making wifi really fast...
dpreed at reed.com
dpreed at reed.com
Sat Feb 4 11:26:59 EST 2017
As an experiment, I am starting to put fiber throughout my house, primarily intended as a backbone for scalable wifi to wifi that is very low latency, based on low cost 10 GigE gear.
But I'm still looking for some key pieces of kit... Others might suggest motherboards, wifi cards, software that can achieve the "access point" goals below... I'd be very appreciative.
Goals: expected latency end to end around 50 microseconds or in that ballpark, end to end, wifi to wifi. Off the shelf hardware components. Linux or FreeBSD routing components. No bufferbloat. Multiple WiFi gateways. Throughput close to max achievable on multiple mixed bands, 1750 Mbits/sec times number of wifi cards, perhaps. Or more if cochannel operation can be achieved among access points that don't hear each other.
Current gear and costs:
Ubiquity XG-16 10 GigE switch (cost was $300 as beta, now selling for ~$550).
8 Mellanox ConnectX 2 PCIe cards, $20 each, because they are being pulled from systems. Mine look to possibly be newly packaged ones, probably unsalable, given that they are EOL. But very easy to find (mine from Amazon).
Mix of twinax and fiber SFP+ cables, pulled through walls and/or run on exterior of house.
Motherboards with enough I/o performance to handle at least a couple of gigabits per second, chopped into smallish packets. I plan to set MTU to 9000, but most packets will be smaller. I know how to get wirespeed on the ConnectX2 devices by dedicating a core and polling, eliminating interrupts. Assume that wifi can work that way also, eliminating need for bloated queueing, leaving one or more cores to do actual routing.
Main requirement is PCI Express x8 or bigger slot, and slot for wifi card. Smaller is better.
Wifi card(s) that support dual band AC, and have drivers that don't bloat their queues. Preferably having support for polled mode operation on one or two cores, which I suspect is needed just as it is for 10 GigE low latency.
Latency is the primary measurement I'm interested in: in Internet "it is the latency, stupid." This may make Linux be the wrong choice... Big queues are baked into Linux kernel dogma a little too much, because the wifi hardware guys on small systems measure throughput only, and the drivers come from them.
Anyway, this is a hobby project, and my day job (which involves getting 10 GigE layer 2 protocols to do end api to end api latencies < 10 usec.) takes priority for me. Any suggestions appreciated.
More information about the Make-wifi-fast