multithread scalability is a well understood, if not easy, problem
As someone fairly well versed in MESI and cache optimization: it really isn't. It's a minority of people that understand it (and really, that need to).
Building your application on top of message passing not only gives away some performance
This really isn't universally true either. If you're optimizing for throughput, pipelining with pinned threads + message passing is usually the way to go if the data model allows for it.
Comments
As someone fairly well versed in MESI and cache optimization: it really isn't. It's a minority of people that understand it (and really, that need to).
This really isn't universally true either. If you're optimizing for throughput, pipelining with pinned threads + message passing is usually the way to go if the data model allows for it.
To be clear, I'm not claiming any universality. Quite the contrary, I'm saying that there is no silver bullet.