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

Attachment: pgp0TBkBnDTzD.pgp
Description: PGP signature

Reply via email to