JSOR mit Java-TCP-Kommunikation vergleichen (nurLinux )
Das TCP-Protokoll ist vom Betriebssystemkernel abhängig, während das RDMA-Protokoll den Betriebssystemkernel umgeht und die direkte Kommunikation zwischen Java™ -Anwendungen auf verschiedenen RDMA-fähigen Hostsystemen ermöglicht. Aus diesem Grund erfordern RDMA-Netzoperationen weniger Prozessorressourcen und verbessern den Netzdurchsatz.
Die RDMA-Implementierung, die zuvor veraltet war, wurde aus IBM® SDK, Java Technology Edition, Version 8 entfernt.
- Erstellen von Sockets
- Binden an einen Port
- Empfangsbereitschaft an einer herkömmlichen Adresse
- Herstellen einer Verbindung zu einem fernen Host
- Akzeptieren ankommenden Verbindungsanforderungen
- Übertragen von Daten zwischen verbundenen Endpunkten
- Java-Anwendungspuffer zu Java-Socketpuffer
- Java-Socketpuffer zum Socket-Puffer des Betriebssystems
- Socketpuffer des Betriebssystems zum Puffer des Netzschnittstellentreibers
Anders als das TCP-Protokoll ist das RDMA-Protokoll auf einem Hochgeschwindigkeits-Switch-Fabric wie InfiniBand definiert, das vom Betriebssystemkernel unabhängig ist. Stattdessen wird die Netzverarbeitung auf einen dedizierten RDMA-Netzschnittstellenadapter ausgelagert. Das RDMA-Protokoll ermöglicht einer Java-Anwendung auf einem Host, direkt auf den Speicher einer Java-Anwendung auf einem anderen Host zuzugreifen. Diese Funktion ermöglicht die direkte Übertragung von Daten zwischen Java-Anwendungen.

Verglichen mit der TCP-Verarbeitung verwendet RDMA weniger Prozessorressourcen und kann das Hochleistungs-Switch-Fabric nutzen, um den Datendurchsatz zwischen RDMA-fähigen Systemen zu maximieren.