I'd love to learn more about this. Can you please point me to some links that elaborate on this point with benchmarks? Thanks much.
I'd love to learn more about this. Can you please point me to some links that elaborate on this point with benchmarks? Thanks much.
You can also do a simple math analysis to see it. If you have an incoming 10Gbps connection, a single core machine has approx. 1/3rd of a cycle per bit to do everything it's going to do with that packet. Even going to a 128 core machine and assuming perfect parallelism with some sort of magical packet muxer gives you a whopping 43-ish cycles per bit. I've never worked on this myself, but I saw a team in my company working with it and were pretty pleased to be able to push ~2Gbps through their 10Gbps network connection with a pretty beefy machine, and just about all they were doing was relatively simple load balancing.
https://lwn.net/Articles/629155/ https://lwn.net/Articles/713918/ https://lwn.net/Articles/719850/
The block layer has gone through somewhat similar issues as some storage devices started approaching RAM speeds.