iWARP RDMA per Ethernet Intel
Remote Direct Memory Access, o RDMA, consente a un computer di accedere alla memoria di un altro computer senza interagire con i buffer di dati del sistema operativo di entrambi i computer, aumentando così il throughput e la velocità di rete. iWARP è un protocollo per implementare RDMA sulle reti Internet Protocol.
Microsoft* Windows* offre due forme di RDMA: Network Direct Kernel (NDK) e Network Direct (ND).
Funzioni iWARP RDMA per NDK come SMB Direct (Server Message Block)
NDK consente ai componenti Windows (come lo storage SMB Direct) di utilizzare le funzioni di iWARP.
Configurazione di iWARP NDK
La funzionalità NDK è inclusa nei driver di rete di base Intel e non richiede che siano installate funzioni aggiuntive.
Verifica del funzionamento di iWARP RDMA
Controllare che RDMA sia attivato nelle interfacce di rete
Get-NetAdapterRDMA
Verificare che le interfacce di rete siano compatibili con RDMA e che il multicanale sia attivato
Get-SmbClientNetworkInterface
Network Direct è attivato nel sistema operativo
Get-NetOffloadGlobalSetting | Select NetworkDirect
Ogni interfaccia di rete compatibile con RDMA deve avere un ascoltatore alla porta 445 (i sistemi operativi dei client Windows che supportano RDMA potrebbero non pubblicare ascoltatori)
netstat.exe -xan | ? {$_ -match "445"}
Routing iWARP su subnet IP
Se si vuole che la funzione RDMA di NDK sia utilizzata in tutte le subnet, è necessario selezionare "Abilitare il routing iWARP su subnet IP" nella schermata Opzioni di configurazione iWARP durante l'installazione dei driver di base (vedere Installazione qui di seguito).
iWARP per ambienti virtualizzati
Per attivare la funzionalità RDMA su schede di rete virtuali collegate a un VMSwitch, le proprietà avanzate *SRIOV (Single Root IO Virtualization) e *VMQ (Virtual Machine Queues) devono essere attivate su ogni driver di porta. In determinate circostanze, queste impostazioni potrebbero essere disattivate per impostazione predefinita. Queste opzioni possono essere impostate manualmente nella scheda delle impostazioni avanzate della finestra di dialogo delle proprietà della scheda di rete; in alternativa, è possibile utilizzare i seguenti comandi Powershell:
Set-NetAdapterAdvancedProperty -Name <nome_nic> -RegistryKeyword *SRIOV -RegistryValue 1
Set-NetAdapterAdvancedProperty -Name <nome_nic> -RegistryKeyword *VMQ -RegistryValue 1
Test di iWARP NDK: Microsoft* Windows* SMB Direct con DiskSPD
Questa sezione descrive la procedura consigliata per testare il funzionamento e le prestazioni di iWARP RDMA per Ethernet Intel sui sistemi operativi Microsoft* Windows*.
Notare che, poiché SMB Direct è un carico di lavoro di storage, le prestazioni del benchmark potrebbero essere limitate dalla velocità del dispositivo di archiviazione piuttosto che dall'interfaccia di rete oggetto del test. Intel consiglia di utilizzare il dispositivo di archiviazione più veloce disponibile al fine di verificare le capacità effettive dei dispositivi di rete testati.
Istruzioni per il test:
- Configurare almeno due server Microsoft* Windows* Server 2012 R2 o Microsoft* Windows* Server 2016 a cui è collegata almeno un'interfaccia di rete Ethernet Intel® compatibile con iWARP per server.
- Impostare una condivisione SMB sul sistema designato come server SMB. Notare che le prestazioni del benchmark potrebbero essere limitate dalla velocità del dispositivo di archiviazione piuttosto che dall'interfaccia di rete oggetto del test. La configurazione dello storage esula dall'ambito di questo documento.
Comando PowerShell (PS):
New-SmbShare -Name <nome_condivisione_SMB> -Path <percorso_file_condivisione_SMB> -FullAccess <nome_dominio>\Administrator,Everyone
Esempio:
New-SmbShare -Name CondivisioneRAMDISK -Path R:\RAMDISK -FullAccess group\Administrator,Everyone
- Scaricare e installare l'utility Microsoft Diskspd da questo sito: https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223
- Utilizzando CMD o Powershell, inserire i comandi per passare alla cartella DiskSpd ed eseguire i test (consultare la documentazione di Diskspd per maggiori dettagli sui parametri).
Ad esempio: impostare la dimensione del blocco a 4K, eseguire il test per 60 secondi, disattivare la cache di tutto l'hardware e software, misurare e visualizzare le statistiche relative alla latenza, utilizzare 16 IO sovrapposti e 16 thread per destinazione, scritture 0% e letture 100% casuali e creare un file di test da 10 GB nel percorso “\\<server_SMB_X722IP>\<nome_condivisione_SMB>\test.dat” :
.\diskspd.exe –b4K -d60 -h -L –o16 -t16 –r –w0 -c10G \\<server_SMB_X722IP>\<nome_condivisione_SMB>\test.dat
- Verificare che il traffico RDMA sia eseguito utilizzando contatori perfmon come “RDMA Activity” e “SMB Direct Connection”. Per ulteriori dettagli, fare riferimento alla documentazione di Microsoft.
Configurazione del supporto guest di iWARP (modalità 3 di NDK)
La modalità 3 di NDK consente ai componenti Windows in modalità kernel di utilizzare le funzioni iWARP all'interno delle partizioni guest Hyper-V. Per attivare la modalità 3 di NDK su un dispositivo Ethernet Intel, procedere come indicato di seguito:
- Attivare SR-IOV nel BIOS o UEFI del sistema.
- Attivare l'opzione avanzata SR-IOV sul dispositivo.
- Configurare il dispositivo con SR-IOV attivato sullo switch. Eseguire questo passaggio per tutte le funzioni sullo stesso dispositivo:
New-VMSwitch -Name <nome_switch> -NetAdapterName <nome_dispositivo>
-EnableIov $true
- Configurare il numero di funzioni virtuali (VF) RDMA sul dispositivo impostando l'opzione avanzata "RdmaMaxVfsEnabled". Tutte le funzioni fisiche devono essere impostate sullo stesso valore. Il valore è il numero massimo di funzioni virtuali (VF) che sono in grado di utilizzare contemporaneamente RDMA per l'intero dispositivo. L'attivazione di un numero maggiore di funzioni virtuali (VF) limiterà le risorse RDMA disponibili per le funzioni fisiche (PF) e le altre funzioni virtuali.
Set-NetAdapterAdvancedProperty -Name <nome_dispositivo> -RegistryKeyword RdmaMaxVfsEnabled -RegistryValue <Valore: 0 – 32>
- Disattivare tutte le schede di rete delle funzioni fisiche (PF) sull'host e riattivarle. Questa operazione è necessaria quando la parola chiave del registro di sistema "RdmaMaxVfsEnabled" è cambiata o quando si crea o elimina un VMSwitch.
Get-NetAdapterRdma | Disable-NetAdapter
Get-NetAdapterRdma | Enable-NetAdapter
- Creare schede di rete VM per macchine virtuali (VM) che richiedono il supporto di VF RDMA.
Add-VMNetworkAdapter -VMName <nome_vm> -VMNetworkAdapterName <nome_dispositivo> -SwitchName <nome_switch>
- Se si prevede di utilizzare Microsoft Windows 10 Creators Update (RS2) o versione successiva su una partizione guest, impostare il peso di RDMA sulla scheda di rete VM inserendo il seguente comando nell'host:
Set-VMNetworkAdapterRdma -VMName <nome_vm> -VMNetworkAdapterName <nome_dispositivo> -RdmaWeight 100
- Impostare il peso di SR-IOV sulla scheda di rete VM (nota: il peso di SR-IOV deve essere impostato a 0 prima di impostare RdmaWeight a 0):
Set-VMNetworkAdapter -VMName <nome_vm> -VMNetworkAdapterName <nome_dispositivo> -IovWeight 100
- Installare la scheda di rete VF con il programma di installazione di PROSET nella macchina virtuale.
- Attivare RDMA sul driver VF e sulla scheda di rete Hyper-V usando PowerShell nella macchina virtuale:
Set-NetAdapterAdvancedProperty -Name <nome_dispositivo> -RegistryKeyword RdmaVfEnabled -RegistryValue 1
Get-NetAdapterRdma | Enable-NetAdapterRdma
iWARP RDMA per applicazioni ND in modalità utente
ND consente alle applicazioni in modalità utente di utilizzare le funzioni di iWARP. Se si prevede di utilizzare le funzioni di iWARP nelle applicazioni in modalità utente che si stanno sviluppando, è necessario installare la funzione Network Direct (ND) durante l'installazione dei driver.
Installazione di iWARP modalità utente
Intel® Ethernet User Mode iWARP Provider è supportato su Microsoft* Windows Server* 2012 R2 o versione successiva.
 |
