|
|
|
|
|
by rbehrends
4920 days ago
|
|
That doesn't obviate the original point. Message passing is generally slower, even though shared memory mechanisms cannot scale indefinitely. But there are many problems where you cannot afford to pass on the performance gain from shared memory up to that point, even if you have to tie your nodes together using a message passing architecture afterwards. Also, advances have been made in manycore shared memory systems. The Cray XE6 (the hardware behind, e.g. HECToR [1]) has a hardware accelerated global address space with remote direct memory access that allows PGAS [2] to outperform MPI [3]. By the way, system wide locks are a red herring. At these scales, you avoid global data as much as you can, regardless of what your programming model is. [1] http://www.hector.ac.uk/
[2] http://en.wikipedia.org/wiki/Partitioned_global_address_spac...
[3] http://upc.lbl.gov/publications/pmbs11.pdf |
|
The comment about global locks was intended to be silly, because comparing locks to message passing without talking about what you're doing with them is also silly.
The linked paper compares MPI message passing to an alternative hardware-accelerated message passing, which is interesting, but the choice of micro-benchmarks is not very exciting. To be clear, while the GP was really comparing the actor model (private memory + message passing) against the shared memory + locks model, I was only responding to the parent comment, and when I think "message passing" I don't automatically think "private memory".