Rethinking the Networking Stack

about | archive

[ 2006-January-31 14:58 ]

At LinuxConf Australia this year, Van Jacobson presented some of his current work in making the Linux networking stack perform better. The problem is that today, with extremely high-speed networking becoming very cheap, and with multiple cores becoming the norm, we need to parallelize the networking stack in order to move tons of data with very low overhead. Jacobson's solution is to revisit the end-to-end argument and push the work to the network's edge. However, in this case the edge of the network is the application, not the system. The presentation describes how the performance of the networking system can be dramatically improved by giving the application a channel for packets, and letting it do all the protocol work. Their numbers are impressive, and the concept is elegant. This is the kind of research that could probably be published at SIGCOMM or another top quality networking conference. There is a summary of the presentation written by RedHat kernel hacker David S. Miller, which I recommend reading before looking through the slides. I strongly recommend taking a look if you are interested in low-level operating system details.