Mit Remote Direct Memory Access (oder RDMA) kann ein Netzwerkgerät Daten direkt an den und von dem Anwendungsspeicher eines anderen Systems übertragen. In manchen Netzwerkumgebungen lässt sich dadurch der Durchsatz erhöhen und die Latenz verringern.
Um Leistungsabfall durch Paketverlust zu vermeiden, aktivieren Sie Flusssteuerung auf Verbindungsebene oder prioritäre Flusssteuerung auf allen Netzwerkschnittstellen und Switches.
![]() |
HINWEIS: |
# 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>
![]() | HINWEIS: Mit diesem Befehl wird Flow Control (Flusssteuerung) nur dann aktiviert bzw. deaktiviert, wenn automatische Aushandlung deaktiviert ist. Ist automatische Aushandlung aktiviert, werden mit diesem Befehl die Parameter für automatischen Aushandlung mit dem Verbindungspartner geändert. |
RDMA-Installationsanleitung für FreeBSD:
# 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
Informationen zur RDMA-Installation und -Konfiguration unter FreeBSD finden Sie in der README-Datei des Treibers in der tarball-Datei des Treibers für Intel Ethernet-Geräte, die RDMA unterstützen.
Über Network Direct (ND) erhalten Benutzermodusanwendungen Zugriff auf RDMA-Funktionen.
![]() |
HINWEIS: Benutzermodusanwendungen setzten möglicherweise Komponenten wie Microsoft HPC Pack oder Intel MPI Library voraus. Weitere Einzelheiten finden Sie in der Dokumentation zu Ihrer Anwendung. |
Der Intel® Ethernet User Mode RDMA Provider wird von Microsoft* Windows Server* 2012 R2 und höher unterstützt.
Zur Installation der Network Direct-Funktionen für den Benutzermodus gehen Sie wie folgt vor.
![]() | HINWEIS: Falls Windows-Firewall deaktiviert ist oder Sie eine Firewall eines Drittanbieters verwenden, müssen Sie diese Regel manuell hinzufügen. |
Die RDMA Network Direct Kernel-(NDK-)Funktionalität ist in den Basisnetzwerktreibern von Intel enthalten. Es müssen zu diesem Zweck keine weiteren Funktionen installiert werden.
Wenn Sie die NDK RDMA-Funktionalität in Subnetzen freischalten möchten, müssen Sie bei der Installation der Basistreiber im Bildschirm „RDMA Configuration Options“ (RDMA Konfigurationsoptionen) die Option „Enable RDMA routing across IP Subnets“ (RDMA-Routing in IP-Subnetzen aktivieren) wählen.
Mit dem folgenden Microsoft* PowerShell*-Befehl können Sie überprüfen, ob RDMA auf den Netzwerkschnittstellen aktiviert ist:
Get-NetAdapterRDMA
Mit dem folgenden PowerShell-Befehl können Sie überprüfen, ob die Netzwerkschnittstellen RDMA unterstützen und Multichannel aktiviert ist:
Get-SmbClientNetworkInterface
Mit dem folgenden PowerShell-Befehl können Sie überprüfen, ob Network Direct im Betriebssystem aktiviert ist:
Get-NetOffloadGlobalSetting | Select NetworkDirect
Mit netstat können Sie sicherstellen, dass jede RDMA-fähige Netzwerkschnittstelle an Port 445 einen Listener hat (Windows Client-Betriebssysteme mit RDMA-Unterstützung posten unter Umständen keine Listener). Zum Beispiel:
netstat.exe -xan | ? {$_ -match "445"}
Um die RDMA-Funktionalität auf mit einem VMSwitch verbundenen virtuellen Adaptern zu aktivieren, müssen die erweiterten Eigenschaften SRIOV (Single Root IO Virtualization) und VMQ (Virtual Machine Queues) auf jedem Porttreiber aktiviert sein. Es kann vorkommen, dass diese Einstellungen standardmäßig deaktiviert sind. Diese Optionen können in der Registerkarte „Erweitert“ der Adaptereigenschaften manuell konfiguriert werden. Alternativ können die folgenden Powershell-Befehle verwendet werden:
Set-NetAdapterAdvancedProperty -Name <nic_name> -RegistryKeyword *SRIOV -RegistryValue 1
Set-NetAdapterAdvancedProperty -Name <nic_name> -RegistryKeyword *VMQ -RegistryValue 1
Im NDK-Modus 3 können Windows-Komponenten im Kernelmodus auf RDMA-Funktionen in Hyper-V-Gastpartitionen zugreifen. So wird NDK-Modus 3 auf einem Intel Ethernetgerät aktiviert:
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 ermöglicht die Verwendung von RDMA-Funktionen (wie SMB Direct Storage) durch Windows Komponenten.
In diesem Abschnitt wird die empfohlene Methode beschrieben, um die Funktionalität und Leistung von RDMA für Intel Ethernet auf Microsoft* Windows* Betriebssystemen zu testen.
SMB Direct ist eine Speicherworkload. Daher kann es vorkommen, dass die Leistung der Benchmark auf die Geschwindigkeit des Speichergeräts anstatt der getesteten Netzwerkschnittstelle begrenzt ist. Intel empfiehlt die Verwendung des schnellstmöglichen Speichersystems, um die echte Leistungsfähigkeit der untersuchten Netzwerkgeräte zu testen.
Testanleitung
Copyright (C) 2019, Intel Corporation. Alle Rechte vorbehalten.
Intel Corporation übernimmt keine Verantwortung für Fehler oder Auslassungen in diesem Dokument. Außerdem macht Intel keinerlei Zusagen, dessen Inhalt zu aktualisieren.
Intel ist eine Marke der Intel Corporation in den USA und/oder anderen Ländern.
*Andere Marken oder Produktnamen sind Eigentum der jeweiligen Inhaber.
Diese Software wird unter Lizenz bereitgestellt und darf nur unter Beachtung der Bestimmungen dieser Lizenz genutzt oder kopiert werden. Die Informationen in diesem Dokument dienen nur der Information. Sie können ohne Vorankündigung geändert werden und sind nicht als Zusage oder verpflichtende Aussage seitens der Intel Corporation zu verstehen. Die Intel Corporation übernimmt keine Verantwortung oder Haftung für Fehler oder Ungenauigkeiten in diesem Dokument oder jeglicher Software, die in Zusammenhang mit diesem Dokument bereitgestellt wird. Sofern nicht durch eine solche Lizenz gestattet, darf kein Teil dieses Dokuments ohne ausdrückliche schriftliche Zustimmung der Intel Corporation reproduziert, in einem Datenabfragesystem gespeichert oder in beliebiger Form und auf beliebigem Weg übertragen werden.