인텔 이더넷용 iWARP RDMA

RDMA(Remote Direct Memory Access)를 사용하면 컴퓨터가 컴퓨터의 운영 체제 데이터 버퍼와 상호 작용하지 않고도 또 다른 컴퓨터 메모리에 액세스할 수 있어, 네트워킹 속도와 처리량이 증가합니다. iWARP는 인터넷 프로토콜 네트워크에서 RDMA를 구현하는 데 필요한 프로토콜입니다.

Microsoft* Windows*는 NDK(Network Direct Kernel)와 ND(Network Direct) 등 두 가지 형태의 RDMA를 제공합니다.

NDK용 iWARP RDMA 기능. 예: SMB Direct(Server Message Block)

NDK는 Windows 구성 요소(예: SMB Direct 스토리지)가 iWARP 기능을 사용할 수 있도록 지원합니다.

iWARP NDK 구성

NDK 기능은 인텔 기본 네트워킹 드라이버에 포함되며 추가 기능 설치를 요구하지 않습니다.

iWARP RDMA 작동 검증

네트워크 인터페이스에서 RDMA가 활성화되어 있는지 확인합니다

Get-NetAdapterRDMA

네트워크 인터페이스에 RDMA가 지원되는 것으로 표시되고 다채널이 활성화되어 있는지 확인합니다

Get-SmbClientNetworkInterface

Network Direct가 OS에서 활성화되어 있습니다

Get-NetOffloadGlobalSetting | Select NetworkDirect

각 RDMA 지원 네트워크 인터페이스는 포트 445에 리스너를 가져야 합니다(RDMA를 지원하는 Windows Client OS는 리스너를 게시하지 않을 수 있음)

netstat.exe -xan | ? {$_ -match "445"}

IP 서브넷에서 iWARP 라우팅

서브넷에서 NDK의 RDMA 기능을 허용하려면 기본 드라이버 설치 도중 iWARP Configuration Options 화면에서 "Enable iWARP routing across IP Subnets(IP 서브넷에서 iWARP 라우팅 활성화)"를 선택해야 합니다(아래의 설치 참조).

가상화된 환경을 위한 iWARP

VMSwitch에 연결된 가상 어댑터에서 RDMA 기능을 활성화하려면, 각 포트 드라이버에서 *SRIOV(Single Root IO Virtualization)와 *VMQ(Virtual Machine Queues) 고급 속성을 활성화해야 합니다. 특정 상황에서 이러한 설정은 기본적으로 비활성화되었을 수 있습니다. 이러한 옵션은 어댑터 속성 대화 상자의 고급 탭에서 수동으로 설정할 수 있으며, 다음 Powershell 명령을 사용할 수도 있습니다.

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

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

iWARP NDK 테스트: DiskSPD 포함 Microsoft* Windows* SMB Direct

이 섹션에서는 iWARP RDMA 테스트를 통해 인텔 이더넷 기능을 확인하는 권장되는 방법과 Microsoft* Windows* 운영 체제에서의 성능에 대해 간략히 설명합니다.

SMB Direct는 스토리지 워크로드이므로 벤치마크의 성능이 테스트 대상 네트워크 인터페이스가 아닌 스토리지 장치의 속도로 제한될 수도 있다는 점에 유의하십시오. 인텔에서는 테스트 대상 네트워크 장치의 진정한 성능을 테스트할 수 있도록 가능한 한 가장 빠른 스토리지를 사용하도록 권장합니다.

테스트 지침:

  1. 연결된 iWARP 지원 인텔® 이더넷의 네트워크 인터페이스 서버당 최소 1개와 함께 Microsoft* Windows* Server 2012 R2 또는 Microsoft* Windows* Server 2016 서버 최소 2개를 설정합니다.
  2. SMB 서버로 지정된 시스템에서 SMB 공유를 설정합니다. 벤치마크의 성능이 테스트 대상 네트워크 인터페이스가 아닌 스토리지 장치의 속도로 제한될 수도 있다는 점에 유의하십시오. 스토리지 설정은 이 문서의 범위를 벗어납니다.
    PowerShell (PS) 명령:
    New-SmbShare -Name <SMBsharename> -Path <SMBsharefilepath> -FullAccess <domainname>\Administrator,Everyone

    예:
    New-SmbShare -Name RAMDISKShare -Path R:\RAMDISK -FullAccess group\Administrator,Everyone

  3. Microsoft 유틸리티 Diskspd를 https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223에서 다운로드해서 설치합니다.
  4. CMD 또는 Powershell을 사용하여 DiskSpd 폴더로 이동하고 테스트를 실행합니다. (매개변수에 대한 자세한 내용은 Diskspd 문서를 참조하십시오)

    예: 블록 크기를 4K로 설정하고, 60초 동안 테스트를 실행한 후, 모든 하드웨어 및 소프트웨어 캐싱을 비활성화하고 지연 시간 통계를 측정 및 표시합니다. 그리고 나서 타겟당 16개의 오버래핑된 IO와 16개의 스레드에 대한 평균을 내고 0% 쓰기와 100% 읽기를 무작위 실행하고 다음 위치에 10GB 테스트 파일을 만듭니다: “\\<SMBserverX722IP>\<SMBsharename>\test.dat” :
    .\diskspd.exe –b4K -d60 -h -L –o16 -t16 –r –w0 -c10G \\<SMBserverX722IP>\<SMBsharename>\test.dat

  5. RDMA 트래픽이 “RDMA Activity” 및 “SMB Direct Connection”과 같은 perfmon 카운터를 사용해서 실행되고 있는지 확인합니다. 자세한 내용은 Microsoft 문서를 참조하십시오.

