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.

Latence a jitter: co z toho vidí regulátor

Wi-Fi se prodává na propustnost a měří se na propustnost. Pro robota je to skoro nezajímavé číslo. Rozhoduje rozdělení zpoždění — a hlavně jeho pravý konec.

62 %0,224 %0,59,1 %1,03,5 %1,71,3 %3,00,5 %5,410,2zpoždění (ms)perioda smyčkynapoprvé61,6 %typické zpoždění0,22 msnejhorší případ10,2 msnestihne periodu0,199 %tj. jednou za5,0 sPrůměr sedí u prvního sloupku. Regulátor ale žije z toho posledního —a ten je o dva řády dál.
Sloupky jsou pravděpodobnosti, že zpráva dorazí po prvním, druhém, třetím… pokusu. Žlutá čára je perioda smyčky. Přidej stanice nebo zhorši kanál a sleduj, kolik sloupků se dostane za ni.

Z čeho se to zpoždění skládá

složkatypickyje to náhodné?
čekání na volný kanál0 – 5 msano, podle zatížení
odpočítávání0 – 135 µsano, vždy
vysílání rámce50 – 2000 µsne, závisí na MCS a délce
opakování po kolizi0 – 30 msano, a je to ocas
fronta v přístupovém bodu0 – ∞ano

Dvě z těch pěti položek jsou náhodné z principu a nedají se odstranit. Jitter není vada konfigurace, je to vlastnost protokolu.

Průměr je k ničemu

Typický průměr v rozumně zatížené hale je 2–3 ms a vypadá skvěle. Jenže:

  • p99 bývá 8–15 ms,
  • p99,9 30–60 ms,
  • nejhorší případ stovky milisekund, když se sejde opakování s roamingem.

Smyčka na 100 Hz má periodu 10 ms. Zpoždění p99 = 12 ms tedy znamená, že každý stý cyklus přijde pozdě — tedy jednou za sekundu. Regulátor, který na to není připravený, z toho dostane skok na akční veličině; jak přesně to škodí, ukazuje ServoLab.

Co s tím dělat

  1. Neregulovat přes Wi-Fi. Rychlá smyčka patří do měniče; přes rádio se posílají žádané hodnoty a stav. Tohle je ta jediná rada, která vždycky funguje.
  2. Rozpočítat si to. Perioda musí být násobkem p99,9, ne p50.
  3. Značkovat provoz (EDCA voice) a vypnout agregaci pro řídicí frontu.
  4. Míň stanic v buňce. Rozptyl roste s počtem soutěžících rychleji než průměr.
  5. Měřit, ne odhadovat. Rozdělení zpoždění se dá nasnímat za pár minut a je to nejlevnější diagnostika, jaká existuje.

Pozor na dvojí nesmysl s TCP. Přes Wi-Fi jede TCP dvakrát hůř, než čeká: rádio už rámce opakuje samo, takže když se ztráta projeví až do TCP, znamená to, že selhalo sedm pokusů. TCP to ale interpretuje jako přetížení a zpomalí — přesně v okamžiku, kdy je kanál volný a jen byl chvíli rušený. Pro řídicí provoz platí totéž co v NetLabu: spolehlivě ≠ včas.