iWARP (網際網路廣域 RDMA 通訊協定)

「遠端直接記憶體存取」或稱 RDMA,可讓電腦存取另一部電腦的記憶體,而不需與此兩部電腦的作業系統資料緩衝區互動,因此能夠提高網路連線速度和輸出量。「網際網路廣域 RDMA 通訊協定」(iWARP) 是在跨「網際網路通訊協定」網路執行 RDMA 的通訊協定。

Microsoft* Windows* 提供兩種形式的 RDMA:Network Direct (ND) 和 Network Direct Kernel (NDK)。ND 可讓使用者模式的應用程式使用 iWARP 功能。NDK 可讓核心模式的 Windows 元件 (例如「檔案管理員」) 使用 iWARP 功能。NDK 功能包括在以 Intel 為基礎的網路驅動程式中。ND 功能是在 Intel 驅動程式和網路軟體安裝期間提供使用的額外選項。如果您打算在您所開發的應用程式中使用 iWARP 功能,安裝驅動程式時,就需要安裝使用者模式的 Network Direct (ND) 功能。(請參閱下面的「安裝」一節。)

注意:

  • 雖然 NDK 功能已包括在基本驅動程式中,如果您要讓所有的子網路都能使用 NDK 的 RDMA 功能,就需要在基礎驅動程式安裝期間,於 iWARP Configuration Options (iWARP 組態選項) 螢幕選取「Enable iWARP routing across IP Subnets」(在所有的 IP 子網路啟用 iWARP 路由) (請參閱下面的「安裝」一節)。
  • 如果您想在連接至虛擬機器交換器的虛擬介面卡上啟用 RDMA 功能,一定要在每個連接埠驅動程式啟用 *SRIOV (單一根目錄 I/O 虛擬化) 和 *VMQ (虛擬機器佇列) 進階屬性。使用介面卡屬性對話方塊中的「進階」標籤或下面的 Windows PowerShell 指令來設定這些選項。
    Set-NetAdapterAdvancedProperty -Name <nic_name> -RegistryKeyword *SRIOV
    -RegistryValue 1

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

需求

「Intel® 乙太網路使用者模式 iWARP Provider」受到 Linux* 作業系統和 Microsoft* Windows Server* 2012 R2 或更新版本的支援。若要進行 Windows 安裝,一定要安裝 Microsoft* HPC Pack 或 Intel® MPI Library。

安裝使用者模式的 Network Direct (ND) iWARP 功能

請注意:如果您要在 Windows Server 2016 Nano Server 上安裝 Intel® Ethernet User Mode iWARP Provider,請參考下方的「在 Nano Server 上安裝」說明。

Intel 基本驅動程式中包括了 Network Direct Kernel (NDK) 功能。請遵照下面的步驟來安裝使用者模式的 Network Direct (ND) iWARP 功能。

  1. 從安裝媒體執行 Autorun.exe 來啟動該安裝程式,然後選擇「Install Drivers and Software」(安裝驅動程式和軟體) ,然後接受授權合約書。
  2. 在 Setup Options (設定選項) 螢幕選取「Intel® Ethernet User Mode iWARP Provider」(Intel® 乙太網路使用者模式 iWARP Provider)。
  3. 在 iWARP Configuration Options 螢幕,依您的需求可選取 "Enable iWARP routing across IP Subnets"。請注意,即使您沒有選取使用者模式的 iWARP,這個選項也會在基本驅動程式安裝期間出現,因為這個選項也適用於 Network Direct Kernel 功能。
  4. 如果有安裝「Windows 防火牆」,且該防火牆也在作用中,請選取「Create an Intel® Ethernet iWARP Port Mapping Service rule in Windows Firewall」(在「Windows 防火牆」建立一條「Intel® 乙太網路 iWARP 連接埠對應服務」規則) 以及要套用此規則的網路。如果「Windows 防火牆」已停用或者您使用的是第三方的防火牆,就需要以手動方式來新增這條規則。
  5. 繼續進行驅動程式和軟體安裝。

在 Nano Server 上進行安裝

請遵照下面的步驟,在 Microsoft Windows Server 2016 Nano Server 上安裝「Intel® 乙太網路使用者模式 iWARP Provider」。

  1. 建立一個您要在上面安裝 iWARP 檔案的目錄。例如,C:\Nano\iwarp。
  2. 把下面的檔案複製到新的目錄:
  3. 使用您在步驟 1 中為 AddDriver 路徑參數所建立的目錄,執行 DISM 指令來將 iWARP 檔案放入您的 Nano Server 影像。例如,「DISM .../Add-Driver C:\Nano\iwarp」
  4. 為 UDP 連接埠 3935 建立一條內傳的防火牆規則。
  5. 如有需要,可以使用下面的 Windows PowerShell 指令,在所有「IP 子網路」都啟用 iWARP 路由。

