Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Při rozhodování o tom, které hardwarové funkce se mají implementovat na síťovém adaptéru, jsou vždy kompromisy. Stále důležitější je zvážit přidání funkcí snižování zátěže úloh, které umožňují moderování přerušení, dynamické ladění hardwaru, zlepšení využití sběrnice PCI a podporu rámců Jumbo. Tyto funkce snižování zátěže jsou důležité pro špičkový síťový adaptér, který se používá v konfiguracích vyžadujících nejvyšší výkon.
- Podpora vyložení kontrolního součtu pro TCP a IP
- Podpora velkého odlehčení při odesílání (LSO)
- Podpora odlehčení zpracování IP bezpečnosti (IPSec)
- Zlepšení moderování přerušení
- Efektivní používání sběrnice PCI
- Podpůrné rámce jumbo
Podpora delegování zpracování kontrolního součtu protokolu TCP a IP
U nejběžnějších síťových přenosů nabízí přesměrování výpočtu kontrolního součtu na hardware síťového adaptéru významnou výhodu výkonu snížením počtu cyklů procesoru požadovaných na bajt. Výpočet kontrolního součtu je nejdražší funkcí v síťovém stacku ze dvou důvodů:
- Přispívá k dlouhé délce cesty.
- Způsobuje změny v mezipaměti (obvykle u odesílatele).
Přesměrování výpočtu kontrolního součtu odesílateli zlepšuje celkový výkon systému snížením zatížení procesoru hostitele a zvýšením efektivity mezipaměti.
V testovacím prostředí Windows Performance Lab jsme zaznamenali zlepšení propustnosti protokolu TCP o 19% při offloadingu kontrolního součtu během úloh náročných na síť. Analýza tohoto vylepšení ukazuje, že 11% celkového zlepšení je způsobeno snížením délky cesty a 8% je způsobeno zvýšením účinnosti mezipaměti.
Vyložení kontrolního součtu u příjemce má stejné výhody jako vyložení kontrolního součtu u odesílatele. U systémů, které fungují jako klient i server, jako je soketový proxy server, je patrný vyšší přínos. V systémech, kde procesor nemusí být nutně zaneprázdněný, jako je například klientský systém, se může výhoda přenesení zátěže kontrolního součtu projevovat v lepší odezvě sítě, spíše než ve znatelně lepší propustnosti.
Podpora velkého snižování zátěže odesílání (LSO)
Systém Windows nabízí síťovému adaptéru nebo ovladači možnost oznámit větší maximální velikost segmentu (MSS) než je MTU na TCP, až do 64K. To umožňuje protokolu TCP přidělit ovladači vyrovnávací paměť až 64K, což rozdělí velkou vyrovnávací paměť na pakety, které se vejdou do síťové MTU.
Práce segmentace PROTOKOLU TCP provádí hardware síťového adaptéru nebo ovladače místo hostitelského procesoru . Výsledkem je výrazné zlepšení výkonu, pokud procesor síťového adaptéru dokáže zpracovat další práci.
U mnoha otestovaných síťových adaptérů došlo k malému vylepšení čistých síťových aktivit, když byl procesor hostitele výkonnější než hardware síťového adaptéru. U typických obchodních úloh se ale změřilo celkové zvýšení výkonu systému až o 9% propustnosti, protože procesor hostitele používá většinu cyklů ke spouštění transakcí. V těchto případech přesměrování segmentace TCP na hardware uvolní procesor hostitele z zatížení segmentace, což mu umožní provádět další cykly pro provádění více transakcí.
Podpora odlehčení zpracování pro zabezpečení IP (IPSec)
Systém Windows nabízí možnost přesměrovat šifrovací práci protokolu IPSec na hardware síťového adaptéru. Šifrování, zejména 3 DES (označované také jako triple DES), má velmi vysoký poměr cyklů/bajtů. Proto není žádným překvapením, že snižování zátěže PROTOKOLU IPSec na hardware síťového adaptéru měří 30% zvýšení výkonu v zabezpečených testech internetu a sítě VPN.
Zlepšení moderování přerušení
Jednoduchý síťový adaptér generuje hardwarové přerušení na hostiteli při příchodu paketu nebo k signalizaci dokončení odeslání paketu. Latence přerušení a výsledné efekty kolísání cache přinášejí režijní náklady k celkovému výkonu sítě. V mnoha scénářích (například vysoké využití systému nebo vysoké zatížení sítě) je nejlepší snížit náklady na přerušení hardwaru zpracováním několika paketů pro každé přerušení.
U náročných síťových úloh bylo naměřeno zvýšení propustnosti až o 9% ve výkonu u úloh s vysokou síťovou zátěží. Ladění parametrů moderování přerušení pouze pro vylepšení propustnosti může ale mít negativní dopad na dobu odezvy. Pokud chcete zachovat optimální nastavení a přizpůsobit se různým úlohám, je nejlepší povolit dynamicky upravené parametry, jak je popsáno v části Automatické ladění dále v tomto článku.
Efektivní používání sběrnice PCI
Jedním z nejdůležitějších faktorů v hardwarovém výkonu síťového adaptéru je, jak efektivně využívá sběrnici PCI. Výkon DMA síťového adaptéru navíc ovlivňuje výkon všech karet PCI, které jsou ve stejné sběrnici PCI. Při optimalizaci využití PCI je potřeba zvážit následující pokyny:
Pokud je to vhodné, zjednodušte přenosy DMA agregací cílových stránek.
Snižte režii protokolu PCI provedením DMA ve velkých blocích (alespoň 256 bajtů). Pokud je to možné, načasujte proudění dat, aby se celé pakety přenášely v jedné transakci PCI. Zvažte ale, jak by se měl provést převod. Například nečekejte na doručení všech dat před zahájením přenosů, protože čekání zvýší latenci a spotřebuje další místo vyrovnávací paměti.
Je lepší doplnit přenos paketů DMA dalšími bajty, než vyžadovat krátký dodatečný přenos pro "vyčištění" přenesením posledních několika bajtů paketu.
Podle doporučení specifikace PCI použijte čtení paměti, čtení řádky paměti a vícenásobné čtení paměti.
Hardware sběrnice síťového adaptéru by měl detekovat omezení v řadiči paměti hostitele a odpovídajícím způsobem upravit chování. Například hardware sběrnice síťového adaptéru by měl zjišťovat omezení předběžného načítání řadičem paměti pro čtení paměti pomocí DMA a počkat na krátkou dobu, než se pokusí o transakci znovu provést. Hardware by měl detekovat nadměrné opakované pokusy na straně síťového adaptéru a zvýšit čas před prvním opakováním budoucích transakcí, když je odpojen hostitelem. V případě, že jste si jisti, že je stále zaneprázdněn načítání další sekvenční sady dat, neexistuje žádný smysl pokračovat v odesílání transakcí do kontroleru paměti.
Minimalizujte vkládání stavů čekání, zejména při přenosech dat. Je lepší uvolnit sběrnici a nechat jiný PCI adaptér, aby na ní udělal nějakou práci, pokud bude vloženo více než jeden nebo dva čekací stavy.
Místo naprogramovaných vstupně-výstupních operací použijte vstupně-výstupní operace mapované paměti. To platí i pro řidiče.
Podpůrné rámce jumbo
Podpora větších maximálních přenosových jednotek (MTU) a tím i větších velikostí rámců, zejména jumbo rámců, snižuje režii síťového zásobníku na bajt. Zvýšení propustnosti TCP o 20% bylo měřeno při změně MTU z 1514 na 9000. Významné snížení využití procesoru je také dosaženo díky menšímu počtu volání ze síťové vrstvy do síťového ovladače.