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.
Der Hauptunterschied liegt darin, dass RDMA von iWARP über TCP und von RoCEv2 über UDP verarbeitet wird.
Bei Geräten mit RDMA-Funktionen wird RDMA auf den folgenden Betriebssystemen unterstützt:
Um Leistungsabfall durch Paketverlust zu vermeiden, aktivieren Sie Flusssteuerung auf Verbindungsebene oder prioritäre Flusssteuerung auf allen Netzwerkschnittstellen und Switches.
![]() |
HINWEISE:
|
Für Intel Ethernet Geräte, die RDMA auf Linux oder FreeBSD unterstützen, sind die in der folgenden Tabelle angegebenen Treiber zu verwenden.
Gerät | Linux | FreeBSD | Unterstützte Protokolle | ||
---|---|---|---|---|---|
Basistreiber | RDMA-Treiber | Basistreiber | RDMA-Treiber | ||
Intel® Ethernet der 800er Reihe | ice | irdma | ice | irdma | RoCEv2, iWARP |
Intel® Ethernet der X722er Reihe | i40e | irdma | ixl | Nicht unterstützt | iWARP |
Im Wesentlichen besteht die Installation und Konfiguration von RDMA auf Linux oder FreeBSD aus den folgenden Schritten. Weitere Einzelheiten finden Sie in der README-Datei innerhalb des entsprechenden Tarball-Archivs des RDMA-Treibers.
Auf der Intel Ethernet 800 Serie basierende Geräte unterstützen RDMA in einer Linux-VF auf unterstützten Windows- oder Linux-Hosts Lesen Sie die README-Datei im Linux-RDMA-Treiber-Tarball, um weitere Informationen über das Laden und Konfigurieren von RDMA in einer Linux-VF zu erhalten.
Ü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 auf 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 auf dem Bildschirm „RDMA Configuration Options“ (RDMA Konfigurationsoptionen) die Option „Enable RDMA routing across IP Subnets“ (RDMA-Routing in IP-Subnetzen aktivieren) wählen.
Um Leistungsabfall durch Paketverlust zu vermeiden, aktivieren Sie die prioritäre Flusssteuerung (PFC) oder die Linklevel-Durchflusssteuerung auf allen Netzwerkschnittstellen und Switches.
![]() |
ANMERKUNG: Wenn Sie bei Systemen, die unter einem Microsoft-Windows-Betriebssystem laufen, die *QoS/Priorität Durchflusssteuerung aktivieren, wird diese die Linklevel-Durchflusssteuerung deaktivieren. |
Verwenden Sie die folgenden PowerShell*-Befehle, um PFC auf Microsoft Windows Server zu aktivieren:
Install-WindowsFeature -Name Data-Center-Bridging -IncludeManagementTools
New-NetQoSPolicy "SMB" -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3
Enable-NetQosFlowControl -Priority 3
Disable-NetQosFlowControl -Priority 0,1,2,4,5,6,7
New-NetQosTrafficClass -Name "SMB" -Priority 3 -BandwidthPercentage 60 -Algorithm ETS
Set-NetQosDcbxSetting -Willing $FALSE
Enable-NetAdapterQos -Name "Slot1 4 2 Port 1"
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"}
Zur Aktivierung der RDMA-Funktionalität auf virtuellen Adaptern, die mit einem VMSwitch verbunden sind, sind folgende Schritte erforderlich:
Unter bestimmten Umständen können Sie diese Einstellungen standardmäßig deaktivieren. Sie können diese Optionen im Einstellungsbereich des Adapters von Intel PROSet ACU oder auf der Registerkarte „Erweitert“ der Adaptereigenschaften manuell konfigurieren. Alternativ können Sie die folgenden PowerShell-Befehle verwenden:
Set-NetAdapterAdvancedProperty -Name <nic_name> -RegistryKeyword *SRIOV -RegistryValue 1
Set-NetAdapterAdvancedProperty -Name <nic_name> -RegistryKeyword *VMQ -RegistryValue 1
Set-NetAdapterAdvancedProperty -Name <nic_name> -RegistryKeyword RdmaMaxVfsEnabled -RegistryValue <1-32>
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 <Switchname> -NetAdapterName <Gerätename>
-EnableIov $true
Set-NetAdapterAdvancedProperty -Name <Gerätename> -RegistryKeyword RdmaMaxVfsEnabled -RegistryValue <Value: 0 - 32>
Get-NetAdapterRdma | Disable-NetAdapter
Get-NetAdapterRdma | Enable-NetAdapter
Add-VMNetworkAdapter -VMName <VM-Name> -VMNetworkAdapterName <Gerätename> -SwitchName <Switchname>
Set-VMNetworkAdapterRdma -VMName <VM-Name> -VMNetworkAdapterName <Gerätename> -RdmaWeight 100
Set-VMNetworkAdapter -VMName <VM-Name> -VMNetworkAdapterName <Gerätename> -IovWeight 100
Set-NetAdapterAdvancedProperty -Name <Gerätename> -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:
New-SmbShare -Name <SMBsharename> -Path <SMBsharefilepath> -FullAccess <domainname>\Administrator,Everyone
New-SmbShare -Name RAMDISKShare -Path R:\RAMDISK -FullAccess group\Administrator,Everyone
.\diskspd.exe -b4K -d60 -h -L -o16 -t16 -r -w0 -c10G \\<SMBserverTestIP>\<SMBsharename>\test.dat
Sie können mit perfmom oder einem anderen Leistungsüberwachungs-Tool RDMA-Statistiken und Werte überwachen. Weitere Informationen finden Sie in der Dokumentation von Microsoft*. Das Register-IntelEthernetRDMACounterSet-Cmdlet registriert die RDMA-Statistikzähler für das jeweilige Gerät bei perfmon. In Konfiguration mit Windows PowerShell finden Sie weitere Informationen zur Installation und Verwendung von Ethernet Cmdlets von Intel. Sie können den folgenden PowerShell-Befehl verwenden, um die RDMA-Statistiken für alle unterstützten Geräte zu registrieren:
Register-IntelEthernetRDMACounterSet
Sie können das folgende PowerShell Cmdlet verwenden, um die RDMA-Statistiken zu entfernen:
Unregister-IntelEthernetRDMACounterSet
Copyright © 2019 - 2023, Intel Corporation. Alle Rechte vorbehalten.
Diese Software und die zugehörigen Dokumente sind urheberrechtlich geschützte Materialien von Intel, deren Verwendung der ausdrücklichen Lizenz, unter der sie Ihnen bereitgestellt wurden („Lizenz“), unterliegt. Soweit keine andere Regelung in der Lizenz vermerkt ist, dürfen Sie diese Software oder die entsprechenden Dokumente nicht ohne vorherige schriftliche Genehmigung von Intel verwenden, ändern, kopieren, veröffentlichen, verteilen, offenlegen oder übertragen.
Diese Software und die zugehörigen Dokumente werden wie vorliegend ohne ausdrückliche oder stillschweigende Garantien bereitgestellt. Ausgenommen davon sind alle ausdrücklich in der Lizenz genannten Garantien.
Intel® Technik kann entsprechend geeignete Hardware, Software oder die Aktivierung von Diensten erfordern.
Kein Produkt und keine Komponente bietet absolute Sicherheit.
Ihre Kosten und Ergebnisse können variieren.
Intel, das Intel Logo und andere Intel Markenbezeichnungen sind Marken der Intel Corporation oder ihrer Tochtergesellschaften.
*Andere Marken oder Produktnamen sind Eigentum der jeweiligen Inhaber.