設定 iWARP 訪客支援 (NDK 模式 3)

「NDK 模式 3」可讓核心模式 Windows 元件使用 Hyper-V 訪客分割區內的 iWARP 功能。若要在 Intel Ethernet 裝置上啟用NDK模式 3,請執行以下的步驟:

  1. 在您的系統的 BIOS 或 UEFI 上啟用 SR-IOV。
  2. 在裝置上啟用 SR-IOV 進階選項。
  3. 在 SR-IOV 啟用的情況下設定裝置。在同一個裝置上對所有的功能執行這個步驟:
    New-VMSwitch -Name <switch_name> -NetAdapterName <device_name>
    -EnableIov $true
  4. 利用設定 RDMAMaxVfsEnabled 進階選項來設定裝置上的 RDMA 虛擬功能 (VF) 次數。所有的實體功能都必需設定成相同的值。該值代表在整個裝置中,一次能夠進行 RDMA 的最高 VF 數。啟用較多的 VF 會限制實體功能 (PF) 和其它 VF 的 RDMA 資源。
    Set-NetAdapterAdvancedProperty -Name <device_name> -RegistryKeyword RdmaMaxVfsEnabled -RegistryValue <Value: 0 – 32>
  5. 在主機上停用所有的 PF 介面卡後再將它們重新啟用。如果「RdmaMaxVfsEnabled」這個登錄關鍵字變更或者是在建立或破壞一個 VMSwitch 時就需要進行此作業。
    Get-NetAdapterRdma | Disable-NetAdapter
    Get-NetAdapterRdma | Enable-NetAdapter
  6. 為需要 Rdma VF 支援的 VM 建立「VM 網路介面卡」。
    Add-VMNetworkAdapter -VMName <vm_name> -VMNetworkAdapterName <device_name> -SwitchName <switch_name>
  7. 如果您打算在客體分割區使用 Microsoft Windows 10 Creators Update (RS2) 或更新的版本,請在主機輸入下面指令來設定「VM 網路介面卡」:
    Set-VMNetworkAdapterRdma -VMName <vm_name> -VMNetworkAdapterName <device_name> -RdmaWeight 100
  8. 在「VM 網路介面卡」設定 SR-IOV 的權數 (請注意:一定要先將 RdmaWeight 設為 0 後才能將 SR-IOV 的權數設為 0):
    Set-VMNetworkAdapter -VMName <vm_name> -VMNetworkAdapterName <device_name> -IovWeight 100
  9. 用 VM 中的 PROSET Installer 來安裝 VF 網路介面卡。
  10. 使用 VM 中的 PowerShell 來啟用 VF 驅動程式上的 RDMA 和「Hyper-V 網路介面卡」:
    Set-NetAdapterAdvancedProperty -Name <device_name> -RegistryKeyword RdmaVfEnabled -RegistryValue 1
    Get-NetAdapterRdma | Enable-NetAdapterRdma

檢查「RDMA Capable」欄位就可確認 RDMA 是否成功啟用。執行:
Get-SmbServerNetworkInterface

如果「RDMA Capable」欄位報告有錯誤,請嘗試在 VM 中先停用 RDMA 功能,然後再將它啟用:
Get-NetAdapterRdma | Disable-NetAdapterRdma
Get-NetAdapterRdma | Enable-NetAdapterRdma

如果「RDMA Capable」欄位報告有錯誤,請嘗試在主機中先停用 RDMA 功能,然後再將它啟用:Get-NetAdapterRdma | Disable-NetAdapter
Get-NetAdapterRdma | Enable-NetAdapter

客戶支援

法律聲明/免責聲明

著作權 (C) 2018,Intel 公司。版權所有。

Intel 公司不對本文件中的錯誤或疏失負責。Intel 亦不對此處包含的資訊做任何更新承諾。

Intel 是 Intel Corporation 在美國及其他國家的商標。

* 其他的名稱和品牌可能業經宣告為其他所有者之財產。

本軟體係根據授權提供,且只得根據本授權的條款進行使用或複製。本手冊中的資訊僅以資訊使用目的提供、可能在不另行通知的情況下修改、並且不應被讀解為 Intel Corporation 的承諾。對於本文件或與本文件相關而提供之任何軟體中若有任何錯誤或不正確之處,Intel Corporation 不承擔任何責任或義務。除了此授權許可的部份外,事先未經 Intel Corporation 的明確書面同意,不得以任何格式或方法對本文件的任何部份進行複製、儲存在可擷取的系統中、或傳輸。