vSphere 6.5 y versiones posteriores admiten la comunicación de acceso de memoria directo remoto (Remote Direct Memory Access, RDMA) entre máquinas virtuales que tienen adaptadores de red de RDMA paravirtualizado (PVRDMA).
Descripción general de RDMA
RDMA permite el acceso de memoria de la memoria de un equipo a la memoria de otro equipo sin involucrar el 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 tienen 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 un 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.