Concurrent constraint-based memory machines: a framework for java memory models (summary)

  • Authors:
  • Vijay Saraswat

  • Affiliations:
  • IBM T.J.Watson Research Lab, Yorktown Heights, NY

  • Venue:
  • ASIAN'04 Proceedings of the 9th Asian Computing Science conference on Advances in Computer Science: dedicated to Jean-Louis Lassez on the Occasion of His 5th Cycle Birthday
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

A central problem in extending the von Neumann architecture to petaflop computers with a shared memory and millions of hardware threads is defining the memory model [1, 2, 3]. Such a model must specify the behavior of concurrent (conditional) reads and writes to the same memory locations. We present a simple, general framework for the specification of memory models based on an abstract machine that uses sets of order and value constraints to communicate between threads and main memory. Memory is permitted to specify exactly those linkings (mappings from read events to write events) which result in a unique solution for the constraints, and hence forces a unique patterns of bits to flow from writes to reads. We show that this single principle accounts for almost all the “causality test cases” proposed for the java memory model. It may be used as the basis for developing a formal memory model for the java programming language. An implementation of CCMs in a Prolog-based constraint language has been developed by Tom Schrijvers and Bart Demoen [4]. This paper is a summary of [5].