Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'interfaccia PDPI (PacketDirect Provider Interface) estende NDIS con un modello di I/O accelerato, sia per gli ambienti fisici che virtuali, che può aumentare il numero di pacchetti elaborati al secondo per un ordine di grandezza e ridurre significativamente il jitter rispetto al percorso di I/O NDIS tradizionale.
Background
Il modello di I/O tradizionale in Windows è stato implementato in modo da essere una piattaforma di I/O multiuso e generale destinata a lavorare con più tipi di supporti con molte caratteristiche diverse e dove la rete era solo un aspetto del sistema complessivo. Oggi, poiché la virtualizzazione di rete è diventata una tecnologia prevalente nei data center, il modello di I/O NDIS tradizionale nel sistema operativo Windows Server non è sufficiente solo per tenere il passo con i carichi di lavoro a elevato utilizzo di rete che ci aspettiamo di diventare sempre più comuni, ma anche un modello inappropriato per dedicare risorse all'elaborazione di I/O di rete. Negli ambienti del data center non è insolito implementare un singolo computer dedicato alla rete che esegue funzioni che in genere erano riservate per le appliance hardware. Esempi di queste appliance di rete includono servizi di bilanciamento del carico software, appliance DDoS e gateway di inoltro. Per peggiorare le cose, esistono meccanismi su altri sistemi operativi per accelerare le operazioni di I/O che rendono questa piattaforma alternativa la piattaforma preferita per creare applicazioni a elevato utilizzo di rete, ad esempio le appliance virtuali.
PacketDirect (PD) estende il modello NDIS corrente con un percorso di I/O di rete accelerato ottimizzato per contare una quantità di pacchetti al secondo (pps) che è di un ordine di grandezza superiore rispetto a quella osservata con il modello di I/O NDIS tradizionale. Questa operazione viene eseguita tramite:
- Riduzione della latenza
- Cicli/pacchetti ridotti
- Velocità di elaborazione lineare con l'uso di risorse di sistema aggiuntive
PacketDirect esiste a fianco del modello tradizionale. Il nuovo percorso PD può essere usato quando un'applicazione lo preferisce e ci sono risorse hardware sufficienti per supportarlo. PD non deve sostituire il modello di I/O tradizionale e presuppone che un client che scrive nell'interfaccia PD abbia requisiti di partizionamento rigorosi per le risorse sottostanti in base alla topologia di sistema. PD è progettato per essere il nuovo percorso dati ad alta velocità che aiuterà un sistema Windows a sostituire carichi di lavoro pps elevati che sono stati tradizionalmente eseguiti nell'hardware, risparmiando milioni di proprietari di data center in costi di infrastruttura.
Concetti relativi a PacketDirect
PD funziona consentendo a un client PD di gestire in modo esplicito il traffico di rete da una scheda di rete (NIC). PD offre al client PD il controllo della funzionalità di invio e ricezione ad alte prestazioni della scheda di interfaccia di rete tramite l'interfaccia client PacketDirect (PDCI). Internamente, le funzioni di invio/ricezione PDCI vengono mappate direttamente al PDPI. Le funzioni di invio/ricezione PD operano su code PD create dal client PD nelle schede di interfaccia di rete con supporto per PD. PD offre ai client PD la possibilità di impostare filtri personalizzati per tipi molto specifici di traffico o traffico molto generico, in base alle esigenze del client PD. In questo modo il client PD può indirizzare determinati pacchetti in ingresso alle code PD. L'elaborazione dei pacchetti nel modello PD viene sempre eseguita in un contesto di esecuzione di proprietà (o controllato/coordinato) dal client PD. Il driver della scheda di interfaccia di rete con supporto per PD è completamente passivo, ovvero non inoltra attivamente pacchetti in ingresso o indicazioni di completamento per i pacchetti inviati al client PD in un contesto di esecuzione di proprietà del driver, ad esempio un DPC o un thread di lavoro.
Se un client PD non riconosce come elaborare un pacchetto o riceve un pacchetto di controllo in una delle relative code, ad esempio ARP, LLDP o altri pacchetti di protocollo, il client PD può reindirizzare il pacchetto al percorso di I/O corrente per l'elaborazione. Ciò consente a PD di continuare a elaborare i pacchetti per i quali ha il contesto, senza sprecare cicli sul traffico di controllo.
Importante Può esserci un provider PD e un client PD per ogni scheda di rete. Pertanto, possono essere presenti più client PD e provider PD in un unico sistema.
Il client PD ha il controllo sulle risorse allocate al PD nel sistema. In caso di traffico di rete elevato, il client PD è responsabile della riduzione al minimo del carico di lavoro in modo che il sistema operativo possa essere reattivo ad altri carichi di lavoro.
La piattaforma PacketDirect implementata da Windows esegue il mapping dell'interfaccia client all'interfaccia del provider. La piattaforma controlla la gestione del buffer e la possibilità di reinserire i pacchetti ricevuti tramite PD al percorso di ricezione NDIS corrente. Gestisce anche l'interazione con i client PD per soddisfare i requisiti del percorso di controllo NDIS, come la disattivazione della NIC, la modalità a basso consumo, lo spegnimento del sistema e la rimozione a sorpresa, in modo da NON ostacolare le prestazioni del percorso dati PD.
PacketDirect Provider Interface (PDPI)
PDPI consente ai driver NIC di esporre le funzionalità di invio e ricezione ad alte prestazioni al sistema operativo Windows. Le funzioni implementate sono un subset della funzionalità MiniPort completa e sono generiche per tutte le schede di interfaccia di rete che implementano PD. Per la documentazione di riferimento per PDPI, vedere Informazioni di riferimento su PacketDirect Provider Interface (PDPI).
Interfaccia client PacketDirect (PDCI)
PdCI consente ai servizi/applicazioni Windows di prima parte (ad esempio, bilanciamento del carico, NAT, commutatore di macchine virtuali e così via) di velocizzare il percorso dei dati sfruttando il modello di I/O PacketDirect tramite l'uso dei client PD. Questa interfaccia è un'interfaccia di livello 2 esattamente come l'interfaccia di invio/ricezione NDIS corrente. La funzionalità principale fornita da PDCI (oltre all'accesso PDPI) è l'allocazione/gestione del buffer di pacchetti PD, un canale di ritorno per re-iniettare i pacchetti nel normale percorso di ricezione NDIS, la gestione degli eventi di alimentazione/PnP di NDIS.
Argomenti correlati
Informazioni di riferimento su PacketDirect Provider Interface (PDPI)