adding rsockets support into JDK
yingqi.lu at intel.com
Tue Jan 16 22:08:37 UTC 2018
I have created a JBS to propose adding rsockets support into JDK so that all Java based applications can take advantage of RDMA (Remote Direct Memory Access).
JBS link: https://bugs.openjdk.java.net/browse/JDK-8195160
Details are copied below as well for reference. We will be submitting a patch for community review soon. At the meantime, please let us know your feedback and comments.
Details on JBS:
In computing, RDMA (Remote Direct Memory Access) is a direct memory access from the memory of one computer into that of another. This permits high-throughput, low-latency networking, which is especially useful in massively parallel computer clusters .
Rsockets (RDMA-sockets) is a protocol over RDMA that supports a socket-level API for applications . In addition, rsockets has been enabled for both TCP sockets and UDP sockets. All the necessary support from Linux kernel has been upstreamed years ago.
We are proposing introducing rsockets support into JDK so that all Java based applications can take advantage of RDMA. Performance-wise, from our preliminary data, we observe up to 35% better write throughput with HDFS (Hadoop Distributed File System, the file system underneath Apache Hadoop, Apache Spark and Apache HBase) when rsockets are used comparing to regular TCP sockets.
The proposed API changes are:
public static ServerSocketChannel openRDMAChannel() throws IOException
public static SocketChannel openRDMAChannel() throws IOException
public static SocketChannel openRDMAChannel(SocketAddress remote) throws IOException
public abstract SocketChannel openRDMAChannel() throws IOException;
public abstract ServerSocketChannel openRDMAChannel() throws IOException;
We will be submitting a patch for review soon. At the meantime, please let us know your feedback and comments.
Thank you very much for your help!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the nio-dev