On Fri 14 Mar 2014 at 02:15:07PM -0400, Gary Trakhman wrote: > "Everything has tradeoffs. One more example was when Martin explained how > he was able to get a 10x performance boost by pinning a JVM to each socket > in a server, then pinning that JVM's memory to the RAM sockets closest to > that CPU socket. Then he carefully setup shared memory message passing via > burning one core on each CPU to monitor the queues, and moving messages > only in the directions directly supported by the Hyper Transport bus. Once > again, that's amazing...once again I've never needed that to ship a > product. " > > This is absolutely fascinating to me. The ability to do this sort of thing > is a tradeoff from using abstractions (threads, OS threads, Java threads) > that closely match or can be massaged to match or 'have sympathy' for the > hardware realities. I think this can get lost when we stray too far.
cf. the C10M project: http://c10m.robertgraham.com/p/blog-page.html tl;dr The kernel gets in the way of extreme hi-throughput, so if that's what you want, don't lean on the kernel to do your packet routing, thread scheduling, etc. guns
pgp0TBkBnDTzD.pgp
Description: PGP signature