tic - sockets java examples
Networking con Kernel Bypass en Java (2)
Busque "Java Zero-Copy Buffers" o "Java NIO" o "Java Netty".
Aquí hay una presentación con diapositivas sobre Netty y copia cero: http://www.slideshare.net/danbim/zerocopy-eventdriven-servers-with-netty . Aquí hay un proyecto de ejemplo con Netty.
O puede ir al nivel inferior y usar las clases java.nio.channels , que puede leer aquí http://www.ibm.com/developerworks/linux/library/j-zerocopy/
¿Alguien ha descubierto cómo hacer un puente de Kernel en Java? ¿Algún mundo de hola en algún lado o esto es ciencia de cohetes?
Si está usando solarflare, puede usar su API para hacer un bypass de kernel (no lo estoy usando directamente, por lo que no puedo proporcionar más detalles). También puede usar un producto de mensajería como 29West LBM o IBM LLM, que admiten una amplia funcionalidad en varios equipos.
Como @eSniff mencionó, el JRE tiene la API transferFrom()
/ transferTo()
que ahora se usa para exponer el sendfile(2)
equivalente para los sistemas que lo soportan. La semántica de la API se define para que se pueda implementar de forma transparente para admitir transferencias de DMA entre dos canales.