...
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 | |||||
3 | Mon | Jan 21 | No lecture, School Holiday (Martin Luther King, Jr. Day) | |||||||
| Wed | Jan 23 | Lecture 7: Futures (contd) | No lecture, Reading Assignment: Chapter 5 of Module 1 handout | Module 1: Chapter 5 | HW2 | HW1 | |||
| Fri | Jan 25 | Lecture 87: Futures (contd), Finish Accumulators | |||||||
4 | Mon | Jan 28 | Lecture 98: Parallel Prefix Sum (Array Reductions with Associative Operators) | |||||||
| Wed | Jan 30 | Lecture 109: Parallel Prefix Sum (contd), | |||||||
| Fri | Feb 1 | Lecture 1110: Forasync Loops, Forall Loops, Parallel Quicksort | |||||||
5 | Mon | Feb 04 | Lecture 1211: Barrier Synchronization in Forall Loops | |||||||
| Wed | Feb 06 | Lecture 1312:Abstract vs. Real Performance, seq clause, Forasync Chunking, | HW3 | HW2 | |||||
| Fri | Feb 08 | Lecture 1413: Point-to-point Synchronization and Phasers | |||||||
6 | Mon | Feb 11 | Lecture 1514: Phaser Accumulators, Bounded Phasers | |||||||
| Wed | Feb 13 | Lecture 1615: Summary of Barriers and Phasers | |||||||
| Fri | Feb 15 | Lecture 1716: Task Affinity with Places | |||||||
7 | Mon | Feb 18 | Lecture 1817: Task Affinity with Places (contd) | |||||||
| Wed | Feb 20 | Lecture 1918: Midterm Summary, Take-home Exam 1 distributed | HW4 | HW3 | |||||
| F | Feb 22 | No Lecture (Exam 1 due by 4pm 5pm today) | |||||||
- | M-F | Feb 25- Mar 01 | Spring Break |
|
|
|
|
| ||
8 | Mon | Mar 04 | Lecture 2019: Critical sections and the Isolated statement |
| ||||||
| Wed | Mar 06 | Lecture 2120: Isolated statement (contd), Monitors, Actors |
| ||||||
| Fri | Mar 08 | Lecture 2221: Actors (contd) |
| ||||||
9 | Mon | Mar 11 | Lecture 2322: Linearizability of Concurrent Objects |
|
|
| ||||
| Wed | Mar 13 | Lecture 2423: Linearizability of Concurrent Objects (contd) |
|
| |||||
| Fri | Mar 15 | Lecture 2524: Safety and Liveness Properties |
|
|
| ||||
10 | Mon | Mar 18 | Lecture 2625: Parallel Programming Patterns |
|
|
| ||||
| Wed | Mar 20 | Lecture 2726: Introduction to Java Threads | HW5 | HW4 | |||||
| Fri | Mar 22 | Lecture 2827: Bitonic Sort |
|
|
| ||||
11 | Mon | Mar 25 | Lecture 2928: Java Threads (contd), Java synchronized statement |
|
|
| ||||
| Wed | Mar 27 | Lecture 3029: Java synchronized statement (contd), advanced locking |
|
|
| ||||
- | Fri | Mar 29 | Midterm Recess | |||||||
12 | Mon | Apr 01 | Lecture 3130: Java Executors and Synchronizers |
|
| |||||
| Wed | Apr 03 | Lecture 3231: Volatile Variables and Java Memory Model |
| HW6 | HW5 | ||||
| Fri | Apr 05 | Lecture 3332: Message Passing Interface (MPI) |
|
|
| ||||
13 | Mon | Apr 08 | Lecture 3433: Message Passing Interface (MPI, contd) |
| ||||||
| Wed | Apr 10 | Lecture 3534: Cloud Computing, Map Reduce |
|
|
| ||||
| Fri | Apr 12 | Lecture 3635: Map Reduce (contd) |
|
|
| ||||
14 | Mon | Apr 15 | Lecture 3736: Speculative parallelization of isolated blocks |
|
|
| ||||
| Wed | Apr 17 | Lecture 3837: Comparison of Parallel Programming Models |
|
| HW6 | ||||
| Fri | Apr 19 | Lecture 3938: Course Review, Take-home Exam 2 distributed | |||||||
- | Fri | Apr 25 | No Lecture (Exam 2 due by 5pm today) |
|
|
|
|
|
Lab Schedule
Lab # | Date (2013) | Topic | Handouts | Code Examples | Solutions |
---|---|---|---|---|---|
1 | Jan 08, 09, 10 | Infrastructure setup, Async-Finish Parallel Programming | lab1-handout | HelloWorldError.hj, ReciprocalArraySum.hj |
|
2 | Jan 15, 16, 17 | Abstract performance metrics with async & finish | lab2-handout | ArraySum1.hj, Search2.hj, ArraySum3.hj |
|
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 |
| ||
7 | Feb 19, 20, 21 | TBD |
|
|
|
8 | Mar 05, 06, 07 | Atomic Variables and Isolated Statement | |||
9 | Mar 12, 13, 14 | Actors | |||
10 | Mar 19, 20, 21 | Java Threads | |||
11 | Mar 26, 27, 28 | TBD | |||
12 | Apr 02, 03, 04 | Java Locks |
| ||
13 | Apr 09, 10, 11 | Message Passing Interface (MPI) |
| ||
14 | Apr 16, 17, 18 | Map Reduce |
|
...