CSC 2/458

Parallel and Distributed Systems

Spring 2026

Course Schedule (evolving)

Note:  assigned reading must be completed before class. 
Also: most of the links to readings refer to material whose access is restricted by IP address.  If you’re off campus, you may need to extablish a VPN connection and/or log in before you can do the reading. 

Wed. 21 Jan.
First day of class.
Overview, intro (notes).
Fri. 23 Jan. (“Rochester Monday”)
More overview; the multicore revolution.
To be read before class today: (1) article by Sutter & Larus; (2) chapter 1 of Shared-Memory Synchronization (2e).
Due before class today: assignment 0.
Mon. 26 Jan.
-- snow day --
Wed. 28 Jan.
Threads in C and C++. 
To be read before class today: 
(1) C++11 threading tutorial (e.g., this one—read it carefully)
(2) Lawrence Livermore pthreads tutorial (skim this). 
Also, if you haven’t taken CSC 2/454 at Rochester, read
(3) PLP sections 9.5 & 13.1–13.2.  (If you have taken the course, you might still want to review the material :-) 
Mon. 2 Feb
Snooping cache coherence (notes, diagrams).
To be read before class today:  (1) chapter 2 of Shared-Memory Synchronization (2e) and (2) Section 5.4 of Parallel Computer Organization and Design (1e), by Dubois, Annavaram, and Stenström. 
Due last night: assignment 1.
Wed. 4 Feb.
Coherence and consistency.
Mon. 9 Feb.
Memory models.
To be read before class today:  chapter 3 of Shared-Memory Synchronization (2e).
(Read Sec. 3.4 carefully; skim the rest.)
Wed. 11 Feb.
Safety and liveness (notes).
Read Secs. 3.1–3.4 of SMS carefully.
Mon. 16 Feb.
Safety and liveness (continued)
Wed. 18 Feb.
MPI (notes).
To be skimmed before class today:  MPI tutorial from LLNL.
Due last night: assignment 2.
Mon. 23 Feb.
Message passing (notes).
To be read for class today:  Section 13.5 (Message Passing) of Programming Language Pragmatics
Wed. 25 Feb.
Speedup (notes).
To be read before class today:  (1) Gustafson (scaled speedup) and (2) Karp & Flatt (serial fraction).
Mon. 2 Mar.
Spin locks (notes, slides).
To be read before class today:  chapter 4 of Shared Memory Synchronization
Wed. 4 Mar.
Busy-wait condition synchronization.
To be read before class today:  chapter 5 of Shared Memory Synchronization
and Lock Cohorting, by Dice, Marathe, and Shavit.
(If curious for more details, see the longer journal version.)
Due 5 pm Friday: assignment 3.
-- spring break --
Mon. 16 Mar.
Reader-mostly synchronization.
To be read before class today:  chapter 6 of Shared Memory Synchronization.
Wed. 18 Mar.
Due 5 pm Friday: proposal for end-of-semester project.
Mon. 23 Mar.
Wed. 25 Mar.
Mon. 30 Mar.
Wed. 1 Apr.
Mon. 6 Apr.
Wed. 8 Apr.
Mon. 13 Apr.
Wed. 15 Apr.
Mon. 20 Apr.
Wed. 22 Apr.
Mon. 27 Apr.
Wed. 29 Apr.

Back to the course home page                     Last Change: 05 March 2026