RDMA (Remote Direct Memory Access) consente a un dispositivo di rete di trasferire dati direttamente dalla memoria di un'applicazione di un altro sistema e viceversa, aumentando il throughput e riducendo la latenza in determinati ambienti di rete.
Per evitare il degrado delle prestazioni causato dai pacchetti ignorati, attivare il controllo del flusso a livello di collegamento o il controllo del flusso di priorità su tutti gli switch e le interfacce di rete.
![]() |
NOTA: |
# tar zxf i40iw-<x.x.x>.tar.gz
# cd i40iw-<x.x.x>
# ./build.sh /opt/i40e-<x.x.x> k
# ethtool -A ethX rx <on> tx <on>
![]() | NOTA: questo comando attiva o disattiva il controllo del flusso solo se la negoziazione automatica è disattivata. Se la negoziazione automatica è attivata, questo comando cambia i parametri usati per la negoziazione automatica con il partner di collegamento. |
Istruzioni di installazione di FreeBSD RDMA di base:
# tar -xf ixl-<version>.tar.gz
# tar -xf iw_ixl-<version>.tar.gz
# cd ixl-<version>/src directory
# make
# make install
# cd iw_ixl-<version>/src
# make clean
# make IXL_DIR=$PATH_TO_IXL/ixl-<version>/src
# make install
# sysctl dev.ice.<interface_num>.fc=3
Le informazioni di installazione e configurazione di FreeBSD RDMA sono fornite nel file README dei driver nel tarball dei driver per i dispositivi Ethernet Intel che supportano RDMA.
Network Direct (ND) consente alle applicazioni in modalità utente di utilizzare le funzioni di RDMA.
![]() |
NOTA: le applicazioni in modalità utente potrebbero avere dei prerequisiti come il pacchetto Microsoft HPC o Intel MPI Library. Per ulteriori dettagli, fare riferimento alla documentazione dell'applicazione. |
Intel® Ethernet User Mode RDMA Provider è supportato su Microsoft* Windows Server* 2012 R2 o versione successiva.
Seguire questi passaggi per installare le funzioni di Network Direct in modalità utente.
![]() | NOTA: se Windows Firewall è disattivato o si sta utilizzando un firewall di terze parti, la regola dovrà essere aggiunta manualmente. |
La funzionalità RDMA Network Direct Kernel (NDK) è inclusa nei driver di rete di base Intel e non richiede che siano installate funzioni aggiuntive.
Se si vuole che la funzionalità RDMA di NDK sia utilizzata in tutte le subnet, è necessario selezionare "Abilitare il routing RDMA su subnet IP" nella schermata Opzioni di configurazione RDMA durante l'installazione dei driver di base.
È possibile controllare che RDMA sia attivato sulle interfacce di rete utilizzando il seguente comando Microsoft* PowerShell*:
Get-NetAdapterRDMA
Utilizzare il seguente comando PowerShell per controllare se le interfacce di rete sono compatibili con RDMA e se il multicanale è attivato:
Get-SmbClientNetworkInterface
Utilizzare il seguente comando PowerShell per controllare se Network Direct è attivato nel sistema operativo:
Get-NetOffloadGlobalSetting | Select NetworkDirect
Utilizzare netstat per accertarsi che ogni interfaccia di rete compatibile con RDMA abbia un ascoltatore alla porta 445 (i sistemi operativi dei client Windows che supportano RDMA potrebbero non pubblicare ascoltatori). Ad esempio:
netstat.exe -xan | ? {$_ -match "445"}
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 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 oppure utilizzando i seguenti comandi Powershell:
Set-NetAdapterAdvancedProperty -Name <nic_name> -RegistryKeyword *SRIOV -RegistryValue 1
Set-NetAdapterAdvancedProperty -Name <nic_name> -RegistryKeyword *VMQ -RegistryValue 1
La modalità 3 di NDK consente ai componenti Windows in modalità kernel di utilizzare le funzioni RDMA all'interno delle partizioni guest Hyper-V. Per attivare la modalità 3 di NDK su un dispositivo Ethernet Intel, procedere come indicato di seguito:
New-VMSwitch -Name <switch_name> -NetAdapterName <device_name>
-EnableIov $true
Set-NetAdapterAdvancedProperty -Name <device_name> -RegistryKeyword RdmaMaxVfsEnabled -RegistryValue <Value: 0 – 32>
Get-NetAdapterRdma | Disable-NetAdapter
Get-NetAdapterRdma | Enable-NetAdapter
Add-VMNetworkAdapter -VMName <vm_name> -VMNetworkAdapterName <device_name> -SwitchName <switch_name>
Set-VMNetworkAdapterRdma -VMName <vm_name> -VMNetworkAdapterName <device_name> -RdmaWeight 100
Set-VMNetworkAdapter -VMName <vm_name> -VMNetworkAdapterName <device_name> -IovWeight 100
Set-NetAdapterAdvancedProperty -Name <device_name> -RegistryKeyword RdmaVfEnabled -RegistryValue 1
Get-NetAdapterRdma | Enable-NetAdapterRdma
NDK consente ai componenti Windows (come lo storage SMB Direct) di utilizzare le funzioni di RDMA.
Questa sezione descrive la procedura consigliata per testare il funzionamento e le prestazioni di 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:
Copyright (C) 2019, 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.
*Altri marchi e altre denominazioni potrebbero essere rivendicati da 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.