@inproceedings{b283de10df1240028cf02e20202c2d8b,
title = "The Pensieve project: A compiler infrastructure for memory models",
abstract = "The design of memory consistency models for both hardware and software is a difficult task. It is particularly difficult for a programming language because the target audience is much wider than the target audience for a machine language, making usability a more important criterion. Adding to this problem is the fact that the programming language community has little experience with designing programming language consistency models, and therefore each new attempt is very much a voyage into uncharted territory. A concrete example of the difficulties of the task is the current Java memory model. Although designed to be easy to use by Java programmers, it is poorly understood, and at least one common idiom (the {"}double-check idiom{"}) to exploit the model is unsafe. In this paper, we describe the design of an optimizing Java compiler that accepts, as either input or as an interface implementation, a consistency model for the code to be compiled. The compiler uses escape analysis, D. Shasha and M. Snir's (1988) delay set analysis, and our own CSSA (concurrent static single assignment) program representation to normalize the effects of different consistency models on optimizations and analysis. The compiler is intended to serve as a testbed to prototype new memory models and to measure the differences between different memory models in terms of program performance.",
keywords = "Computer languages, Concrete, Delay effects, Design optimization, Hardware, Java, Optimizing compilers, Program processors, Programming profession, Usability",
author = "Wong, {Chi Leung} and Zehra Sura and Xing Fang and Midkiff, {S. P.} and Jaejin Lee and D. Padua",
note = "Publisher Copyright: {\textcopyright} 2002 IEEE.; International Symposium on Parallel Architectures, Algorithms and Networks, I-SPAN 2002 ; Conference date: 22-05-2002 Through 24-05-2002",
year = "2002",
doi = "10.1109/ISPAN.2002.1004288",
language = "English (US)",
series = "Proceedings of the International Symposium on Parallel Architectures, Algorithms and Networks, I-SPAN",
publisher = "IEEE Computer Society",
pages = "239--244",
editor = "Hsu, {D. Frank} and Saldana, {Rafael P.} and Ibarra, {Oscar H.}",
booktitle = "Proceedings - International Symposium on Parallel Architectures, Algorithms and Networks, I-SPAN 2002",
}