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.

Anomálie výkonu: jeden pomalý zpomalí všechny

Tohle je jev, který v hale s roboty rozhoduje o víc věcech než všechno ostatní v téhle labce dohromady, a přitom se o něm skoro nemluví. Jedna stanice, která spadla na nejnižší rychlost, stáhne celou buňku na svou úroveň. Nejde o přetížení a nejde o rušení. Je to přímý důsledek toho, jak DCF dělí médium.

robot 1MCS7 · 374 µsrobot 2MCS7 · 374 µsrobot 3MCS0 · 2078 µsjedno kolo — 2825 µsrobot 1sám 32takhle 4,2robot 2sám 32takhle 4,2robot 3sám 6takhle 4,2Rychlé stanice by samy zvládly 32 Mb/s. Kvůli jedné pomalé mají 4,2.A dostávají přesně tolik co ta pomalá — spravedlnost v příležitostech je nespravedlnost v datech.
  1. 3 × MCS7

    Tři roboti u přístupového bodu, všichni na MCS7. Střídají se a každý dostane třetinu.

  2. TpomalýTrychlý

    Třetí robot dojede na kraj haly a spadne na nejnižší stupeň. Jeho rámec teď trvá desetkrát dýl.

  3. stejný počet rámců, jiná délka

    A tady je ta past. DCF rozdává příležitosti k vysílání, ne bity. Pomalá stanice vysílá stejně často jako rychlé — jen mnohem dýl.

  4. každý dostane 4,2 Mb/s

    Kolo se prodlouží o její čas, takže i rychlé stanice čekají. Všechny tři skončí na podílu, který určuje ta nejpomalejší.

Čtyři kroky a jeden jezdec. Ve třetím je vidět proč: pomalá stanice vysílá stejně často, ale mnohem dýl. Ve čtvrtém pak, co to udělá s ostatními.

Proč se to děje

DCF je férové v příležitostech: každá stanice se dostane na řadu zhruba stejně často. Není ale férové v bitech, protože rychlost, jakou tu příležitost využije, je její vlastní věc.

Rámec 1500 bajtů trvá při MCS7 asi 375 µs. Tentýž rámec při MCS0 trvá 2 040 µs. Když se tři stanice střídají, kolo trvá 375 + 375 + 2 040 = 2 790 µs — a v tom kole každá poslala jeden rámec. Každá tedy dostane 1500 bajtů za 2 790 µs, tedy 4,3 Mb/s, ať je rychlá nebo pomalá.

Rkaždý = L / Σ Tiharmonický průměr, ne aritmetický

Rychlá stanice by sama zvládla 32 Mb/s. Tady dostane 4,3. Ztratila 87 % kvůli sousedovi.

Kdy to nastane v hale

  • Robot zajede za regál a spadne o dva až tři stupně žebříku (ModLab, kap. 13).
  • Jedno zařízení je staré a umí jen 802.11b — pak sráží kanál na jednotky megabitů trvale.
  • Zapomenutý mobil na okraji dosahu se občas připojí a pošle pár rámců na nejnižší rychlosti.

Ten poslední případ je nejhorší, protože není vidět: telefon nikoho nezajímá, posílá skoro nic — a přesto sebere všem třetinu výkonu, protože jeho pár rámců zabírá obrovský vysílací čas.

Co s tím

opatřeníúčinek
Zakázat nejnižší rychlosti (basic rate set)zařízení pod prahem se prostě nepřipojí — nejúčinnější a nejtvrdší
Airtime fairness na přístupovém bodurozděluje čas, ne příležitosti; pomalá stanice dostane svůj díl a nebere cizí
Víc buněk, menší dosahrobot se přepojí dřív, než spadne na dno
Oddělit SSID pro robotyalespoň se do jejich kanálu nedostanou telefony

Airtime fairness je ta správná odpověď a stojí za to ji hledat v konfiguraci. Přístupový bod, který ji umí, přepočítá férovost z „kolikrát se dostaneš na řadu“ na „kolik mikrosekund dostaneš“. Pomalá stanice pak vysílá méně často, aby zabrala stejně času jako ostatní — a rychlé stanice si své megabity ponechají. Jmenuje se to různě (ATF, Airtime Fairness, Fair Airtime Scheduling), ale dělá to totéž.

Vzorce v této kapitole

R — podíl při anomálii
R = L / Σ Tᵢ [bit/s] kap. 6