¿Qué es RDMA?
2026-04-23

RDMA (Remote Direct Memory Access) es una tecnología de comunicación en red derivada de DMA (Direct Memory Access). Permite a las aplicaciones de usuario eludir el núcleo del sistema operativo (CPU) e interactuar directamente con las tarjetas de interfaz de red (NIC) para la transmisión de datos, ofreciendo un ancho de banda ultraalto y una latencia ultrabaja. Desarrollado inicialmente para la informática de alto rendimiento (HPC), el RDMA se ha generalizado en los centros de datos。

1. Principios técnicos de RDMA

El principio básico de RDMA reside en aprovechar el hardware especializado de los adaptadores de red (por ejemplo, los motores RDMA de las NIC) para eludir el núcleo del sistema operativo y realizar transferencias directas de memoria por debajo de la capa de transporte de la red. Este mecanismo minimiza la latencia y la sobrecarga de la CPU, al tiempo que mejora la eficiencia de la red.


En RDMA, la comunicación entre el emisor y el receptor se realiza a través del adaptador RDMA. En primer lugar, el emisor registra el búfer de datos a enviar en la memoria del adaptador RDMA y envía su descriptor (que contiene la dirección, el tamaño y otra información de los datos) al receptor. El receptor registra el búfer de recepción en el adaptador RDMA e informa al adaptador de la dirección del búfer de recepción. A continuación, el emisor transfiere los datos directamente desde el búfer de envío al búfer de recepción a través del adaptador RDMA sin la intervención del sistema operativo. Este proceso se denomina operación de escritura RDMA. El receptor también puede leer datos directamente de la memoria del emisor a través de una operación de lectura RDMA.


RDMA admite tres tipos básicos de operaciones: operaciones de escritura, operaciones de lectura y operaciones atómicas. Las operaciones de escritura permiten a un nodo escribir datos directamente en la memoria de otro nodo. Las operaciones de lectura permiten a un nodo leer directamente datos de la memoria de otro nodo. Las operaciones atómicas son operaciones especiales que pueden realizar algunas operaciones atómicas en nodos remotos, como comparar e intercambiar (CAS).


El principio de funcionamiento de RDMA consiste principalmente en reducir el retardo de la transmisión de datos y la carga de la CPU mediante el acceso directo a la memoria a nivel de hardware. En comparación con el método de comunicación TCP/IP tradicional, RDMA no necesita establecer una conexión entre el emisor y el receptor, ni realizar un complejo procesamiento de protocolos, por lo que tiene mayor rendimiento y menor latencia. Además, RDMA también admite funciones como la copia cero y la derivación del núcleo, que pueden mejorar aún más la eficiencia de la transmisión de datos.


En general, el principio técnico de RDMA consiste en utilizar hardware dedicado en el adaptador de red mediante acceso directo a la memoria, eludir el núcleo del sistema operativo y lograr una comunicación de red eficiente, de baja latencia y baja ocupación de CPU.


2. Las características técnicas de RDMA incluyen principalmente los siguientes aspectos:


* No requiere intervención de la CPU: Una de las principales características de la tecnología RDMA es que no requiere la intervención de la CPU. Las aplicaciones pueden acceder directamente a la memoria del host remoto sin consumir recursos de CPU en el host remoto. Esto reduce enormemente el retardo y la ocupación de la CPU durante la transmisión de datos y mejora el rendimiento general.


* Kernel bypass: RDMA soporta la tecnología kernel bypass, es decir, las aplicaciones pueden realizar directamente la transmisión de datos en modo usuario sin cambiar de contexto entre el modo kernel y el modo usuario. Esto reduce aún más el retardo de la transmisión de datos y mejora la eficiencia.


* Copia cero: La tecnología RDMA tiene la característica de copia cero, que evita el proceso de copia de datos de un almacenamiento a otro por parte de la CPU. En la comunicación TCP/IP, la transmisión de datos entre hosts requiere frecuentes operaciones de copia, y RDMA reduce estas operaciones de copia innecesarias mediante el acceso directo a la memoria, mejorando así la eficiencia de la transmisión de datos.


* Gran ancho de banda y baja latencia: Dado que RDMA elude la pila de protocolos proporcionada por el sistema operativo y realiza directamente la transmisión de datos bajo la capa de transporte de red, tiene una mayor utilización del ancho de banda y una menor latencia. Esto hace que RDMA sea muy adecuado para escenarios de comunicación de red que requieren alto rendimiento y baja latencia.


* Soporte de hardware: RDMA requiere un soporte hardware específico de la tarjeta de red, que suele disponer de un motor RDMA dedicado para procesar la comunicación RDMA. Este soporte de hardware permite a RDMA alcanzar sus características de alto rendimiento y baja latencia.


En general, las características técnicas de RDMA incluyen la no intervención de la CPU, la derivación del kernel, la copia cero, el gran ancho de banda y la baja latencia, y el soporte de hardware. Estas características hacen de RDMA una tecnología de comunicación de red eficiente y de baja latencia, especialmente adecuada para escenarios que requieren el procesamiento de grandes cantidades de datos y comunicaciones de red de alto rendimiento.


3. Escenarios de aplicación de RDMA


Los escenarios de aplicación de la tecnología RDMA son muy amplios. A continuación se enumeran algunos de los principales escenarios de aplicación:


* Centro de datos: En un centro de datos, los servidores necesitan transmitir e intercambiar con frecuencia grandes cantidades de datos. El alto rendimiento y la baja latencia de RDMA lo hacen muy adecuado para las comunicaciones de red en centros de datos, lo que puede mejorar la eficiencia de la transmisión de datos, reducir la latencia y mejorar el rendimiento general.


* Computación de alto rendimiento (HPC): El campo de la informática de alto rendimiento requiere procesar grandes cantidades de datos y realizar cálculos complejos. El acceso directo a memoria y la tecnología de copia cero de RDMA pueden reducir la sobrecarga de transmisión de datos y mejorar la eficiencia informática. Al mismo tiempo, RDMA admite el procesamiento paralelo a gran escala y es muy adecuado para la computación paralela multinodo en entornos HPC.


* Sistema de almacenamiento distribuido: En un sistema de almacenamiento distribuido, los nodos necesitan realizar con frecuencia operaciones de lectura y escritura de datos. La transmisión eficiente de datos y las características de acceso directo a memoria de RDMA pueden mejorar la eficiencia de lectura y escritura de datos entre nodos y mejorar el rendimiento general de los sistemas de almacenamiento distribuido.


* Computación en nube: En un entorno de computación en nube, la comunicación y la transmisión de datos entre máquinas virtuales (VM) son requisitos comunes. RDMA puede utilizarse para lograr una comunicación eficiente entre máquinas virtuales y mejorar el rendimiento general del entorno de computación en nube.


En general, aunque RDMA tiene algunas deficiencias y limitaciones, sigue siendo una tecnología de comunicación de red muy eficaz en muchos escenarios de alto rendimiento y baja latencia. A la hora de decidir si utilizar RDMA, es necesario evaluar su aplicabilidad y rendimiento en función de los requisitos y entornos específicos de la aplicación.

联系我们