WiFiLab nesdílí se pásmo, sdílí se čas

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

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.

4050010001500velikost rámce (bajty)09172635Mb/snominální rychlost65,0 Mb/svysílací čas rámce214 µsskutečná propustnost7,5 Mb/súčinnost12 %rámců za sekundu4684Čárkovaně je rychlost z krabice. Křivka se k ní neblíží — u krátkých rámců se jí ani nedotkne.
Posuň velikost rámce po celé ose. U krátkých rámců je propustnost mizivá, ať je modulace jakkoli rychlá — a přepínání MCS to skoro nezmění. Pak zapni slučování.

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

rámců/s ≈ 1 / (Trežie + data / rychlost)a Trežie je konstantní

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ů/szabraný vysílací čas
10 robotů, telemetrie 50 Hz500~11 %
30 robotů, telemetrie 100 Hz3 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í.

Vzorce v této kapitole

fps — rámců za sekundu
fps = 1 / T_rámec [1/s] kap. 4