Comparing JSOR with Java TCP communications (Linux only)
The TCP protocol is dependent on the operating system kernel, whereas the RDMA protocol bypasses the operating system kernel, enabling direct communication between Java™ applications on different RDMA-enabled host systems. Therefore, RDMA network operations require less processor resources and improve network throughput.


- Creating sockets
- Binding to a port
- Listening on a well-known address
- Connecting to a remote host
- Accepting incoming connection requests
- Transferring data between connected end points
- Java application buffer to Java socket buffer
- Java socket buffer to operating system socket buffer
- Operating system socket buffer to network interface driver buffer
Unlike the TCP protocol, the RDMA protocol is defined on top of high speed switch fabrics, like InfiniBand, which is independent of the operating system kernel. Instead, network processing is offloaded to a dedicated RDMA network interface adapter. The RDMA protocol allows a Java application on one host to directly access the memory of a Java application on a different host. This capability enables the direct transfer of data between Java applications.

Compared with TCP processing, RDMA uses less processor resources and can take advantage of high performance switch fabric to maximize data throughput between RDMA-enabled systems.