Title

LCM: Memory System Support for Parallel Language Implementation

Document Type

Conference Proceeding

Publication Date

11-1-1994

Publication Title

Proceedings of the sixth international conference on Architectural support for programming languages and operating systems (ASPLOS)

Conference or Event

sixth international conference on Architectural support for programming languages and operating systems (ASPLOS)

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**.

pp.

208-218