Slides will be uploaded the day after class
Unless explicitly mentioned, Readings will refer to The Art of Multiprocessor Programming, available online from the library
Module 1: Introduction, Background and ILP
| Date | Topic | Slides | Readings |
|---|---|---|---|
| Tues, March 30 | Welcome! | slides | Overview page |
| Thurs, April 1 | Arch and Compiler Background 1 | slides | Appendix B |
| Tues, April 6 | Arch and Compiler Background 2 | slides | Appendix B |
| Thurs, April 8 | Instruction Level Parallelism and C++ threads | slides | Class Slides |
Module 2: Mutual Exclusion
| Date | Topic | Slides | Readings |
|---|---|---|---|
| Tues, April 13 | Principles of Mutual Exclusion | slides | Chapter 2 |
| Thurs, April 15 | Mutual Exclusion in Practice 1 | slides | Chapter 7 - 7.5 |
| Tues, April 20 | Mutual Exclusion in Practice 2 | slides | Chapter 7.5 - end |
| Thurs, April 22 | Specialized Mutual Exclusion | slides | Chapter 8 |
Module 3: Concurrent Data Structures
| Date | Topic | Slides | Readings |
|---|---|---|---|
| Tues, April 27 | Principles of Concurrent Objects I | slides | Chapter 3 |
| Thurs, April 29 | Principles of Concurrent Objects II | slides | Chapter 3 |
| Tues, May 4 | Concurrent Linked-List Set | slides | Chapter 10 |
| Thurs, May 6 | Concurrent Queues | slides | Class Slides |
| Tues, May 11 | Work Stealing | slides | Class Slides |
Module 4: Reasoning about Concurrency
| Date | Topic | Slides | Readings |
|---|---|---|---|
| Thurs, May 13 | Memory Consistency Models | slides | You Don’t Know Jack… |
| Tues, May 18 | Barriers | slides | Chapter 17 |
| Thurs, May 20 | Guest Lecture by Hugues Evrard (Google) and Alastiar Donaldson (Imperial College London) | Hugues, Alastair | Class Slides |
| Tues, May 25 | Forward progress | slides | Class Slides |
Module 5: Advanced Topics
| Date | Topic | Slides | Readings |
|---|---|---|---|
| Thurs, May 27 | GPU Programming 2 | slides | CUDA By Example Chapter 3-4 |
| Tues, June 1 | GPU Programming 1 | slides | CUDA By Example Chapter 1 |
| Thurs, June 3 | Distributed Computing Basics (by Reese) | Class Slides |
Final
Our final is scheduled for Wednesday, June 9. If you would like to block off specific hours, our scheduled time is 4 PM to 7 PM