Nätverksgränssnittsregulator

Ett ATM-nätverksgränssnitt.

Intel 82574L Gigabit Ethernet NIC, ett PCI Express × 1-kort, som tillhandahåller två hårdvarumottagningsköer

Multiqueue NICs tillhandahåller flera sändnings- och mottagningsköer, så att paket som tas emot av NIC kan tilldelas en av dess mottagningsköer. NIC kan distribuera inkommande trafik mellan mottagningsköerna med hjälp av en hash-funktion. Varje mottagningskö tilldelas ett separat avbrott; genom att dirigera vart och ett av dessa avbrott till olika CPU: er eller CPU-kärnor, kan bearbetning av avbrottsförfrågningarna utlöst av nätverkstrafiken som mottas av en enda NIC distribueras vilket förbättrar prestanda.

Den hårdvarubaserade fördelningen av avbrotten, som beskrivits ovan kallas mottagningssidesskalning (RSS) .: 82 Det finns rent programvaruimplementeringar, såsom mottagspaketstyrning (RPS) och mottagningsflödesstyrning (RFS). Ytterligare prestandaförbättringar kan uppnås genom att dirigera avbrottsförfrågningarna till CPU: erna eller kärnorna som kör de applikationer som är de ultimata destinationerna för nätverkspaket som genererade avbrotten. Denna teknik förbättrar referensens lokalitet och resulterar i högre totalprestanda, minskad latens och bättre hårdvaruanvändning på grund av det högre utnyttjandet av CPU-cachar och färre nödvändiga kontextväxlar. Exempel på sådana implementeringar är RFS och Intel Flow Director.: 98,99

Med flera kö-nätverkskort kan ytterligare prestandaförbättringar uppnås genom att fördela utgående trafik mellan olika sändningsköer. Genom att tilldela olika sändningsköer till olika CPU: er eller CPU-kärnor kan interna operativsystemstridigheter undvikas. Detta tillvägagångssätt kallas vanligtvis sändpaketstyrning (XPS).

Vissa produkter har NIC-partitionering (NPAR, även känd som portpartitionering) som använder SR-IOV-virtualisering för att dela upp en enda 10 Gigabit Ethernet NIC i flera diskreta virtuella nätverkskort med dedikerad bandbredd, som presenteras för firmware och operativsystem som separata PCI-enhetsfunktioner.

TCP-avlastningsmotor är en teknik som används i vissa nätverkskort för att avlasta bearbetning av hela TCP / IP-stacken till nätverkskontrollen. Den används främst med höghastighetsnätverksgränssnitt, till exempel Gigabit Ethernet och 10 Gigabit Ethernet, för vilka nätverksstackens bearbetningskostnader blir betydande.

Vissa nätverkskort har integrerade fältprogrammerbara grindmatriser (FPGAs ) för användarprogrammerbar bearbetning av nätverkstrafik innan den når värddatorn, vilket möjliggör betydligt minskade latenser i tidskänsliga arbetsbelastningar. Dessutom erbjuder vissa nätverkskort kompletta TCP / IP-stackar med låg latens som körs på integrerade FPGA i kombination med användarutrymme-bibliotek som avlyssnar nätverksoperationer som vanligtvis utförs av operativsystemets kärna; Solarflares öppen källkod OpenOnload-nätverksstack som körs på Linux är ett exempel. Denna typ av funktionalitet kallas vanligtvis nätverksanvändning på användarnivå.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *