Controller dellinterfaccia di rete

Uninterfaccia di rete ATM.

Intel 82574L Gigabit Ethernet NIC, una scheda PCI Express × 1, che fornisce due code di ricezione hardware

I NIC multiqueue forniscono più code di trasmissione e ricezione, consentendo ai pacchetti ricevuti dalla NIC di essere assegnati a una delle sue code di ricezione. La scheda NIC può distribuire il traffico in ingresso tra le code di ricezione utilizzando una funzione hash. Ogni coda di ricezione è assegnata a un interrupt separato; instradando ciascuno di questi interrupt a CPU o core CPU differenti, lelaborazione delle richieste di interrupt innescate dal traffico di rete ricevuto da una singola NIC può essere distribuita migliorando le prestazioni.

La distribuzione basata su hardware degli interrupt, descritto sopra, è indicato come ricezione-side scaling (RSS) .: 82 Esistono anche implementazioni puramente software, come il controllo dei pacchetti di ricezione (RPS) e il controllo del flusso di ricezione (RFS). Ulteriori miglioramenti delle prestazioni possono essere ottenuti instradando le richieste di interrupt alle CPU o ai core che eseguono le applicazioni che sono le destinazioni finali per i pacchetti di rete che hanno generato gli interrupt. Questa tecnica migliora la località di riferimento e si traduce in prestazioni complessive più elevate, latenza ridotta e un migliore utilizzo dellhardware a causa del maggiore utilizzo delle cache della CPU e del minor numero di cambi di contesto richiesti. Esempi di tali implementazioni sono RFS e Intel Flow Director.:98,99

Con le NIC multi-coda, è possibile ottenere ulteriori miglioramenti delle prestazioni distribuendo il traffico in uscita tra diverse code di trasmissione. Assegnando code di trasmissione diverse a CPU o core CPU differenti, è possibile evitare conflitti interni al sistema operativo. Questo approccio viene solitamente definito XPS (Transmission Packet Steering).

Alcuni prodotti presentano il partizionamento NIC (NPAR, noto anche come partizionamento delle porte) che utilizza la virtualizzazione SR-IOV per dividere un singolo NIC 10 Gigabit Ethernet in più NIC virtuali discreti con larghezza di banda dedicata, che vengono presentati al firmware e al sistema operativo come funzioni separate del dispositivo PCI.

Il motore di offload TCP è una tecnologia utilizzata in alcuni NIC per scaricare lelaborazione dellintero stack TCP / IP al controller di rete. Viene utilizzato principalmente con interfacce di rete ad alta velocità, come Gigabit Ethernet e 10 Gigabit Ethernet, per le quali loverhead di elaborazione dello stack di rete diventa significativo.

Alcuni NIC offrono array di gate programmabili sul campo integrati (FPGA ) per lelaborazione programmabile dallutente del traffico di rete prima che raggiunga il computer host, consentendo latenze notevolmente ridotte nei carichi di lavoro sensibili al tempo. Inoltre, alcuni NIC offrono stack TCP / IP a bassa latenza completi in esecuzione su FPGA integrati in combinazione con le librerie dello spazio utente che intercettano le operazioni di rete normalmente eseguite dal kernel del sistema operativo; Lo stack di rete OpenOnload open source di Solarflare che gira su Linux è un esempio. Questo tipo di funzionalità viene solitamente definito networking a livello utente.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *