vSphere 6.5 y versiones posteriores admiten la comunicación de acceso directo a memoria remota (Remote Direct Memory Access, RDMA) entre máquinas virtuales que tengan adaptadores de red de RDMA paravirtualizada (Paravirtualized RDMA, PVRDMA).
Descripción general de RDMA
RDMA permite el acceso directo a memoria desde la memoria de un equipo a la memoria de otro equipo sin involucrar al sistema operativo ni la CPU. La transferencia de memoria se descarga en los adaptadores de canal de host (HCA) compatibles con RDMA. Un adaptador de red de PVRDMA proporciona acceso de memoria directo remoto en un entorno virtual.
Usar RDMA en vSphere
En vSphere, una máquina virtual puede usar un adaptador de red de PVRDMA para comunicarse con otras máquinas virtuales que tengan dispositivos de PVRDMA. Dichas máquinas virtuales deben estar conectadas a la misma instancia de vSphere Distributed Switch.
El dispositivo de PVRDMA selecciona automáticamente el método de comunicación entre las máquinas virtuales. Para las máquinas virtuales que se ejecutan en el mismo host ESXi con o sin un dispositivo de RDMA físico, la transferencia de datos es una acción de memcpy entre las dos máquinas virtuales. El hardware de RDMA físico no se usa en este caso.
Para las máquinas virtuales que residen en diferentes hosts ESXi y que tienen conexión de RDMA física, los dispositivos de RDMA físicos deben tener vínculos superiores en el conmutador distribuido. En este caso, la comunicación entre las máquinas virtuales mediante PVRDMA usa los dispositivos de RDMA físicos subyacentes.
Para dos máquinas virtuales que se ejecutan en diferentes hosts ESXi, cuando al menos uno de los hosts no tiene un dispositivo de RDMA físico, la comunicación recae en un canal basado en TCP y el rendimiento se reduce.