Vysílací čas: měna téhle labky
Předchozí kapitola rozepsala jeden rámec. Tahle bere ten výsledek a ptá se, jak vypadá jako funkce velikosti — a odpověď je křivka, kterou by měl znát každý, kdo navrhuje protokol pro stroj.
Křivka, která nemá kde začít
Propustnost při malých rámcích není malá — je směšná. Sto bajtů při MCS7 dá kolem 4 Mb/s z nominálních 65. Zvýšení na MCS9 a 80 MHz (nominálně 390 Mb/s) z toho udělá 9 Mb/s — šestinásobek nominální rychlosti přinesl dvojnásobek skutečné, protože fixních 181 µs se nezmenšilo.
To je také důvod, proč se v porovnávacích testech Wi-Fi vždycky měří s velkými rámci. S malými by se čísla z krabice nedaly obhájit.
Rámce za sekundu jsou ta správná jednotka
Jeden kanál 802.11 zvládne řádově 4 000 až 5 000 rámců za sekundu, ať jsou velké nebo malé. To je ten strop, o který se v hale plné robotů opravdu jde:
| scénář | rámců/s | zabraný vysílací čas |
|---|---|---|
| 10 robotů, telemetrie 50 Hz | 500 | ~11 % |
| 30 robotů, telemetrie 100 Hz | 3 000 | ~66 % — na hraně |
| 2 kamery, 4 Mb/s každá | ~715 | ~26 % |
A protože kolize začnou růst strmě někde kolem 70 % obsazenosti, je ten druhý řádek už za hranou i bez kamer.
Slučování rámců (A-MPDU)
Jediná obrana: poslat víc rámců pod jednou preambulí a s jedním potvrzením. Účinnost vyskočí z padesáti na přes devadesát procent a rámců za sekundu je najednou dost.
Za cenu zpoždění. Slučovat znamená chvíli počkat, co se ještě sejde. Pro kameru je to skvělé; pro povel do smyčky je to přesně ta latence, kterou nechceme — a proto se v průmyslových nasazeních agregace často vypíná nebo omezuje.
Návrhové pravidlo, které z toho plyne: nesnaž se posílat častěji, snaž se posílat méně rámců. Deset hodnot v jednom rámci padesátkrát za sekundu zabere pětinu vysílacího času oproti jedné hodnotě v rámci pětsetkrát za sekundu — a doručí totéž. Slučování na úrovni aplikace je skoro vždycky lepší než slučování na úrovni Wi-Fi, protože ho máš pod kontrolou a nepřidává čekání.