Message Passing or Shared Memory: Evaluating the Delegation Abstraction for Multicores.February 2013
Even for small multi-core systems, it has become harder and harder to support a simple shared memory abstraction: processors access some memory regions more quickly than others, a phenomenon called non-uniform memory access (NUMA). These trends have prompted re- searchers to investigate alternative programming abstractions based on message passing rather than cache-coherent shared memory. To advance a pragmatic understanding of these models’ strengths and weaknesses, we have explored a range of different message passing and shared mem- ory designs, for a variety of concurrent data structures, running on dif- ferent multicore architectures. Our goal was to evaluate which combina- tions perform best, and where simple software or hardware optimizations might have the most impact. We observe that different approaches per- form best in different circumstances, and that the communication over- head of message passing can often outweigh its benefits. Nonetheless, we discuss ways in which this balance may shift in the future. Overall, we conclude that, by emphasizing high-level shared data abstractions, software should be designed to be largely independent of the choice of low-level communication mechanism.
Authors: Irina Calciu, Dave Dice, Tim Harris, Maurice Herlihy, Alex Kogan, Virendra J. Marathe, Mark Moir
Venue: OPODIS 2013:83-97