El Acceso directo remoto a la memoria, o RDMA por sus siglas en inglés, permite que un dispositivo de red transfiera datos directamente a y desde la memoria de aplicaciones en otro sistema, aumentando el rendimiento y disminuyendo la latencia en ciertos entornos de red.
La diferencia principal es que iWARP realiza RDMA a través de TCP, mientras que RoCEv2 utiliza UDP.
En dispositivos con funciones RDMA, RDMA es compatible con los siguientes sistemas operativos:
Para evitar la degradación de rendimiento de los paquetes descartados, habilite el control de flujo o el control de flujo de prioridad en todas las interfaces de red y conmutadores.
![]() |
NOTAS:
|
Para dispositivos Ethernet Intel® que son compatibles con RDMA en Linux o FreeBSD, utilice los controladores que se muestran en la siguiente tabla.
Dispositivo | Linux | FreeBSD | Protocolos compatibles | ||
---|---|---|---|---|---|
Controlador base | Controlador RDMA | Controlador base | Controlador RDMA | ||
Ethernet Intel® serie 800 | ice | irdma | ice | irdma | RoCEv2, iWARP |
Ethernet Intel® serie X722 | i40e | irdma | ixl | No es compatible | iWARP |
A un alto nivel, instalar y configurar RDMA en Linux o FreeBSD consiste en los siguientes pasos. Consulte el archivo README dentro del tarball del controlador RDMA correspondiente para obtener más información.
Los dispositivos basados en Ethernet Intel serie 800 son compatibles con RDMA en un Linux VF en hosts compatibles Windows o Linux. Consulte el archivo LÉAME dentro del paquete tarball del controlador RDMA de Linux para obtener más información sobre cómo cargar y configurar RDMA en un Linux VF.
Network Direct (ND) permite que las aplicaciones de modo de usuario utilicen características de RDMA.
![]() |
NOTA: Las aplicaciones en modo de usuario pueden tener requisitos previos, como Microsoft HPC Pack o Intel MPI Library; consulte la documentación de su aplicación para obtener más detalles. |
El proveedor de RDMA en modo de usuario Ethernet Intel® es compatible con Microsoft Windows Server 2012 R2 y posteriores.
Siga los pasos indicados más abajo para instalar las características en modo de usuario de Network Direct.
![]() | NOTA: Si el firewall de Windows está deshabilitado o utiliza un firewall de terceros, tendrá que añadir esta regla manualmente. |
La funcionalidad RDMA Network Direct Kernel (NDK) está incluida en los controladores de red base de Intel y no requiere la instalación de características adicionales.
Si desea habilitar la característica RDMA de NDK a través de subredes, tendrá que seleccionar "Habilitar enrutamiento de RDMA a través de subredes IP" en la pantalla Opciones de configuración de RDMA durante la instalación del controlador base.
Para evitar la degradación de rendimiento de los paquetes descartados, habilite el control de flujo de prioridad (PFC) o el control de flujo de nivel de enlace en todas las interfaces y conmutadores de red.
![]() |
NOTA: en sistemas que ejecutan un sistema operativo de Microsoft Windows Server, habilitando el control de flujo *QoS/prioridad se desactivará el control de flujo de nivel de enlace. |
Utilice los siguientes comandos PowerShell* para habilitar PFC en Microsoft Windows Server:
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"
Puede comprobar que RDMA esté habilitado en las interfaces de red mediante el siguiente comando de Microsoft PowerShell:
Get-NetAdapterRDMA
Use el siguiente comando de PowerShell para comprobar si las interfaces de red son compatibles con RDMA y si está habilitado el multicanal:
Get-SmbClientNetworkInterface
Use el siguiente comando de PowerShell para comprobar si Network Direct está habilitado en el sistema operativo:
Get-NetOffloadGlobalSetting | Seleccionar NetworkDirect
Use netstat para asegurarse de que cada interfaz de red compatible con RDMA tiene un receptor en el puerto 445 (los sistemas operativos cliente de Windows que admiten RDMA no pueden publicar escuchas). Por ejemplo:
netstat.exe -xan | ? {$_ -match "445"}
Para habilitar la funcionalidad RDMA en adaptadores virtuales conectados a un VMSwitch, deberá:
En determinadas circunstancias, podrá deshabilitar estos ajustes de forma predeterminada. Estas opciones se pueden establecer manualmente en el panel de configuración del adaptador de Intel® PROSet ACU, en la pestaña Opciones avanzadas del cuadro de diálogo de propiedades del adaptador, o con los siguientes comandos PowerShell:
Set-NetAdapterAdvancedProperty -Name <nombre_nic> -RegistryKeyword *SRIOV -RegistryValue 1
Set-NetAdapterAdvancedProperty -Name <nombre_nic> -RegistryKeyword *VMQ -RegistryValue 1
Set-NetAdapterAdvancedProperty -Name <nombre_nic> -RegistryKeyword RdmaMaxVfsEnabled -RegistryValue <1-32>
El modo NDK 3 permite que los componentes de Windows en modo de kernel utilicen las características de RDMA dentro de las particiones de invitados de Hyper-V. Para habilitar el modo NDK 3 en un dispositivo Ethernet Intel, haga lo siguiente:
New-VMSwitch -Name <nombre_conmutador> -NetAdapterName <nombre_dispositivo>
-EnableIov $true
Set-NetAdapterAdvancedProperty -Name <device_name> -RegistryKeyword RdmaMaxVfsEnabled -RegistryValue <Value: 0 - 32>
Get-NetAdapterRdma | Disable-NetAdapter
Get-NetAdapterRdma | Enable-NetAdapter
Add-VMNetworkAdapter -VMName <nombre_vm> -VMNetworkAdapterName <nombre_dispositivo> -SwitchName <nombre_conmutador>
Set-VMNetworkAdapterRdma -VMName <nombre_vm> -VMNetworkAdapterName <nombre_dispositivo> -RdmaWeight 100
Set-VMNetworkAdapter -VMName <nombre_vm> -VMNetworkAdapterName <nombre_dispositivo> -IovWeight 100
Set-NetAdapterAdvancedProperty -Name <nombre_dispositivo> -RegistryKeyword RdmaVfEnabled -RegistryValue 1
Get-NetAdapterRdma | Enable-NetAdapterRdma
NDK permite que los componentes de Windows (como el almacenamiento SMB Direct) utilicen características de RDMA.
Esta sección describe una forma recomendada de probar RDMA para la funcionalidad y el rendimiento de Ethernet Intel en los sistemas operativos Microsoft Windows.
Tenga en cuenta que, dado que SMB Direct es una carga de trabajo de almacenamiento, el rendimiento de la prueba de referencia puede estar limitado a la velocidad del dispositivo de almacenamiento en lugar de a la interfaz de red que se está probando. Intel recomienda utilizar el almacenamiento más rápido posible para probar las prestaciones reales de los dispositivos de red sometidos a prueba.
Instrucciones de prueba:
New-SmbShare -Name <nombre_rec_compartido_SMB> -Path <ruta_archivo_rec_compartido_SMB> -FullAccess <nombre_dominio>\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
Puede usar perfmon u otra herramienta de monitorización de rendimiento para monitorizar y mostrar contadores y estadísticas RDMA. Consulte la documentación de Microsoft para obtener más detalles. Use el cmdlet Register-IntelEthernetRDMACounterSet para registrar los contadores de estadísticas RDMA para el dispositivo específico con perfmon. Consulte Configuración con Windows PowerShell para más información sobre cómo instalar y usar cmdlets Ethernet Intel. Puede usar el siguiente comando de PowerShell para registrar las estadísticas RDMA para todos los dispositivos compatibles:
Register-IntelEthernetRDMACounterSet
Puede usar el siguiente cmdlet de PowerShell para anular el registro de las estadísticas RDMA:
Unregister-IntelEthernetRDMACounterSet
Copyright (C) 2019 - 2023, Intel Corporation. Todos los derechos reservados.
Este software y los documentos relacionados son materiales con derechos de autor de Intel; su uso se rige por la licencia expresa con la que se le proporcionaron (la “Licencia”). Salvo que en la Licencia se establezca lo contrario, no puede utilizar, modificar, copiar, publicar, distribuir, divulgar ni transmitir este software o los documentos relacionados sin la autorización previa por escrito de Intel.
Este software y los documentos relacionados se proporcionan tal cual, sin garantías expresas o implícitas, más allá de las que se indican expresamente en la Licencia.
Es posible que las tecnologías Intel® requieran hardware habilitado, software específico u otra activación de servicios.
Ningún producto o componente es completamente seguro.
Sus costes y resultados pueden variar.
Intel, el logotipo Intel y otras marcas Intel son marcas comerciales de Intel Corporation o de sus filiales.
* Otros nombres y marcas pueden ser reclamados como propiedad de terceras partes.