Networking with Kernel Bypass in Java [closed]

2019-02-13 18:38发布

Has anyone figured it out how to do Kernel bypass in Java? Any hello world somewhere or this is rocket science?

2条回答
爷、活的狠高调
2楼-- · 2019-02-13 19:09

Search for "Java Zero-Copy Buffers" or "Java NIO" or "Java Netty".

Here is a slide show about Netty and zero-copy : http://www.slideshare.net/danbim/zerocopy-eventdriven-servers-with-netty . Here is an example project with Netty.

Or you can go lower level and use the java.nio.channels classes, which you can read about here http://www.ibm.com/developerworks/linux/library/j-zerocopy/

查看更多
Luminary・发光体
3楼-- · 2019-02-13 19:27

If you are using solarflare, you can use their API to do kernel bypass (I am not using it directly, so can't provide more details). You can also use a messaging broduct like 29West LBM or IBM LLM which support rich functionality over various hardware.

As @eSniff mentioned, the JRE has transferFrom() / transferTo() API which right now is used to expose the sendfile(2) equivalent for the systems that support it. The semantics of the API is defined so it can be transparently implemented to support DMA transfers between any 2 channels.

查看更多
登录 后发表回答