adding rsockets support into JDK

Paul Sandoz paul.sandoz at oracle.com
Thu Mar 8 16:55:49 UTC 2018


Hi Lucy,

The separation is the key thing. Then i presume it’s easier to decide to keep in the java.base module, put in the jdk.net <http://jdk.net/> module, or even it’s own module. Did you consider the latter option? (Note I am not an expect in the specifics of this area so others are likely to have more informed advice on the specifics.)

Also may i suggest you consider submitting a JEP for this work (cannot recall if we discussed that before). It looks like there is sufficient work to justify a JEP and it gives good documentation/visibility for the feature. 

Paul.

> On Mar 7, 2018, at 11:14 AM, Lu, Yingqi <yingqi.lu at intel.com> 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/~vdeshpande/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 <http://jdk.net/> module. Currently, we are getting close on RdmaSocket and RdmaServerSocket (equivalent to Socket and ServerSocket from java.net <http://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,
> Lucy
>  
>  
> From: Paul Sandoz [mailto:paul.sandoz at oracle.com <mailto:paul.sandoz at oracle.com>] 
> Sent: Wednesday, January 17, 2018 8:54 AM
> To: Alan Bateman <Alan.Bateman at oracle.com <mailto:Alan.Bateman at oracle.com>>
> Cc: Lu, Yingqi <yingqi.lu at intel.com <mailto:yingqi.lu at intel.com>>; nio-dev at openjdk.java.net <mailto:nio-dev at openjdk.java.net>
> Subject: Re: adding rsockets support into JDK
>  
>  
> 
> 
> On 17 Jan 2018, at 03:33, Alan Bateman <Alan.Bateman at oracle.com <mailto:Alan.Bateman at oracle.com>> wrote:
>  
> On 16/01/2018 22:08, Lu, Yingqi wrote:
> 
> :
>  
> 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;
>  
> Hi Lucy,
> 
> This sounds like a good project
>  
> Agreed, and i think an important in cloud-like infrastructure environments.
>  
> Lucy, do you know if RDMA supports SSL or something equivalent?
>  
> 
> 
> but it will need discussion on how to integrate into the APIs. It might better to start out with factory methods on a JDK-specific class in the jdk.net <http://jdk.net/> example. Alternatively, we could look at slotting it in as a new protocol family implementation along the lines of the DatagramChannel.open(ProtocolFamily) method.
> 
>  
> Peeling the open methods and consolidating into a separate specific RDMA class or classes is i think better than spreading around the existing nio classes.
>  
> It’s hard to provide more concrete guidance without a webrev, looking forward to that.
>  
> Paul.
> <Diagram.pptx>

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


More information about the nio-dev mailing list