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.