Check CTools for lecture notes and for submitting your reviews and programming assignment.

You need to review and submit your reviews before 11:59pm on the day before the lecture for which the review is assigned to. You are also expected to read the papers marked as "Read", but you do not have to submit a review

Check reviews page to find out about how to write a review.


Sep 9th Course Overview
Read: The Future of Microprocessors
Skim: The Landscape of Parallel Computing Research: A View from Berkeley

Sep 14th Parallel Programming Introduction
Read: Software and the Concurrency Revolution
Ref: Introduction to Parallel Computing
Ref: POSIX Thread Programming
Ref: MPI Tutorial

Sep 16th Parallel Programming for Performance
Sep 18th Discussion on Programming Assignment
Sep 21st Cache Coherence I
Read: P. Stenstrom. "A Survey of Cache Coherence Schemes for Multiprocessors". IEEE Computer, 1990.

Read: D. Lenoski at al. "The Directory-Based Cache Coherence Protocol for the DASH Multiprocessors". ISCA 1990.

Ref: A. Gupta et al. "Reducing Memory and Traffic Requirements for Scalable Directory-Based Cache Coherence Schemes". ICPP 1990.

Sep 23rd Cache Coherence II
Review: Martin, Hill and Wood "Token Coherence: A New Framework for Shared-Memory Multiprocessors". IEEE Micro, 2003.

Ref: Martin, Hill and Wood Token coherence: decoupling performance and correctness ISCA 2003.

Sep 28th Cache Coherence/CMP Cache Design
Review: Marty and Hill "Virtual Hierarchies". IEEE Micro, 2008.

Read: Zhang and Asanovic "Victim Replication: Maximizing Capacity while Hiding Wire Delay in Tiled Chip Multiprocessors". ISCA, 2005.

Sep 30 Memory Consistency Models -- Basics
Review: Adve and Gharachorloo Shared Memory Consistency Models: A Tutorial WRL Research Report 95/7, 1995.

Oct 5th Memory Consistency Models II -- Architectural Issues
Review: Blundell, Martin and Wenisch InvisiFence: performance-transparent memory ordering in conventional multiprocessors. ISCA 2009

Oct 7th Memory Consistency Models III -- Compiler and Languages
Review: Boehm and Adve Foundations of the C++ Concurrency Memory Model PLDI 2008

Listen: Adve Memory Models: The Case for Rethinking Parallel Languages and Hardware. Lecture

Oct 12th Synchronization
Read: John M. Mellor-Crummey, Michael L. Scott. Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors. ACM Trans. Comput. Syst. 1991

Oct 16th Synchronization II
Review: Chapters 1 and 2. Pages 1-48. Larus and Rajwar. Transactional Memory. Synthesis Lectures on Computer Architecture. 2007.

Oct 21st Midterm I

Oct 28th Transactional Memory I

Oct 30th Transactional Memory II
Review: Peter Damron, Alexandra Fedorova, Yossi Lev, Victor Luchangco, Mark Moir, Daniel Nussbaum. Hybrid transactional memory

Nov 2nd Interconnection Network I

Nov 4th Interconnection Network II
Read (no review): Sections 2.1 and 2.2 On-Chip Networks for Multicore Systems Li-Shiuan Peh, Stephen W. Keckler and Sriram Vangal. In Book: Multicore Processors and Systems, Editors: Steve Keckler, Kunle Olukotun and Peter Hofstee, Springer, Sep.2009.

Nov 9th Interconnection Network III : Case Studies
Review: Sections 2.3 to and 2.6 On-Chip Networks for Multicore Systems Li-Shiuan Peh, Stephen W. Keckler and Sriram Vangal

Nov 11th Interconnection Network IV
Review: A Delay Model and Speculative Architecture for Pipelined RoutersPeh and Dally. IEEE Micro. 2001.

Nov 16th Project Presentation

Nov 18th Thread Level Speculation
Sohi et al. Multiscalar Processors. ISCA 1995.

Nov 23rd Evaluation Methods

Nov 25th Midterm II

Nov 30th Fault Tolerance, Isolation

Dec 2nd Architectural Support for Programmability

Dec 7th, 9th, 11th Project Presentations

X Candidates for discussion

Cliff Click (Azul) "Java on a 1000 Cores - Tales of Hardware / Software CoDesign". Google TechTalk

Yu and Narayanasamy A Case for Interleaving Constrained Shared-Memory Multi-Processor. ISCA 2009

Hammond et al The Stanford Hydra CMP IEEE Micro 2000.

Herlihy and Moss Transactional Memory: Architectural Support for Lock-Free Data Structures. ISCA 1993

Intel Larrabee: A Many-Core x86 Architecture for Visual Computing Siggraph 2008.