Kontroler interfejsu sieciowego

Interfejs sieciowy bankomatu.

Intel 82574L Gigabit Ethernet NIC, karta PCI Express × 1, która zapewnia dwie sprzętowe kolejki odbioru

Wielokolejkowe karty sieciowe zapewniają wiele kolejek nadawczych i odbiorczych, umożliwiając przypisanie pakietów odebranych przez kartę do jednej z jej kolejek odbiorczych. Karta sieciowa może rozdzielać ruch przychodzący między kolejkami odbiorczymi za pomocą funkcji skrótu. Każda kolejka odbiorcza jest przypisana do oddzielnego przerwania; poprzez kierowanie każdego z tych przerwań do różnych procesorów lub rdzeni procesora, przetwarzanie żądań przerwań wyzwalanych przez ruch sieciowy odbierany przez pojedynczą kartę sieciową może być rozproszone, poprawiając wydajność.

Sprzętowa dystrybucja przerwań, opisane powyżej, nazywane jest skalowaniem po stronie odbioru (RSS) .: 82 Istnieją również czysto programowe implementacje, takie jak sterowanie pakietami odbiorczymi (RPS) i sterowanie przepływem odbioru (RFS). Dalszą poprawę wydajności można osiągnąć, kierując żądania przerwań do procesorów lub rdzeni wykonujących aplikacje, które są ostatecznymi miejscami docelowymi dla pakietów sieciowych, które wygenerowały przerwania. Technika ta poprawia lokalność odniesienia i skutkuje wyższą ogólną wydajnością, mniejszymi opóźnieniami i lepszym wykorzystaniem sprzętu ze względu na większe wykorzystanie pamięci podręcznych procesora i mniej wymaganych przełączników kontekstu. Przykładami takich implementacji są RFS i Intel Flow Director.:98,99

W przypadku kart sieciowych z wieloma kolejkami, dodatkową poprawę wydajności można osiągnąć, rozdzielając ruch wychodzący między różne kolejki transmisji. Przypisując różne kolejki transmisji do różnych procesorów lub rdzeni procesorów, można uniknąć konfliktów wewnętrznego systemu operacyjnego. To podejście jest zwykle określane jako sterowanie pakietami transmisji (XPS).

Niektóre produkty obsługują partycjonowanie kart sieciowych (NPAR, znane również jako partycjonowanie portów), które wykorzystują wirtualizację SR-IOV do podzielenia jednej 10-gigabitowej karty sieciowej Ethernet na wiele oddzielnych wirtualnych kart sieciowych z dedykowaną przepustowością, które są prezentowane oprogramowaniu sprzętowemu i systemowi operacyjnemu jako oddzielne funkcje urządzenia PCI.

Silnik odciążania TCP to technologia używana w niektórych kartach sieciowych do odciążania przetwarzania całego stosu TCP / IP do sterownika sieciowego. Jest używany głównie z szybkimi interfejsami sieciowymi, takimi jak Gigabit Ethernet i 10 Gigabit Ethernet, dla których obciążenie związane z przetwarzaniem stosu sieciowego staje się znaczące.

Niektóre karty sieciowe oferują zintegrowane macierze bramek programowalne przez użytkownika (FPGA ) do programowanego przez użytkownika przetwarzania ruchu sieciowego, zanim dotrze on do komputera hosta, co pozwala na znaczne zmniejszenie opóźnień w obciążeniach czasowo zależnych. Co więcej, niektóre karty sieciowe oferują kompletne stosy TCP / IP o niskim opóźnieniu, działające na zintegrowanych układach FPGA w połączeniu z bibliotekami przestrzeni użytkownika, które przechwytują operacje sieciowe zwykle wykonywane przez jądro systemu operacyjnego; Przykładem jest stos sieciowy OpenOnload open source firmy Solarflare, który działa w systemie Linux. Ten rodzaj funkcji jest zwykle określany jako sieci na poziomie użytkownika.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *