RDMA
Remote Direct Memory Access (RDMA) es una técnica de comunicación que permite transmitir datos desde la memoria de un ordenador a la memoria de otro ordenador sin pasar por la CPU de ninguno de los dos dispositivos, sin necesidad de un almacenamiento en búfer extensivo y sin necesidad de llamar al núcleo de un sistema operativo.
[alert type=»info» icon-size=»small»]RDMA es una respuesta a las crecientes demandas de velocidad de red ya que los datos se pueden transferir más rápido cuando no tienen que pasar a través de la CPU.[/alert]
- Las aplicaciones de RDMA incluyen clustering y almacenamiento y networking para centros de datos.
- Los fabricantes de dispositivos pueden hablar de RDMA como una característica de los componentes que permitirá este tipo de transferencia de datos.
- Los expertos pueden hablar sobre cómo estrategias como RDMA pueden ayudar a hacer que las redes de área local u otros tipos de redes pequeñas sean más rápidas y eficientes.
Ventajas
- Zero-Copy – las aplicaciones pueden realizar la transferencia de datos sin la participación de la pila de software de red y los datos se envían directamente a los búferes sin ser copiados entre las capas de la red.
- Kernel bypass – las aplicaciones pueden realizar la transferencia de datos directamente desde el espacio de usuario sin necesidad de realizar cambios de contexto.
- Sin intervención de la CPU – las aplicaciones pueden acceder a la memoria remota sin consumir ninguna CPU en la máquina remota. La máquina de memoria remota se leerá sin ninguna intervención del proceso (o procesador) remoto. Las cachés de la(s) CPU(s) remota(s) no se llenarán con el contenido de la memoria a la que se ha accedido.
- Transacciones basadas en mensajes – los datos se manejan como mensajes discretos y no como un flujo, lo que elimina la necesidad de la aplicación de separar el flujo en diferentes mensajes/transacciones.
- Soporte para entradas de dispersión/recogida – RDMA soporta el trabajo nativo con múltiples entradas de dispersión/recogida, es decir, la lectura de múltiples búferes de memoria y el envío de los mismos como un solo flujo o la obtención de un solo flujo y su escritura en múltiples búferes de memoria.
Algunas desventajas de RDMA pueden incluir la actualización inconsistente de la información entre los ordenadores en cuestión.