...
| Day | Date (2013) | Topic | Slides | Audio (Panopto) | Code Examples | Homework Assigned | Homework Due |
---|---|---|---|---|---|---|---|---|
1 | Mon | Jan 7 | Lecture 1: The What and Why of Parallel Programming |
|
|
|
|
|
2 | Wed | Jan 9 | Lecture 2: Async-Finish Parallel Programming and Computation Graphs |
|
|
| ||
3 | Fri | Jan 11 | Lecture 3: Computation Graphs, Abstract Performance Metrics, Array Reductions | |||||
4 | Mon | Jan 14 | Lecture 4: Parallel Speedup, Efficiency, Amdahl's Law | |||||
5 | Wed | Jan 16 | Lecture 5: Data & Control Flow with Async Tasks, Data Races | |||||
6 | Fri | Jan 18 | Lecture 6: Memory Models, Atomic Variables | |||||
- | Mon | Jan 21 | School Holiday | |||||
7 | Wed | Jan 23 | Lecture 7: Memory Models (contd), Futures --- Tasks with Return Values | |||||
8 | Fri | Jan 25 | Lecture 8: Futures (contd), Dataflow Programming, Data-Driven Tasks | |||||
9 | Mon | Jan 28 | Lecture 9: Abstract vs. Real Performance, seq clause, forasync loops | |||||
10 | Wed | Jan 30 | Lecture 10: Forasync Chunking, Parallel Prefix Sum algorithm | |||||
11 | Fri | Feb 1 | Lecture 11: Parallel Prefix Sum (contd), Parallel Quicksort | |||||
12 | Mon | Feb 04 | Lecture 12: Finish Accumulators, Forall Loops and Barrier Synchronization | |||||
13 | Wed | Feb 06 | Lecture 13: Forall Loops and Barrier Synchronization (contd) | |||||
14 | Fri | Feb 08 | Lecture 14: Point-to-point Synchronization and Phasers | |||||
15 | Mon | Feb 11 | Lecture 15: Phaser Accumulators, Bounded Phasers | |||||
16 | Wed | Feb 13 | Lecture 16: Summary of Barriers and Phasers | |||||
17 | Fri | Feb 15 | Lecture 17: Task Affinity with Places | |||||
18 | Mon | Feb 18 | Lecture 18: Task Affinity with Places (contd) | |||||
19 | Wed | Feb 20 | Lecture 19: Midterm Summary | |||||
- | F | Feb 22 | No Lecture (Take-home Exam 1 due by 4pm today) | |||||
- | M-F | Feb 25- Mar 01 | Spring Break |
|
|
|
|
|
20 | Mon | Mar 04 | Lecture 20: Critical sections and the Isolated statement |
| ||||
21 | Wed | Mar 06 | Lecture 21: Isolated statement (contd), Monitors, Actors |
| ||||
22 | Fri | Mar 08 | Lecture 22: Actors (contd) |
| ||||
23 | Mon | Mar 11 | Lecture 23: Linearizability of Concurrent Objects |
|
|
| ||
24 | Wed | Mar 13 | Lecture 24: Linearizability of Concurrent Objects (contd) |
|
| |||
25 | Fri | Mar 15 | Lecture 25: Safety and Liveness Properties |
|
|
| ||
26 | Mon | Mar 18 | Lecture 26: Parallel Programming Patterns |
|
|
| ||
27 | Wed | Mar 20 | Lecture 27: Introduction to Java Threads |
| ||||
28 | Fri | Mar 22 | Lecture 28: Bitonic Sort (guest lecture by Prof. John Mellor-Crummey) |
|
|
| ||
29 | Mon | Mar 25 | Lecture 29: Java Threads (contd), Java synchronized statement |
|
|
| ||
30 | Wed | Mar 27 | Lecture 30: Java synchronized statement (contd), advanced locking |
|
|
| ||
- | Fri | Mar 29 | Midterm Recess | |||||
31 | Mon | Apr 01 | Lecture 31: Java Executors and Synchronizers |
|
| |||
32 | Wed | Apr 03 | Lecture 32: Volatile Variables and Java Memory Model |
|
|
| ||
33 | Fri | Apr 05 | Lecture 33: Message Passing Interface (MPI) |
|
|
| ||
34 | Mon | Apr 08 | Lecture 34: Message Passing Interface (MPI, contd) |
| ||||
35 | Wed | Apr 10 | Lecture 35: Cloud Computing, Map Reduce |
|
|
| ||
36 | Fri | Apr 12 | Lecture 36: Map Reduce (contd) |
|
|
| ||
37 | Mon | Apr 15 | Lecture 37: Speculative parallelization of isolated blocks (Guest lecture by Prof. Swarat Chaudhuri) |
|
|
| ||
38 | Wed | Apr 17 | Lecture 38: Comparison of Parallel Programming Models |
|
|
| ||
39 | Fri | Apr 19 | Lecture 39: Course Review | |||||
- | Fri | Apr 25 | Exam 2 due |
|
|
|
|
|
Lab Schedule
Lab # | Date (20112013) | Topic | Handouts | Code Examples | Solutions |
---|---|---|---|---|---|
1 | Jan 08, 09, 10 | DrHJ setup, Async-Finish Parallel Programming |
| ||
2 | Jan 15, 16, 17 | Abstract performance metrics with async & finish |
| ||
3 | Jan 22, 23, 24 | Data race detection and repair |
| ||
4 | Jan 29, 30, 31 | Real performance, work-sharing and work-stealing runtimes, futures |
| ||
5 | Feb 05, 06, 07 | Data-driven futures |
| ||
6 | Feb 12, 13, 14 | Barriers and Phasers |
| ||
- | Feb 19, 20, 21 | No lab (Exam 1 week) |
|
|
|
7 | Mar 05, 06, 07 | Atomic Variables and Isolated Statement | |||
8 | Mar 12, 13, 14 | Actors | |||
9 | Mar 19, 20, 21 | Java Threads | |||
- | Mar 26, 27, 28 | No lab (HW4 deadline, midterm recess) | |||
10 | Apr 02, 03, 04 | Java Locks |
| ||
11 | Apr 09, 10, 11 | Message Passing Interface (MPI) |
| ||
12 | Apr 16, 17, 18 | Map Reduce |
|
...