MSA: Multiphase Specifically Shared Arrays
Workshop on Languages and Compilers for Parallel Computing (LCPC) 2004
Publication Type: Paper
Repository URL: msa2004
Shared address space (SAS) parallel programming models have faced difficulty scaling to large number of processors. Further, although in some cases SAS programs are easier to develop, in other cases they face difficulties due to a large number of race conditions. We contend that a multi-paradigm programming model comprising a distributedmemory model with a disciplined form of shared-memory programming constitutes a "complete" and powerful parallel programming system. Optimized cache coherence mechanisms based on the specific access pattern of a shared variable show significant performance benefits over general DSM coherence protocols. We present MSA, a system that supports such specifically shared arrays that can be shared in read-only, write-many, and accumulate modes. These simple modes scale well and are general enough to capture the majority of shared memory access patterns. MSA does not support a general read-write access mode. MSA coexists with the message-passing paradigm (MPI) and the processor virtualization based message-driven paradigm(Charm++). We present the model, its implementation, programming examples and preliminary performance results.
Jayant DeSouza and Laxmikant V. Kale, "MSA: Multiphase Specifically Shared Arrays", Proceedings of the 17th International Workshop on Languages and Compilers for Parallel Computing, West Lafayette, Indiana, USA, September, 2004.