MSA: Multiphase Specifically Shared Arrays

Workshop on Languages and Compilers for Parallel Computing (LCPC) 2004
Pulication Type: Paper
Download: pdf ps

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.

Text Ref

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.

BibTex

@InProceedings{desouza04:_msa,
  author = 	 {Jayant DeSouza and Laxmikant V. Kal\'e},
  title = 	 {{MSA}: Multiphase Specifically Shared Arrays},
  booktitle =	 {Proceedings of the 17th International Workshop on Languages and Compilers for Parallel Computing},
  year =	 2004,
  address =	 {West Lafayette, Indiana, USA},
  month =	 {September},
  annote =	 {http://www.ecn.purdue.edu/lcpc2004}
}