CSE590P: Programming Systems Seminar

Wednesdays 3:30-4:20 in EEB 026

This quarter, 590P will study relaxed models of shared-memory consistency from the perspective of high-level programming languages and compilers. The primary organizers are Dan Grossman and Luis Ceze. This is an important, subtle, and technical topic that has been intensely studied from the hardware side but has been less appreciated by many compiler-writers and language-designers. We aim to help fix that, and in particular gain the background necessary to answer pressing research questions such as how transactional memory (in hardware or software) interacts with memory consistency.

While the seminar will follow the conventional 590P approach of having a couple students present each week's paper(s) and lead a discussion, this topic will require an above-normal level of careful reading in advance of the seminar by everyone. The order of the papers was chosen carefully; later papers often build on the work in earlier papers.

That said, no prior knowledge of memory models is assumed, and we expect the topic will be of broad interest across the range of programming languages, compilers, architecture, and parallel programming.

Date Paper(s) Presenters
Jan 9 No meeting; POPL.
Jan 16 Introduction and Organization of Seminar Dan, Luis
Jan 23 Shared Memory Consistency Models: A Tutorial, Sarita V. Adve, Kourosh Gharachorloo, 1995.
Intel 64 Architecture Memory Ordering White Paper, 2007.
Brian, Joe
Jan 30 Efficient and Correct Execution of Parallel Programs that Share Memory, Dennis Shasha, Marc Snir, 1988. Jon, Stephen
Feb 6 Issues in the Compile-Time Optimization of Parallel Programs, Samuel P. Midkiff, David Padua, 1990. (Citeseer has a different paper, or the same one formatted differently?) Matt, Jacob
Feb 13 The Java Memory Model, Jeremy Manson, William Pugh, Sarita Adve, 2005.
For related material, the conference version, etc., see http://www.cs.umd.edu/~pugh/java/memoryModel/
Ben Y., Tayfun, Marius
Feb 20 Threads Cannot be Implemented as a Library, Hans Boehm, 2005
Reordering Constraints for Pthread-Style Locks, Hans Boehm, 2007
Laura, Jakob, Anna
Feb 27 Towards a Lock-based Semantics for Java STM, Vijay Menon, Steve Balensiefer, Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Richard L. Hudson, Bratin Saha, Adam Welc, 2007.
What Do High-Level Memory Models Mean for Transactions?, Dan Grossman, Jeremy Manson, William Pugh, 2006.
Aaron, Steve
Mar 5 CheckFence: checking consistency of concurrent data types on relaxed memory models, Sebastian Burckhardt, Rajeev Alur, Milo M. K. Martin, 2007.
Automatic Implementation of Programming Language Consistency Models, Zehra Sura, Chi-Leung Wong, Xing Fang, Jaejin Lee, Samuel P. Midkiff, David Padua, 2002.
Jonathan, Sam
Mar 12 BulkSC: Bulk Enforcement of Sequential Consistency, Luis Ceze, James Tuck, Pablo Montesinos, and Josep Torrellas, 2007.
Brainstorming on compiler support for and interactions with memory models, transactions, etc.
Brandon, Ben L.