Remote direct memory access
# Remote direct memory access

En computación, remote direct memory access (RDMA) o su traducción al castellano acceso remoto directo a memoria consiste en el acceso directo desde la memoria principal de un ordenador en la de otro sin cooperación del sistema operativo. Esto permite la realización de sistemas de alto rendimiento así como comunicaciones de baja-latencia lo cual es muy importante en sistemas MPP.

## Resumen

RDMA soporta comunicaciones zero-copy permitiendo al adaptador de red transferir datos a otra memoria sin necesidad de la intervención del sistema operativo. Esto reduce la latencia de procesamiento, además se elimina la necesidad de los cambios de contexto entre modo administrador y modo usuario del kernel. Eliminando la necesidad de la intervención del sistema operativo se permite la realización de tareas paralelas mientras se está realizando una transferencia de datos.

El hecho de la transferencia paralela puede ser un problema dado que el receptor no será notificado de la finalización de la transferencia (comunicación en un sentido).

## Aceptación

Con respecto a otros sistemas de interconexión para sistemas de alto rendimiento (HPC), RDMA no ha conseguido una aceptación muy amplia debido a la necesidad de una infraestructura de red específica. Sin embargo, están surgiendo nuevos estándares que permitirán RDMA sobre Ethernet utilizando TCP/ IP como capa de transporte de manera que se combinarán por un lado el bajo costo de Ethernet y la infraestructura TCP/IP con la baja latencia y productividad de RDMA. El consorcio RDMA junto con DAT ha jugado un papel clave en el desarrollo de los protocolos RDMA así como en la especificación de la API aprobados por la Internet Engineering Task Force.

Los fabricantes de hardware han empezado a trabajar en redes basadas en RDMA de alta capacidad, con tasas de transferencia de hasta 40Gbit/s. Por otro lado, los fabricantes de software como Red Hat y Oracle Corporation han añadido soporte para la API RDMA en las últimas versiones de sus productos y han empezado el desarrollo de adaptadores de red con la implementación RDMA sobre Ethernet. Tanto Red Hat Enterprise Linux como Red Hat Enterprise MRG tienen soporte para RDMA. Microsoft por otro lado en la versión Windows Server 2012 ha añadido soporte para RDMA.

Las implementaciones de RDMA incluyen normalmente Virtual Interface Architecture, RDMA over Converged Ethernet (RoCE), InfiniBand, y iWARP.

