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 | iw_ixl | 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
Copyright © 2019 - 2022, 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.