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