Anything on the schedule more than 24 hours in advance is subject to change.
| Week | Day | Description | Readings | Slides | Due |
|---|---|---|---|---|---|
| 1 | 8/24 | What is a memory model? | PPT, PDF | ||
| 1 | 8/26 | hardware MMs, intro | Russ Cox’s blog | PPT, PDF | |
| 2 | 8/31 | hardware MMs, operational | |||
| 2 | 9/2 | operational MMs: TSO | rules | HW1 due 9/4 | |
| 3 | 9/7 | Labor Day, no class | |||
| 3 | 9/9 | operational MMs: PSO | |||
| 4 | 9/14 | operational MMs: SRA | |||
| 4 | 9/16 | operational MMs: SRA, continued | |||
| 5 | 9/21 | axiomatic MMs: SC | rules | ||
| 5 | 9/23 | axiomatic MMs: RA | release-acquire | HW2 due 9/25 | |
| 6 | 9/28 | axiomatic MMs: RA, continued | |||
| 6 | 9/30 | axiomatic MMs: TSO | |||
| 7 | 10/5 | hardware MMs, testing | x86-TSO, diy, litmus paper | ||
| 7 | 10/7 | hardware MMs, checking | diy, herd paper, herd docs | HW3 due 10/9 | |
| 8 | 10/12 | language MMs, intro | Russ Cox’s blog, DRF-SC | ||
| 8 | 10/14 | language MMs, SC-DRF | |||
| 9 | 10/19 | language MMs, atomics | rules | ||
| 9 | 10/21 | language MMs, RA and RLX | C++ concurrency, CppMem | project proposal due 10/23 | |
| 10 | 10/26 | language MMs, implementing | compiling C11, ARM compilation scheme | ||
| 10 | 10/28 | compilation schemes | HW4 due 10/30 | ||
| 11 | 11/2 | language MMs, fixing | C11 fix 1, C11 fix 2 | ||
| 11 | 11/4 | more C11 fixes | |||
| 12 | 11/9 | C11 fixes, continued | |||
| 12 | 11/11 | program logics | project check-in due 11/12 | ||
| 13 | 11/16 | weak-memory logics | iGPS | ||
| 13 | 11/18 | weak-memory logics, continued | HW5 due 11/20 | ||
| 14 | 11/23 | TBD | |||
| 14 | 11/25 | Thanksgiving, no class | |||
| 15 | 11/31 | TBD | |||
| 15 | 12/2 | review/the big picture | final project due 12/4 |