3 ms·
There is nothing that user space solutions do that can not be implemented in kernel space. From what I understand, the Linux kernel networking stack is not opti
by diegocg 5y ago
There is nothing that user space solutions do that can not be implemented in kernel space. From what I understand, the Linux kernel networking stack is not optimised to process packets in bulk, which is the only way to deal with high speeds nics https://lwn.net/Articles/629155/ https://lwn.net/Articles/629155/
- uluyol 5y agoTrue, but we have a kernel networking stack with a certain interface and a rich feature set. The kernel cannot break that API. In contrast, a new userspace stack doesn't need to worry about backwards compatibility or supporting every use case. So yes, the kernel can do just as good, but it's harder.
- miltondts 5y agoThis is probably the only way to have fast software in today's hardware. Unfortunately the popular languages are all about single element at a time, and pointer chasing with the compiler having a hard time vectorizing operations and reorganizing data structures. I think most compilers don't/can't even do this because there are not enough guarantees. The only systems that actually do this are DBMSs.
- MaxBarraclough 5y ago> compiler having a hard time vectorizing operations and reorganizing data structures Reminds me of a recent blog post on exactly this topic. Apparently the Jai language might make some progress on this point. • https://blog.royalsloth.eu/posts/the-compiler-will-optimize-that-away/ https://blog.royalsloth.eu/posts/the-compiler-will-optimize-... • Discussion: https://news.ycombinator.com/item?id=27010965 https://news.ycombinator.com/item?id=27010965