Date | Topic | Lecture | Assignments | Reading | Suggested Readings |
---|---|---|---|---|---|
Mon 08/26 | Background and Motivation Introduction | [lecture] |
|
|
|
Wed 08/28 | Background and Motivation Scalability and Correctness | [lecture] |
|
||
Tue 09/03 | Background and Motivation Processes and Threads | [lecture] |
Chapter 1 |
Understanding the Linux Kernel (3rd Edition) Chapter 9, Process Address Space (skim) |
|
Thu 09/05 | Background and Motivation Synchronization and Cache Coherence | [lecture] |
Chapter 6 (pp. 143-187) |
||
Mon 09/09 | Background and Motivation Monitors and Barriers | [lecture] |
Chapter 3, 11 |
Experiences with Processes and Monitors in Mesa (Lampson and Redell, Communications of the ACM 23, 2, 1980) |
|
Wed 09/11 | Background and Motivation Events and Futures | [lecture] |
Futures and Promises dist-prog-book chapter 2 |
The Orc Programming Language (pp. 1-25) |
|
Mon 09/16 | Parallel Architectures Parallel Architecture | [lecture] |
|
||
Wed 09/18 | Parallel Architectures Parallel Algorithms | [lecture] |
|
||
Mon 09/23 | Parallel Architectures CUDA: Part I | [lecture] | |||
Wed 09/25 | Parallel Architectures CUDA: Part II | [lecture] |
|
||
Mon 09/30 | Parallel Architectures GPU Optimization | [lecture] |
|
||
Wed 10/02 | Programming Models Go Programming | [lecture] |
|
||
Mon 10/07 | Programming Models Cilk: Parallel Runtimes | [lecture] |
|
||
Wed 10/09 | Programming Models Transactions | [lecture] |
Ordering concurrent events and transactions in Principles of Transaction Processing book |
Transaction Processing: Concepts and Techniques (Jim Gray and Andreas Reuter 1993) 1.1 - 1.2.5 |
|
Wed 10/16 | Foundations and Perspectives Success stories | [lecture] |
|
|
|
Fri 10/18 | Foundations and Perspectives Lessons from Computer Architecture | [lecture] |
|
|
|
Wed 10/23 | Foundations and Perspectives Understanding Speedup | [lecture] |
|
|
|
Fri 10/25 | Foundations and Perspectives Reasoning about Performance | [lecture] |
|
|
|
Mon 10/28 | Foundations and Perspectives Programming Tips | [lecture] |
|
|
|
Wed 10/30 | Shared Memory Lock Freedom | [lecture] |
Lock-Freedom |
|
|
Mon 11/04 | Shared Memory Transactional Memory | [lecture] |
Chapter 10 (pp 291-295) |
The "Double-Checked Locking is Broken" Declaration (Bacon, Bloch, Bogda, Click, Haahr, Lea, May, Maessen, Mitchell, Nilsen, Pugh, Sirer, 2004) |
|
Wed 11/06 | Shared Memory Race Detection | [lecture] |
|
||
Mon 11/11 | Shared Memory Rust | [lecture] |
|
||
Wed 11/13 | Parallelism at Scale MPI | [lecture] |
Chapter 7 (pp. 202-229) |
||
Mon 11/18 | Parallelism at Scale Dataflow Engines | [lecture] | |||
Wed 11/20 | Parallel Performance Two Parallel Algorithms | [lecture] |
|
|
|
Mon 11/25 | Fall Break |
|
|
||
Wed 11/27 | Fall Break |
|
|
||
Mon 12/02 | Parallel Performance Parallel Memory Management | [lecture] |
|
|
|
Wed 12/04 | Correctness at Scale |
CAP, Consistency, and CRDTs |
|
||
Fri 12/06 | Auto-parallelization |
1) Dandelion: a Compiler and Runtime for Heterogeneous Systems |
Last updated: 2024-08-26 14:53:45 -0500 [validate xhtml]