...
Week | Day | Date (2013) | Topic | Reading | Slides | Audio (Panopto) | Code Examples | Homework Assigned | Homework Due |
---|---|---|---|---|---|---|---|---|---|
1 | Mon | Jan 7 | Lecture 1: The What and Why of Parallel Programming | Module 1: Sections1.1, 1.2, 2.1, 2.2 |
|
| |||
| Wed | Jan 9 | Lecture 2: Async-Finish Parallel Programming, Data & Control Flow with Async Tasks, Computation Graphs | Module 1: Sections 1.3, 3.1, 3.2 | lec2-audio |
| |||
| Fri | Jan 11 | Lecture 3: Computation Graphs (contd), Parallel Speedup, Strong Scaling, Abstract Performance Metrics | Module 1: Sections 3.1, 3.2, 3.3 | lec3-slides | ArraySum1.hj | |||
2 | Mon | Jan 14 | Lecture 4: Abstract Performance Metrics (contd), Parallel Efficiency, Amdahl's Law, Weak Scaling | Module 1: Sections 3.3, 3.4 | lec4-slides | lec4-audio | Search2.hj | ||
| Wed | Jan 16 | Lecture 5: Data Races, Determinism, Memory Models | Module 1: Chapter 4 | lec5-slides | ||||
| Fri | Jan 18 | Lecture 6: Data races (contd), Futures --- Tasks with Return Values | Module 1: Chapter 4, Section 5.1, 5.2 | lec6-slides | lec6-audio | |||
3 | Mon | Jan 21 | No lecture, School Holiday (Martin Luther King, Jr. Day) | ||||||
| Wed | Jan 23 | No lecture, Reading Assignment on Futures: Chapter 5 of Module 1 handout | Module 1: Chapter 5 | HW1 (due by 5pm on Jan 23rd) | ||||
| Fri | Jan 25 | Lecture 7: Futures (contd), Parallel Design Patterns, Finish Accumulators | Module 1: Chapter 5, Chapter 6 | lec7-slides | ||||
4 | Mon | Jan 28 | Lecture 8: Parallel N-Queens, Parallel Prefix Sum (Array Reductions with Associative Operators) | Module 1: Chapter 7 | lec8-slides | lec8-audio | |||
| Wed | Jan 30 | Lecture 9: Abstract vs. Real Performance | Module 1: Chapter 9 | lec9-slides | lec9-audio | |||
| Fri | Feb 1 | Lecture 10: Abstract vs. Real Performance (contd), seq clause | Module 1: Chapter 9 | lec10-slides | lec10-audio | |||
5 | Mon | Feb 04 | Lecture 11: Forasync Loops, Forasync Chunking | Module 1: Sections 8.1, 9.4 | lec11-slides | ||||
| Wed | Feb 06 | Lecture 12: Forall Loops, Barrier Synchronization | Module 1: Sections 10.1, 10.2, 10.4 | lec12-slides | HW2 (due by 5pm on Feb 7th) | |||
| Fri | Feb 08 | Lecture 13: Forall and Barriers, Dataflow Computing, Data-Driven Tasks | Module 1: Chapters 10, 11 | lec13-slides | lec13-audio | |||
6 | Mon | Feb 11 | Lecture 14: Recap of HJ constructs, Point-to-point Synchronization, Pipeline Parallelism, Introduction to Phasers | Module 1: Sections 12.1, 12.2 | lec14-slides | lec14-audio | |||
| Wed | Feb 13 | Lecture 15: Point-to-point Synchronization with Phasers | Module 1: Section 12.3 | lec15-slides | ||||
| Fri | Feb 15 | Lecture 16: Phaser Accumulators, Bounded Phasers, Summary of Barriers and Phasers | Module 1: Chapter 12 | lec16-slides | lec16-audio | |||
7 | Mon | Feb 18 | Lecture 17: Midterm Summary | lec17-slides | lec17-audio | ||||
| Wed | Feb 20 | Lecture 18: Midterm Summary (contd), Take-home Exam 1 distributed | lec18-slides | |||||
| F | Feb 22 | No Lecture (Exam 1 due by 5pm today) | HW3 (due by 11:55pm on Feb 24th) | |||||
- | M-F | Feb 25- Mar 01 | Spring Break |
|
|
|
|
| |
8 | Mon | Mar 04 | Lecture 19: Critical sections, Isolated statement, Atomic variables | Module 2: Chapters 1, 2, 4, 6 | lec19-slides | lec19-audio |
| ||
| Wed | Mar 06 | Lecture 20: Parallel Spanning Tree algorithm, Monitors, Java Concurrent Collections | Module 2: Chapters 3, 7 | lec20-slides | lec20-audio | HW4, hw_4.zip |
| |
| Fri | Mar 08 | Lecture 21: Actors | Module 2: Chapter 8 | lec21-slides | lec21-audio |
| ||
9 | Mon | Mar 11 | Lecture 22: Actors (contd), Linearizability of Concurrent Objects | Module 2: Chapters 8, 9 | lec22-slides | lec22-audio |
|
|
|
| Wed | Mar 13 | Lecture 23: Linearizability of Concurrent Objects (contd) | Module 2: Chapters 9, 10 | lec23-slides | lec23-audio |
|
| |
| Fri | Mar 15 | Lecture 24: Safety and Liveness Properties, Intro to Java Threads | Module 2: Chapters 11, 12 | lec24-slides | lec24-audio |
|
|
|
10 | Mon | Mar 18 | Lecture 25: Java Threads (contd), Java synchronized statement | Module 2: Chapters 12, 13, 14 | lec25-slides |
|
|
| |
| Wed | Mar 20 | Lecture 26: Java synchronized statement (contd), advanced locking | Module 2: Chapter 14 | lec26-slides |
| |||
| Fri | Mar 22 | Lecture 27: Speculative parallelization of isolated blocks (Guest lecture by Prof. Swarat Chaudhuri) | lec27-slides |
|
| HW4 (due by 11:55pm on March 22nd) | ||
11 | Mon | Mar 25 | Lecture 28: Java Executors and Synchronizers | lec28-slides | lec28-audio |
|
|
| |
| Wed | Mar 27 | Lecture 29: Dining Philosophers Problem | lec29-slides |
|
|
| ||
- | Fri | Mar 29 | Midterm Recess | ||||||
12 | Mon | Apr 01 | Lecture 30: Task Affinity with Places | lec30-slides | lec30-audio | HW5, hw_5.zip |
| ||
| Wed | Apr 03 | Lecture 31: More on Actors: Places, Dining Philosophers (Guest lecture by Shams Imam) | lec31-slides |
|
| |||
| Fri | Apr 05 | Lecture 32: Message Passing Interface (MPI) | lec32-slides | lec32-audio |
|
|
| |
13 | Mon | Apr 08 | Lecture 33: Message Passing Interface (MPI, contd) | lec33-slides |
| ||||
| Wed | Apr 10 | Lecture 34: Message Passing Interface (MPI, contd) | lec34-slides |
|
|
| ||
| Fri | Apr 12 | Lecture 35: Cloud Computing, Map Reduce | lec35-slides |
|
| HW5 (due by 11:55pm on Sunday, April 14th) | ||
14 | Mon | Apr 15 | Lecture 36: Partitioned Global Address Space (PGAS) languages (Guest lecture by Prof. John Mellor-Crummey) | lec36-slides |
| ||||
| Wed | Apr 17 | Lecture 37: Comparison of Parallel Programming Models | lec37-slides |
|
|
| ||
| Fri | Apr 19 | Lecture 38: Course Review, Take-home Exam 2 distributed | lec38-slides | HW6 (due by 11:55pm on April 19th, penalty-free extension till April 26th) | ||||
- | Fri | Apr 26 | No lectures this week — Exam 2 due by 4pm today |
|
|
|
|
|
...