MSA: Multiphase Specifically Shared Arrays

PPL Paper Number: 04-10
PPL CVS: msa2004

Authors:
Jayant DeSouza and Laxmikant V. Kale
Parallel Programming Laboratory, Department of Computer Science, University of Illinois at Urbana-Champaign

Proceedings of the 17th International Workshop on Languages and Compilers for Parallel Computing, West Lafayette, Indiana, USA, September 22-25 2004.


Abstract

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.


[PDF] [bibtex] [text reference] [presentation]