adding rsockets support into JDK

Alan Bateman Alan.Bateman at oracle.com
Thu Mar 8 08:20:29 UTC 2018


On 07/03/2018 19:14, Lu, Yingqi wrote:
>
> Hi Alan and Paul,
>
> The first draft of the patch is available at 
> http://cr.openjdk.java.net/~vdeshpande/RDMA/webrev.00 
> <http://cr.openjdk.java.net/%7Evdeshpande/RDMA/webrev.00>. This 
> version is based on our previous proposal. Here, we only enabled 
> rsocket inside nio package on SocketChannel and ServerSocketChannel. 
> We would like to share this and give you a quick view the feature itself J
>
> Based on your feedback, we are reconstructing the implementation. We 
> isolate all RDMA-related implementations and put them into jdk.net 
> module. Currently, we are getting close on RdmaSocket and 
> RdmaServerSocket (equivalent to Socket and ServerSocket from java.net 
> package). Before we continue on DatagramSocket and all the 
> SocketChannels (nio package), we would like to get some feedback from 
> you. Attached is a high level diagram on all the newly introduced 
> classes. Please let us know if this is a proper way to implement the 
> feature.
>
>
Thanks for the initial webrev, it gives folks here an idea on where this 
is going.

I think a big question will be whether RDMA sockets can be multiplexed 
with epoll. I see you've dusted off the legacy poll based Selector to 
use rpoll and I'm wondering whether the file descriptors need to be 
separated like this. The answer to this has big implications, it make 
potentially impact how asynchronous close of RDMA sockets configured 
blocking is implemented too.

In terms of API then initially exposing this as factory methods in the 
jdk.net module seems right. I also need some refactoring it going to be 
needed to fully support this, along the lines of how NatveDispatcher 
works, we will likely need the same to replace all Net methods.

-Alan.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20180308/61e6b229/attachment.html>


More information about the nio-dev mailing list