3 ms·
I watched the short introduction video [1], where they say that to get the fastest throughput, you need to pull up everything from the kernel and into user spac
by bajsejohannes 12y ago
I watched the short introduction video [1], where they say that to get the fastest throughput, you need to pull up everything from the kernel and into user space. This is what they are doing with the network drivers. Won't you still need to talk to the kernel when you actually want to read/write from the network? Or is part of this that you take complete control of the NIC?
[1] Look for snabb switch here: https://cast.switch.ch/vod/channels/2i5k459xe3 https://cast.switch.ch/vod/channels/2i5k459xe3
- justincormack 12y agoNo you talk to the NIC directly, not via the OS. There is also a podcast here http://blog.ipspace.net/2014/06/snabb-switch-and-nfv-on-openstack-in.html http://blog.ipspace.net/2014/06/snabb-switch-and-nfv-on-open...
- corysama 12y ago(Disclaimer: All I know of Snabb is from reading the web site and a few discussion group posts) Because Snabb is specialized around a few specific NICs and virtual IO interfaces with specific features, it is able to do things like set up the network hardware to be memory mapped. As in, after some setup, Snabb can bang on the bits of a specific memory range and that will change bits in the network card state without the OS or even the driver being involved. This means you are not calling send() or select(), you are dealing directly with the Intel NIC hardware interface. It sounds a lot more like game console engine programming than node.js programming. As a game console engine programmer, that's pretty interesting to me :)