Lecture Notes

Week 1
1 Dynamic Multithreading (PDF) (Courtesy of Ben Adida and Abhi Shelat. Used with permission.)
Week 2
2 Cilk, Matrix Multiplication, and Sorting (PDF)
3 Serial Performance and Caching (PDF) (Courtesy of Kenneth Barr and Zardosht Kasheff. Used with permission.)
Week 3
4 Determinacy Detection and Race Detection (PDF) (Courtesy of Siddhartha Sen and Jim Sukha. Used with permission.)
5 Consistency of the Memory Sub-System
Week 4
6 Analyzing Space Bounds (PDF) (Courtesy of Jeremy Fineman and Siddhartha Sen. Used with permission.)
Week 5
7 Memory Contention (PDF) (Courtesy of Barbara Mack and C. Scott Ananian. Used with permission.)
8 Cilk Scheduler (PDF) (Courtesy of Barbara Mack and Kevin Matulef. Used with permission.)
Week 6
9 Analysis of Cilk Scheduler (PDF) (Courtesy of Alexandru Caracas and C. Scott Ananian. Used with permission.)
10 Cilk Implementation (PDF)
Week 7
11 Project Presentations 1
Week 8
12 Project Presentations 2
13 Implementation of Memory Consistency (PDF) (Courtesy of Seth Gilbert and Xie Yong. Used with permission.)
Week 9
14 Competitive Snoopy Caching

Snoopy Caching and Spin-Block Problem
Handwritten Notes (PDF)

Week 10

Hypercubic Networks 1
Lecture Slides (PDF)
Handwritten Notes (PDF)

17 Hypercubic Networks 2 (PDF)
Week 11

Hypercubic Networks 3 (PDF) (Courtesy of Sriram Saroop and Wang Junqing. Used with permission.)
Lecture Slides (PDF)

Week 12
19 Squish Routing
20 Permuting Data on Parallel Disks
Handwritten Notes (PDF)
Week 13
21 Sorting and Permuting
Handwritten Notes (PDF)
22 Pick a Winner
Week 14
23 Final Project Presentations
24 Final Project Presentations (cont.)
Week 15
25 Final Project Presentations (cont.)
26 Final Project Presentations (cont.)
Final Papers Due