...
| Day | Date (2012) | Topic | Slides | Audio (Panopto) | Code Examples | Assignment |
---|---|---|---|---|---|---|---|
1 | Wed | Sep 05 | Lecture 1: Introduction, Async-Finish Parallel Programming, Computation Graphs, Abstract Performance Metrics |
|
|
| HW1 (due by 11:59pm on Sep 11th) |
2 | Mon | Sep 10 | Lecture 2: Data & Control Flow with Async Tasks, Data Races and Determinism, Parallel Speedup, Efficiency, Amdahl's Law |
|
|
|
|
3 | Wed | Sep 12 | Lecture 3: Finish Accumulators, Futures --- (Tasks with Return Values), Dataflow Programming, Data-Driven Tasks |
|
|
| HW2 (due by 11:59pm on Sep 18th) |
4 | Mon | Sep 17 | Lecture 4: Forasync loops, Array Reductions, Parallel Prefix Sum algorithm, Parallel QuickSort |
|
|
|
|
5 | Wed | Sep 19 | Lecture 5: Parallel MergeSort, Parallel BitonicSort |
| HW3 (due by 11:59pm on Sep 25th) | ||
6 | Mon | Sep 24 | Lecture 6: Abstract vs. Real Performance, Seq clause, Forasync Chunking, Forall Loops and Barrier Synchronization |
|
| ||
7 | Wed | Sep 26 | Lecture 7: Forall Loops and Barrier Synchronization (contd), Point-to-point Synchronization and Phasers, Phaser Accumulators, Bounded Phasers, Summary of Deterministic Shared-Memory Parallelism |
| HW4 (due by 11:59pm on Oct 2nd) | ||
8 | Mon | Oct 01 | Lecture 8: Phaser Accumulators, Bounded Phasers, Summary of Deterministic Shared-Memory ParallelismCritical sections and the Isolated statement, Monitors, Atomic Variables, Linearizability of Concurrent Objects |
|
| ||
9 | Wed | Oct 03 | Lecture 9: Critical sections and the Isolated statement, Monitors, Actors Linearizability of Concurrent Objects (contd), Safety and Liveness Properties |
| HW5 (due by 11:59pm on Oct 9th) | ||
10 | Mon | Oct 08 | Lecture 10: Atomic Variables, Linearizability of Concurrent ObjectsActors |
|
| ||
11 | Wed | Oct 10 | Lecture 11: Task Affinity with Places |
| HW6 (due by 11:59pm on Oct 16h) | ||
12 | Mon | Oct 15 | Lecture 12: Memory Models, |
|
| ||
13 | Wed | Oct 17 | Lecture 12: |
| Take-home Final Exam (3-hour duration, due by 5pm on Oct 19th) | ||
14 | Mon | Oct 22 | Lecture 13: |
|
| ||
15 | Wed | Oct 24 | Lecture 14: |
|
| ||
16 | Mon | Oct 29 | Lecture 15: |
|
| ||
17 | Wed | Oct 31 | Lecture 16: |
|
| ||
18 | Mon | Nov 05 | Lecture 17: Task Affinity with Places |
|
| ||
19 | Wed | Nov 07 | Lecture 18: Task Affinity with Places (contd) |
|
| ||
20 | Mon | Nov 12 | Lecture 19: Midterm Summary |
|
|
| |
21 | Wed | Nov 14 | Lecture 20: |
|
| ||
22 | Mon | Nov 19 | Lecture 21: Isolated statement (contd), |
| |||
23 | Wed | Nov 21 | Lecture 22: Actors (contd) |
| |||
24 | Mon | Nov 26 | Lecture 23: Linearizability of Concurrent Objects |
|
| ||
25 | Wed | Nov 28 | Lecture 24: Linearizability of Concurrent Objects (contd) |
|
| ||
26 | Mon | Mar 16 | Lecture 25: Safety and Liveness Properties |
|
| ||
27 | Wed | Mar 19 | Lecture 26: Parallel Programming Patterns |
|
| ||
28 | Mon | Mar 21 | Lecture 27: Introduction to Java Threads |
| |||
29 | Wed | Mar 26 | Lecture 28: Bitonic Sort (guest lecture by Prof. John Mellor-Crummey) |
|
|
| |
30 | Mon | Mar 28 | Lecture 29: Java Threads (contd), Java synchronized statement |
|
| ||
31 | Wed | Mar 30 | Lecture 30: Java synchronized statement (contd), advanced locking |
|
| ||
32 | Mon | Apr 02 | Lecture 31: Java Executors and Synchronizers |
|
| ||
33 | Wed | Apr 04 | Lecture 32: Volatile Variables and Java Memory Model |
|
| ||
34 | Mon | Apr 06 | Lecture 33: Message Passing Interface (MPI) |
|
| ||
35 | Wed | Apr 09 | Lecture 34: Message Passing Interface (MPI, contd) |
| |||
36 | Mon | Apr 11 | Lecture 35: Cloud Computing, Map Reduce |
|
| ||
37 | Wed | Apr 13 | Lecture 36: Map Reduce (contd) |
|
| ||
38 | Mon | Apr 16 | Lecture 37: Speculative parallelization of isolated blocks (Guest lecture by Prof. Swarat Chaudhuri) |
|
|
| |
39 | Wed | Apr 18 | Lecture 38: Comparison of Parallel Programming Models |
|
| ||
40 | Mon | Apr 20 | Lecture 39: Course Review |
| Exam 2 (Take-home) |
...