iWARP (Internet Wide Area RDMA Protocol)

Remote Direct Memory Access oder RDMA ermöglicht einem Computer den Zugriff auf den Arbeitsspeicher eines anderen Computers, ohne dass dabei eine Interaktion mit den Datenpuffern des Betriebssystems der beiden Computer stattfindet. Dadurch werden Netzwerkgeschwindigkeit und Durchsatz erhöht. Internet Wide Area RDMA Protocol (iWARP) ist ein Protokoll zur Implementierung von RDMA in Internet-Protokoll-Netzwerken.

Microsoft* Windows* bietet zwei Versionen von RDMA: Network Direct (ND) und Network Direct Kernel (NDK). Über ND können Benutzermodusanwendungen die iWARP-Funktionen verwenden. Über NDK können Windows Komponenten im Kernelmodus (wie Datei-Manager) die iWARP-Funktionen verwenden. Die NDK-Funktionalität ist in den Basisnetzwerktreibern von Intel enthalten. Die NDK-Funktionalität ist eine separate Option, die bei der Installation der Treiber- und Netzwerksoftware von Intel gewählt werden kann. Wenn Sie in eigenentwickelten Anwendungen die iWARP-Funktionen nutzen möchten, müssen Sie bei der Installation der Treiber die Network Direct-(ND-)Funktion für den Benutzermodus installieren. (Siehe „Installation“ unten.)

HINWEISE:

  • Die NDK-Funktionalität ist wie gesagt in den Basisnetzwerktreibern von Intel enthalten. Wenn Sie die NDK RDMA-Funktion in Subnetzen freischalten möchten, müssen Sie aber bei der Installation der Basistreiber im Bildschirm „iWARP Configuration Options“ (iWARP Konfigurationsoptionen) die Option „Enable iWARP routing across IP Subnets“ (iWARP-Routing in IP-Subnetzen aktivieren) wählen (siehe „Installation“ unten).
  • Um die RDMA-Unterstützung auf einem mit einem Virtual Machine-Switch verbundenen virtuellen Adapter zu aktivieren, müssen die erweiterten Eigenschaften *SRIOV (Single Root IO Virtualization) und *VMQ (Virtual Machine Queues) auf jedem Porttreiber aktiviert sein. Stellen Sie diese Optionen in der Registerkarte „Advanced“ (Erweitert) der Adaptereigenschaften oder mit den folgenden Windows PowerShell-Befehlen ein.
    Set-NetAdapterAdvancedProperty -Name <NIC_Name> -RegistryKeyword *SRIOV
    -RegistryValue 1

    Set-NetAdapterAdvancedProperty -Name <NIC_Name> -RegistryKeyword *VMQ
    -RegistryValue 1

Anforderungen

Der Intel® Ethernet User Mode iWARP Provider wird von den Betriebssystemen Linux* und Microsoft* Windows Server* 2012 R2 oder höher unterstützt. Bei der Installation auf Windows muss Microsoft* HPC Pack oder die Intel® MPI Library installiert sein.

Installation von Network Direct (ND) iWARP-Funktionen für den Benutzermodus

HINWEIS: Zur Installation von Intel® Ethernet User Mode iWARP Provider auf Windows Server 2016 Nano Server siehe „Installation auf Nano Server“ weiter unten.

Network Direct Kernel-(NDK-)Funktionen sind in den Basistreibern von Intel enthalten. Zur Installation der Network Direct (ND) iWARP-Funktionen für den Benutzermodus gehen Sie wie folgt vor.

  1. Führen Sie auf dem Installationsdatenträger die Datei „Autorun.exe“ aus, um das Installationsprogramm zu starten. Wählen Sie „Install Drivers and Software“ (Treiber und Software installieren) und akzeptieren Sie den Lizenzvertrag.
  2. Wählen Sie im Bildschirm „Setupoptionen“ die Option „Intel® Ethernet User Mode iWARP Provider“.
  3. Wählen Sie im Bildschirm „iWARP Configuration Options“ (iWARP Konfigurationsoptionen) ggf. die Option „Enable iWARP routing across IP Subnets“ (iWARP-Routing in IP-Subnetzen aktivieren). Beachten Sie, dass diese Option auch dann bei der Installation der Basistreiber angezeigt wird, wenn iWARP für den Benutzermodus nicht gewählt wurde. Der Grund ist, dass diese Option ebenfalls bei der Funktionalität Network Direct Kernel zur Verfügung steht.
  4. Falls Windows-Firewall installiert und aktiviert ist, wählen Sie „Create an Intel® Ethernet iWARP Port Mapping Service rule in Windows Firewall“ (Regel für Intel® Ethernet iWARP Port Mapping Service in Windows-Firewall anlegen) und dann die Netzwerke, für die die Regel gelten soll. Falls Windows-Firewall deaktiviert ist oder Sie eine Firewall eines Drittanbieters verwenden, müssen Sie diese Regel manuell hinzufügen.
  5. Fahren Sie mit der Treiber- und Softwareinstallation fort.

Installation auf Nano Server

