Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P3
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: core-libs
    • Labels:
      None
    • Subcomponent:
    • CPU:
      generic
    • OS:
      linux

      Description

      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 [1].

      Rsockets (RDMA-sockets) is a protocol over RDMA that supports a socket-level API for applications [2]. 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:
      java.nio.channels.ServerSocketChannel
      public static ServerSocketChannel openRDMAChannel() throws IOException

      java.nio.channels.SocketChannel
      public static SocketChannel openRDMAChannel() throws IOException

      public static SocketChannel openRDMAChannel(SocketAddress remote) throws IOException

      java.nio.channels.spi.SelectorProvider
      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.

      [1] https://en.wikipedia.org/wiki/Remote_direct_memory_access
      [2] https://linux.die.net/man/7/rsocket

      Thank you very much for your help!
      Lucy Lu

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                ylu Yingqi Lu
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: