Controler de interfață de rețea

O interfață de rețea ATM.

Intel 82574L Gigabit Ethernet NIC, o placă PCI Express × 1, care oferă două cozi de recepție hardware

NIC-urile multi-coadă furnizează cozi multiple de transmisie și primire, permițând pachetelor primite de NIC-ul să fie alocate uneia dintre cozile sale de primire. NIC poate distribui traficul primit între cozile de recepție utilizând o funcție hash. Fiecare coadă de primire este alocată unei întreruperi separate; prin rutare fiecare dintre aceste întreruperi către diferite CPU sau nuclee CPU, procesarea cererilor de întrerupere declanșate de traficul de rețea primit de o singură NIC poate fi distribuită îmbunătățind performanța.

Distribuția hardware a întreruperilor, descris mai sus, este denumit scalare pe partea de recepție (RSS) .: 82 Există, de asemenea, implementări de software pur, cum ar fi direcția de pachete de recepție (RPS) și direcția de flux de recepție (RFS). Îmbunătățiri suplimentare ale performanței pot fi realizate prin rutare a solicitărilor de întrerupere către procesoare sau nuclee care execută aplicațiile care sunt destinația finală pentru pachetele de rețea care au generat întreruperile. Această tehnică îmbunătățește localitatea de referință și are ca rezultat o performanță generală mai mare, o latență redusă și o utilizare mai bună a hardware-ului din cauza utilizării mai mari a cache-urilor CPU și a mai puține comutatoare de context necesare. Exemple de astfel de implementări sunt RFS și Intel Flow Director. Prin atribuirea unor cozi de transmisie diferite unor procesoare sau nuclee de procesor diferite, contestațiile interne ale sistemului de operare pot fi evitate. Această abordare este denumită de obicei transmiterea pachetului de direcție (XPS).

Unele produse dispun de partiționare NIC (NPAR, cunoscută și sub numele de partiționare port) care utilizează virtualizarea SR-IOV pentru a împărți o singură rețea Ethernet 10 Gigabit mai multe NIC virtuale discrete cu lățime de bandă dedicată, care sunt prezentate firmware-ului și sistemului de operare ca funcții separate ale dispozitivelor PCI.

Motorul de descărcare TCP este o tehnologie utilizată în unele NIC-uri pentru a descărca procesarea întregului teanc TCP / IP către controlerul de rețea. Este utilizat în principal cu interfețe de rețea de mare viteză, cum ar fi Gigabit Ethernet și 10 Gigabit Ethernet, pentru care cheltuielile de procesare ale stivei de rețea devin semnificative.

Unele NIC-uri oferă tablouri integrate de poartă programabile pe câmp (FPGA) ) pentru procesarea programabilă de către utilizator a traficului de rețea înainte de a ajunge la computerul gazdă, permițând latențe semnificativ reduse în sarcinile de lucru sensibile la timp. Mai mult, unele NIC-uri oferă stive complete TCP / IP cu latență redusă care rulează pe FPGA-uri integrate în combinație cu bibliotecile de spațiu utilizator care interceptă operațiunile de rețea efectuate de obicei de către nucleul sistemului de operare; Stiva de rețea open-source OpenOnload de la Solarflare care rulează pe Linux este un exemplu. Acest tip de funcționalitate este denumit de obicei rețea la nivel de utilizator.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *