O vSphere 6.5 e as versões posteriores oferecem suporte à comunicação de acesso remoto direto à memória (RDMA) entre máquinas virtuais que têm adaptadores de rede RDMA (PVRDMA) paravirtualizados.
Visão geral do RDMA
O RDMA permite acesso direto à memória da memória de um computador para a memória de outro computador sem envolver o sistema operacional ou a CPU. A transferência de memória é descarregada para os adaptadores de canal de host (HCA) compatíveis com RDMA. Um adaptador de rede PVRDMA fornece acesso remoto direto à memória em um ambiente virtual.
Usando RDMA no vSphere
No vSphere, uma máquina virtual pode usar um adaptador de rede PVRDMA para se comunicar com outras máquinas virtuais que tenham dispositivos PVRDMA. As máquinas virtuais devem estar conectadas ao mesmo vSphere Distributed Switch.
O dispositivo PVRDMA seleciona automaticamente o método de comunicação entre as máquinas virtuais. Para máquinas virtuais que são executadas no mesmo host ESXi com ou sem um dispositivo RDMA físico, a transferência de dados é um memcpy entre as duas máquinas virtuais. O hardware RDMA físico não é usado neste caso.
Para máquinas virtuais que residem em hosts ESXi diferentes e que têm uma conexão RDMA física, os dispositivos RDMA físicos devem ser uplinks no switch distribuído. Nesse caso, a comunicação entre as máquinas virtuais por meio de PVRDMA usa os dispositivos RDMA físicos subjacentes.
Para duas máquinas virtuais que são executadas em hosts ESXi diferentes, quando pelo menos um dos hosts não tem um dispositivo RDMA físico, a comunicação retorna para um canal baseado em TCP e o desempenho é reduzido.