The Pensieve project aims at providing programmers a virtualized memory consistency model - i.e. a memory consistency model that is not necessarily the same as that provided by the underlying hardware, and to make it possible for the programmer to specify what that consistency model should be. Moreover, the Pensieve compiler aims to do this while still providing good program performance.

We are developing a compiler infrastructure using the Jikes Research Virtual Machine from IBM. This involves design and implementation of program analyses and transformations.

Further Information


X. Fang. Inserting fences to guarantee sequential consistency. Master's thesis, Department of Computer Science and Engineering, Michigan State University, 2002.

Z. Sura, C.-L. Wong, X. Fang, J. Lee, S. P. Midkiff, and D. Padua, Automatic Implementation of Programming Language Consistency Models, 15th Workshop on Languages and Compilers for Parallel Computing (LCPC), July 2002.

S. Midkiff, J. Lee, and D. Padua. A compiler for multiple memory models. Concurrency, Practice and Experience, 2002. Accepted, to appear

P. Wu, P. Feautrier, D. Padua, and Z. Sura. Instance-wise Points-to Analysis for Loop-based Dependence Testing. Internation Conference on Supercomputing, June 2002.

C.-L. Wong, Z. Sura, X. Fang, J. Lee, S. P. Midkiff, and D. Padua, The Pensieve Project: A Compiler Infrastructure for Memory Models, International Symposium on Parallel Architectures, Algorithms, and Networks (ISPAN), 2002

Lee and Padua, Hiding Relaxed Memory Consistency with a Compiler, IEEE Transaction on Computer, August 2001

Lee, Padua, Midkiff Basic Compilation Techniques for Explicitly Parallel Programs, TOPLAS (submitted)

Lee and Padua, Hiding Relaxed Memory Consistency with Compilers, The IEEE International Conference on Parallel Architectures and Compilation Techniques (PACT 2000), Philadelphia, Pensilvania, pp. 111--122, October 2000

J. Lee, D. Padua, and S. P. Midkiff, Basic Compiler Algorithms for Parallel Programs, The 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 1999), May 1999

Jaejin Lee, Samuel P. Midkiff, and David A. Padua. Concurrent static single assignment form and constant propagation for explicitly parallel programs. The 10th International Workshop on Languages and Compilers for Parallel Computing (LCPC,Lecture Notes in Computer Science 1366, Springer-Verlag), pp 114--130, Twin Cities, Minnesota, August 1997


Principal Investigators

Current Members

  • Xing Fang
  • Zehra Sura
  • Chi-Leung (David) Wong

Pensieve Alumnus

  • Peng Wu

| Home | Intro | Further Info | Publications | Members | Contact Us|

This material is based upon work supported by the National Science
Foundation under Grant No. 0081265.
Any opinions, findings, and conclusions or recommendations expressed in
this material are those of the author(s) and do not necessarily reflect the
views of the National Science Foundation