vSphere 6.5 und höher unterstützt die Kommunikation über RDMA (Remote Direct Memory Access, Remote-Direktzugriff auf den Speicher) zwischen virtuellen Maschinen mit paravirtualisierten RDMA-Netzwerkadaptern (PVRDMA).
Übersicht über RDMA
RDMA ermöglicht ohne Hinzuziehung des Betriebssystems oder der CPU den direkten Zugriff auf den Speicher eines Computers vom Speicher eines anderen Computers aus. Die Übertragung des Speichers wird auf den RDMA-fähigen Hostkanaladapter (HCA) ausgelagert. Ein PVRDMA-Netzwerkadapter bietet den Remote-Direktzugriff auf den Speicher in einer virtuellen Umgebung.
Verwenden von PVRDMA in vSphere
In vSphere kann eine virtuelle Maschine einen PVRDMA-Netzwerkadapter zum Kommunizieren mit anderen virtuellen Maschinen mit PVRDMA-Geräten verwenden. Die virtuellen Maschinen müssen mit demselben vSphere Distributed Switch verbunden sein.
Das PVRDMA-Gerät wählt automatisch die Kommunikationsmethode zwischen den virtuellen Maschinen. Bei virtuellen Maschinen, die auf demselben ESXi-Host mit oder ohne physisches RDMA-Gerät ausgeführt werden, handelt es sich bei der Datenübertragung zwischen den beiden virtuellen Maschinen um die Ausführung der memcpy-Funktion. In diesem Fall wird die physische RDMA-Hardware nicht verwendet.
Bei virtuellen Maschinen, die sich auf unterschiedlichen ESXi-Hosts mit einer physischen RDMA-Verbindung befinden, müssen die physischen RDMA-Geräte Uplinks auf dem Distributed Switch sein. In diesem Fall werden für die Kommunikation zwischen den virtuellen Maschinen über PVRDMA die zugrunde liegenden physischen RDMA-Geräte verwendet.
Bei zwei virtuellen Maschinen, die auf unterschiedlichen ESXi-Hosts ausgeführt werden, wird für die Kommunikation ein TCP-basierter Kanal verwendet, was die Leistung beeinträchtigt, wenn mindestens einer der Hosts nicht über ein physisches RDMA-Gerät verfügt.