NOTE:
|
Seguire questi passaggi per installare le funzioni di Network Direct (ND) iWARP in modalità utente.
- Dal supporto di installazione, eseguire Autorun.exe per avviare il programma di installazione, quindi scegliere "Installa i driver e il software" e accettare il contratto di licenza.
- Nella schermata Opzioni di installazione, selezionare "Intel® Ethernet User Mode iWARP Provider".
- Nella schermata Opzioni di configurazione iWARP, selezionare "Abilitare il routing iWARP su subnet IP", se desiderato. Notare che quest'opzione, poiché è applicabile anche alla funzionalità Network Direct Kernel, viene visualizzata durante l'installazione dei driver di base anche se iWARP modalità utente non era stato selezionato.
- Se Windows Firewall è installato e attivo, selezionare "Creare una regola di Intel® Ethernet iWARP Port Mapping Service in Windows Firewall" e le reti a cui applicare la regola. Se Windows Firewall è disattivato o si sta utilizzando un firewall di terze parti, la regola dovrà essere aggiunta manualmente.
- Continuare con l'installazione dei driver e del software.
Installazione di iWARP modalità utente su Microsoft Windows Server 2016 Nano Server
Seguire questi passaggi per installare Intel® Ethernet User Mode iWARP Provider su Microsoft Windows Server 2016 Nano Server.
- Creare una directory in cui installare i file di iWARP. Ad esempio, C:\Nano\iwarp.
- Copiare i seguenti file nella nuova directory:
- \Disk\APPS\PROSETDX\Winx64\DRIVERS\i40wb.dll
- \Disk\APPS\PROSETDX\Winx64\DRIVERS\i40wbmsg.dll
- \Disk\APPS\PROSETDX\Winx64\DRIVERS\indv2.cat
- \Disk\APPS\PROSETDX\Winx64\DRIVERS\indv2.inf
- \Disk\APPS\PROSETDX\Winx64\DRIVERS\indv2.sys
- Eseguire il comando DISM per inserire i file iWARP nell'immagine del Nano Server, utilizzando la directory che si è creata nel passaggio 1 per il percorso del parametro AddDriver. Ad esempio, "DISM .../Add-Driver C:\Nano\iwarp"
- Creare una regola del firewall in entrata per la porta UDP 3935.
- Se lo si desidera, utilizzare i seguenti comandi di Windows PowerShell per abilitare il routing iWARP sulle subnet IP.
- Set-NetOffloadGlobalSetting -NetworkDirectAcrossIPSubnets Allow
- Disable Adapter
- Enable Adapter
Assistenza Clienti
- Sito Web principale del supporto tecnico di Intel: http://www.intel.com/p/it_IT/support/
- Informazioni sui prodotti di rete: http://www.intel.com/network
Informazioni legali/Declinazioni di responsabilità
Copyright (C) 2018, Intel Corporation. Tutti i diritti riservati.
Intel Corporation non si assume alcuna responsabilità per eventuali errori o omissioni presenti in questo documento. Inoltre, Intel non si assume alcun impegno di aggiornare le informazioni ivi contenute.
Intel è un marchio di Intel Corporation negli Stati Uniti e in altri paesi.
*Gli altri marchi e nomi potrebbero essere proprietà di terzi.
Il presente software viene fornito con una licenza e può soltanto essere utilizzato o copiato in base ai termini della licenza. Il contenuto di questo manuale viene fornito esclusivamente per uso informativo, è soggetto a cambiamenti senza preavviso e non va interpretato come impegno alcuno da parte di Intel Corporation. Intel Corporation non si assume alcuna responsabilità per eventuali errori o imprecisioni presenti in questo documento o nel software che potrebbe essere fornito insieme al documento. Fatta eccezione per quanto previsto da tale licenza, nessuna parte di questo documento può essere riprodotta, archiviata in un sistema di registrazione o trasmessa in alcuna forma o alcun mezzo senza il preventivo consenso scritto di Intel Corporation.