CS 258 Parallel Processors
University of California, Berkeley
Dept. of Electrical Engineering and Computer Sciences
Prof. David E. Culler Schedule Lecture Slides Assignments Projects News Group
Spring 1999

Course Information


Parallel Computer Architecture: 
a Hardware/Software Approach 
David E. Culler, University of California, Berkeley;  
Jaswinder Pal Singh, Princeton University;  
with Anoop Gupta, Stanford University  

Morgan Kaufmann Publishers


Course Description:

This course provides an in-depth study of the design, engineering, and evaluation of modern  parallel computers.  It begins with an overview of the field focusing on the convergence of many diverse architectural approaches around the communication architecture. It extracts fundamental design issues: naming, replication, synchronization, latency, overhead, and bandwidth and explores these across the spectrum of modern machines.  A sound basis is built up in workload-driven evaluation, with a brief overview of parallel programming.  It studies small-scale shared memory multiprocessors in some detail to lay a groundwork for understanding large-scale designs.  It then examines scalable multiprocessors throughly, including realizing programming models via network transactions, directory-based cache coherence, interconnection network design, software-based virtual shared memory, COMA techniques, and latency tolerance through multithreading and other means. Lectures will be interactive, drawing on readings from a new text - Parallel Computer Architecture:
a Hardware/Software Approach - augmented by select papers and guest lectures.  There will be roughly seven written assignments and some experience with real machines to secure understanding of the material. There will be a term project consisting of a conference-paper scale research study.

Schedule (here)


Project Groups

Lecture Slides

Sequential Consistency Weaker Models
Philip, Andy, Shankar, Mehul David, Jason, Sharad, Noah