Title

LCM: Memory System Support for Parallel Language Implementation

Document Type

Article

Publication Date

11-1-1994

Publication Title

ACM SIGPLAN Notices

Department

Mathematics and Computer Science

Abstract

Higher-level parallel programming languages can be difficult to implement efficiently on parallel machines. This paper shows how a flexible, compiler-controlled memory system can help achieve good performance for language constructs that previously appeared too costly to be practical.Our compiler-controlled memory system is called Loosely Coherent Memory (LCM). It is an example of a larger class of Reconcilable Shared Memory (RSM) systems, which generalize the replication and merge policies of cache-coherent shared-memory. RSM protocols differ in the action taken by a processor in response to arequestfor a location and the way in which a processorreconcilesmultiple outstanding copies of a location. LCM memory becomes temporarily inconsistent to implement the semantics of C** parallel functions efficiently. RSM provides a compiler with control over memory-system policies, which it can use to implement a language's semantics, improve performance, or detect errors. We illustrate the first two points with LCM and our compiler for the data-parallel language C**.

Volume

29

Issue

11

pp.

208-218

ISSN

0362-1340