iWARP 게스트 지원 구성(NDK 모드 3)

NDK 모드 3을 사용하면 커널 모드 Windows 구성 요소가 Hyper-V 게스트 파티션 내에서 iWARP 기능을 사용할 수 있습니다. 인텔 이더넷 장치에서 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 Network Adapter에서의 RDMA 가중치를 설정하십시오.
    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 드라이버와 Hyper-V 네트워크 어댑터의 RDMA를 활성화합니다.
    Set-NetAdapterAdvancedProperty -Name <device_name> -RegistryKeyword RdmaVfEnabled -RegistryValue 1
    Get-NetAdapterRdma | Enable-NetAdapterRdma

ND 사용자 모드 애플리케이션용 iWARP RDMA

ND를 이용하면 사용자 모드 애플리케이션이 iWARP 기능을 사용할 수 있습니다. 개발 중인 사용자 모드 애플리케이션에서 iWARP 기능을 활용할 계획이면 드라이버 설치 시 ND(Network Direct) 기능을 설치해야 합니다.

iWARP 사용자 모드 설치

Intel® Ethernet User Mode iWARP Provider는 Microsoft* Windows Server* 2012 R2 이상에서 지원됩니다.

참고:

  • Windows Server 2016 Nano Server에 설치할 경우에는 아래의 Nano Server에서의 설치를 참조하십시오.
  • 사용자 모드 애플리케이션은 Microsoft HPC Pack 또는 Intel MPI Library와 같은 전제 조건을 가질 수도 있습니다. 자세한 내용은 애플리케이션 문서를 참조하십시오.

사용자 모드 ND(Network Direct) iWARP 기능을 설치하려면 아래 단계를 따르십시오.

  1. 설치 매체에서 Autorun.exe를 실행하여 설치 프로그램을 시작한 후 "Install Drivers and Software(드라이버와 소프트웨어 설치)"를 선택하고 라이센스 계약을 수락합니다.
  2. Setup Options(설정 옵션) 화면에서 "Intel® Ethernet User Mode iWARP Provider"를 선택합니다.
  3. 원하는 경우 iWARP Configuration Options(iWARP 구성 옵션) 화면에서 "Enable iWARP routing across IP Subnets(IP 서브넷에서 iWARP 라우팅 사용)"을 선택합니다. 이 옵션은 Network Direct Kernel 기능에도 적용될 수 있으므로 사용자 모드 iWARP가 선택되어 있지 않아도 기본 드라이버 설치 도중 표시된다는 점에 유의하십시오.
  4. Windows 방화벽이 설치되어 있고 활성 상태이면 "Create an Intel® Ethernet iWARP Port Mapping Service rule in Windows Firewall(Windows 방화벽에서 인텔® 이더넷 iWARP 포트 매핑 서비스 규칙 만들기)"와 해당 규칙을 적용할 네트워크를 선택합니다. Windows 방화벽이 비활성화되어 있거나 타사 방화벽을 사용 중이면 수동으로 이 규칙을 추가해야 합니다.
  5. 드라이버 및 소프트웨어 설치를 진행하십시오.

Microsoft Windows Server 2016 Nano Server에 iWARP 사용자 모드 설치

Microsoft Windows Server 2016 Nano Server에서 Intel® Ethernet User Mode iWARP Provider를 설치하려면 아래 단계를 따르십시오.

  1. iWARP 파일을 설치할 디렉토리를 만듭니다. 예: C:\Nano\iwarp.
  2. 다음 파일을 새 디렉토리에 복사합니다:
  3. DISM 명령을 실행하여 iWARP 파일을 Nano Server 이미지에 추가합니다. 이때 AddDriver 경로 매개변수에 대해 1단계에서 만든 디렉토리를 사용하십시오. 예: "DISM .../Add-Driver C:\Nano\iwarp"
  4. UDP 포트 3935에 대한 인바운드 방화벽 규칙을 만듭니다.
  5. 원하는 경우, 아래의 Windows PowerShell 명령을 사용하여 IP 서브넷에서 iWARP 라우팅을 활성화합니다.

고객 지원

법률 / 고지 사항

Copyright (C) 2018, 인텔사. 모든 권한은 인텔사에 있습니다.

인텔사는 이 문서의 오류나 누락에 대한 책임을 지지 않습니다. 인텔은 여기에 수록된 정보를 업데이트한다는 약속을 하지 않습니다.

인텔은 미국 및/또는 기타 국가에서 인텔사의 상표입니다.

*다른 이름과 브랜드는 다른 회사의 소유일 수 있습니다.

본 소프트웨어는 라이센스 하에서 공급되며 라이센스 계약 내용에 따라서만 사용하거나 복사할 수 있습니다. 본 설명서의 정보는 정보 제공 목적으로만 제공되며 예고 없이 바뀔 수 있습니다. 또한 이 정보를 인텔사에서 확인한 내용으로 간주해서는 안 됩니다. 인텔사는 본 문서 또는 본 문서와 관련하여 제공되었을 수 있는 소프트웨어에 나타날 수 있는 오류나 부정확성에 대한 책임을 지지 않습니다. 해당 라이센스에서 허용하는 경우를 제외하고 인텔사의 명시적인 서면 동의 없이는 어떠한 수단으로도 본 문서의 어떠한 부분도 재생산하거나 검색 시스템에 저장하거나 전송하면 안 됩니다.