Gehen Sie wie folgt vor, um den Intel® Ethernet User Mode iWARP Provider auf dem Microsoft Windows Server 2016 Nano Server zu installieren.

  1. Legen Sie ein Verzeichnis an, von dem aus die iWARP-Dateien installiert werden. Beispiel: C:\Nano\iwarp.
  2. Kopieren Sie die folgenden Dateien in das neue Verzeichnis:
  3. Führen Sie den Befehl DISM aus, um die iWARP-Dateien in das Nano Server Image einzufügen. Verwenden Sie dabei das in Schritt 1 angelegte Verzeichnis als Parameter für den Pfad AddDriver. Beispiel: „DISM .../Add-Driver C:\Nano\iwarp“
  4. Legen Sie eine eingehende Firewall-Regel für UDP-Port 3935 an.
  5. Verwenden Sie ggf. die folgenden Windows PowerShell-Befehle, um iWARP-Routing auf IP-Subnetzen zu aktivieren.

Konfiguration von iWARP Guest Support (NDK-Modus 3)

Im NDK-Modus 3 können Windows-Komponenten im Kernelmodus auf iWARP-Funktionen in Hyper-V-Gastpartitionen zugreifen. So wird NDK-Modus 3 auf einem Intel Ethernetgerät aktiviert:

  1. Aktivieren Sie SR-IOV im BIOS oder UEFI Ihres Systems.
  2. Aktivieren Sie die erweiterte Option für SR-IOV auf dem Gerät.
  3. Konfigurieren Sie das Gerät mit aktiviertem SR-IOV auf dem Switch. Führen Sie diesen Schritt für alle Funktionen auf demselben Gerät durch:
    New-VMSwitch -Name <Switchname> -NetAdapterName <Gerätename>
    -EnableIov $true
  4. Konfigurieren Sie die Anzahl der virtuellen Funktionen (VF) für RDMA auf dem Gerät über die erweiterte Option "RdmaMaxVfsEnabled". Alle physischen Funktionen müssen auf den gleichen Wert gesetzt werden. Der Wert ist die maximale Anzahl von VF mit gleichzeitiger RDMA-Unterstützung für das gesamte Gerät. Wenn mehr VF aktiviert werden, stehen begrenzte RDMA-Ressourcen aus physischen Funktionen (PF) und anderen VF zur Verfügung.
    Set-NetAdapterAdvancedProperty -Name <Gerätename> -RegistryKeyword RdmaMaxVfsEnabled -RegistryValue <Value: 0 – 32>
  5. Deaktivieren Sie alle PF-Adapter auf dem Host und aktivieren Sie sie neu. Dies ist erforderlich, wenn das Registrierungs-Schlüsselwort „RdmaMaxVfsEnabled“ geändert oder ein VMSwitch erstellt oder verworfen wird.
    Get-NetAdapterRdma | Disable-NetAdapter
    Get-NetAdapterRdma | Enable-NetAdapter
  6. Erstellen Sie VM Netzwerkadapter für VM, die RDMA VF-Unterstützung erfordern.
    Add-VMNetworkAdapter -VMName <VM-Name> -VMNetworkAdapterName <Gerätename> -SwitchName <Switchname>
  7. Falls Sie die Verwendung von Microsoft Windows 10 Creators Update (RS2) oder höher auf einer Gastpartition planen, setzen Sie das RDMA-Weight auf dem VM-Netzwerkadapter, indem Sie den folgenden Befehl auf dem Host eingeben:
    Set-VMNetworkAdapterRdma -VMName <VM-Name> -VMNetworkAdapterName <Gerätename> -RdmaWeight 100
  8. Setzen Sie das SR-IOV-Weight auf dem VM-Netzwerkadapter (Hinweis: SR-IOV-Weight muss auf 0 gesetzt werden, bevor RdmaWeight auf 0 gesetzt wird):
    Set-VMNetworkAdapter -VMName <VM-Name> -VMNetworkAdapterName <Gerätename> -IovWeight 100
  9. Installieren Sie den VF-Netzwerkadapter mit dem PROSET Installer in der VM.
  10. Aktivieren Sie RDMA auf dem VF-Treiber und Hyper-V-Netzwerkadapter über PowerShell in der VM:
    Set-NetAdapterAdvancedProperty -Name <Gerätename> -RegistryKeyword RdmaVfEnabled -RegistryValue 1
    Get-NetAdapterRdma | Enable-NetAdapterRdma

Prüfen Sie im Feld "RDMA Capable", ob RDMA erfolgreich aktiviert wurde. Ausführen:
Get-SmbServerNetworkInterface

Falls das Feld "RDMA Capable" den Wert "false" anzeigt, deaktivieren Sie die RDMA-Funktion in der VM und aktivieren Sie sie neu:
Get-NetAdapterRdma | Disable-NetAdapterRdma
Get-NetAdapterRdma | Enable-NetAdapterRdma

Falls das Feld "RDMA Capable" immer noch den Wert "false" anzeigt, deaktivieren Sie die physischen Funktionen auf dem Host und aktivieren Sie sie neu: Get-NetAdapterRdma | Disable-NetAdapter
Get-NetAdapterRdma | Enable-NetAdapter

Kunden-Support

Rechtliche Hinweise und Haftungsausschlüsse

Copyright (C) 2018, 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.