...
Week | Day | Date (2020) | Lecture | Assigned Reading | Assigned Videos (see Canvas site for video links) | In-class Worksheets | Slides | Work Assigned | Work Due | ||
---|---|---|---|---|---|---|---|---|---|---|---|
1 | Mon | Jan 13 | Lecture 1: Task Creation and Termination (Async, Finish) | Module 1: Section 1.1 | worksheet1 | lec1-slides |
|
| |||
| Wed | Jan 15 | Lecture 2: Computation Graphs, Ideal Parallelism | Module 1: Sections 1.2, 1.3 | Topic 1.2 Lecture, Topic 1.2 Demonstration, Topic 1.3 Lecture, Topic 1.3 Demonstration | worksheet2 | lec2-slides |
| |||
Fri | Jan 17 | Lecture 3: Abstract Performance Metrics, Multiprocessor Scheduling | Module 1: Section 1.4 | Topic 1.4 Lecture, Topic 1.4 Demonstration | worksheet3 | lec3-slides |
| ||||
2 | Mon | Jan 20 | No lecture, School Holiday (Martin Luther King, Jr. Day) | ||||||||
| Wed | Jan 22 | Lecture 4: Parallel Speedup and Amdahl's Law | Module 1: Section 1.5 | Topic 1.5 Lecture, Topic 1.5 Demonstration | worksheet4 | lec4-slides | Quiz for Unit 1 | |||
| Fri | Jan 24 | Lecture 5: Future Tasks, Functional Parallelism ("Back to the Future") | Module 1: Section 2.1 | Topic 2.1 Lecture, Topic 2.1 Demonstration | worksheet5 | lec5-slides | ||||
3 | Mon | Jan 27 | Lecture 6: Finish Accumulators | Module 1: Section 2.3 | Topic 2.3 Lecture, Topic 2.3 Demonstration | worksheet6 | lec6-slides | ||||
Wed | Jan 29 | Lecture 7: Map Reduce | Module 1: Section 2.4 | Topic 2.4 Lecture, Topic 2.4 Demonstration | worksheet7 | lec7-slides | Homework 1 | ||||
| Fri | Jan 31 | Lecture 8: Data Races, Functional & Structural Determinism | Module 1: Section 2.5, 2.6 | Topic 2.5 Lecture, Topic 2.5 Demonstration, Topic 2.6 Lecture, Topic 2.6 Demonstration | worksheet8 | lec8-slides |
| Quiz for Unit 1 | ||
4 | Mon | Feb 03 | Lecture 9: Java’s Fork/Join Library | Module 1: Sections 2.7, 2.8 | Topic 2.7 Lecture, Topic 2.8 Lecture | worksheet9 | lec9-slides | Quiz for Unit 2 | |||
| Wed | Feb 05 | Lecture 10: Loop-Level Parallelism, Parallel Matrix Multiplication | Module 1: Sections 3.1, 3.2 | Topic 3.1 Lecture , Topic 3.1 Demonstration , Topic 3.2 Lecture, Topic 3.2 Demonstration | worksheet10 | lec10-slides | ||||
| Fri | Feb 07 | Lecture 11: Iteration Grouping (Chunking), Barrier Synchronization | Module 1: Sections 3.3, 3.4 | Topic 3.3 Lecture , Topic 3.3 Demonstration, Topic 3.4 Lecture , Topic 3.4 Demonstration | worksheet11 | lec11-slides | ||||
5 | Mon | Feb 10 | Lecture 12: Parallelism in Java Streams, Parallel Prefix Sums | Module 1: Section 3.7 | Topic Topic 3.7 Java Streams, Topic 3.7 Java Streams Demonstration | worksheet12 | lec12-slides | Quiz for Unit 2 | |||
Wed | Feb 12 | Lecture 13: Iterative Averaging Revisited, SPMD pattern | Module 1: Sections 3.5, 3.6 | Topic 3.5 Lecture , Topic 3.5 Demonstration , Topic 3.6 Lecture, Topic 3.6 Demonstration | worksheet13 | lec13-slides | Homework 3 (includes 2 intermediate checkpoints) Quiz for Unit 3 | Homework 2 | |||
- | Fri | Feb 14 | Spring Recess | ||||||||
6 | Mon | Feb 17 | Lecture 14: Data-Driven Tasks | Module 1: Sections 4.5 | Topic 4.5 Lecture Topic 4.5 Demonstration | worksheet14 | lec14-slides | ||||
| Wed | Feb 19 | Lecture 15: Point-to-point Synchronization with Phasers | Module 1: Section 4.2, 4.3 | Topic 4.2 Lecture , Topic 4.2 Demonstration, Topic 4.3 Lecture, Topic 4.3 Demonstration | worksheet15 | lec15-slides | ||||
| Fri | Feb 21 | Lecture 16: Pipeline Parallelism, Signal Statement, Fuzzy Barriers | Module 1: Sections 4.4, 4.1 | Topic 4.4 Lecture , Topic 4.4 Demonstration, Topic 4.1 Lecture, Topic 4.1 Demonstration | worksheet16 | lec16-slides | Quiz for Unit 4 | Quiz for Unit 3 | ||
7 | Mon | Feb 24 | Lecture 17: Midterm Review | lec17-slides | |||||||
| Wed | Feb 26 | Lecture 18: Abstract vs. Real Performance | worksheet18 | lec18-slides | ||||||
| Fri | Feb 28 | Lecture 19: Critical Sections, Isolated construct (start of Module 2) | Module 2: Sections 5.1, 5.2, 5.6, | Topic 5.1 Lecture, Topic 5.1 Demonstration, Topic 5.2 Lecture, Topic 5.2 Demonstration, Topic 5.6 Lecture, Topic 5.6 Demonstration | worksheet19 | lec19-slides | Homework 3, Checkpoint-1 | |||
8 | Mon | Mar 02 | Lecture 20: Parallel Spanning Tree algorithm, Atomic variables | Module 2: Sections 5.3, 5.4, 5.5 | Topic 5.3 Demonstration, Topic 5.4 Lecture, Topic 5.4 Demonstration, Topic 5.5 Lecture, Topic 5.5 Demonstration | worksheet20 | lec20-slides |
| |||
| Wed | Mar 04 | Lecture 21: Actors | Module 2: 6.1, 6.2 | Topic 6.1 Lecture , Topic 6.1 Demonstration , Topic 6.2 Lecture, Topic 6.2 Demonstration | worksheet21 | lec21-slides |
| |||
| Fri | Mar 06 | Lecture 22: Actors (contd) | Module 2: 6.3, 6.4, 6.5 | Topic 6.3 Lecture, Topic 6.3 Demonstration, Topic 6.4 Lecture , Topic 6.4 Demonstration, Topic 6.5 Lecture, Topic 6.5 Demonstration | worksheet22 | lec22-slides | Quiz for Unit 4 | |||
9 | Mon | Mar 09 | No class | Quiz for Unit 5 |
| ||||||
| Wed | Mar 11 | No class |
|
| ||||||
| Fri | Mar 13 | No class | ||||||||
- | M-F | Mar 16 - Mar 20 | Spring Break | ||||||||
10 | Mon | Mar 23 | Lecture 23: Actors (contd) | Module 2: 6.6 | Topic 6.6 Lecture, Topic 6.6 Demonstration | lec23-slides |
| ||||
Wed | Mar 25 | Lecture 24: Java Threads, Java synchronized statement | Module 2: 7.1, 7.2 | Topic 7.1 Lecture, Topic 7.2 Lecture | lec24-slides |
| |||||
| Fri | Mar 27 | Lecture 25: Java Threads, Java synchronized statement (contd), wait/notify | Module 2: 7.1, 7.2 | Topic 7.1 Lecture, Topic 7.2 Lecture | lec25-slides | Homework 3, Checkpoint-2 | ||||
11 | Mon | Mar 30 | Lecture 26: Java Threads (exercise) | lec26-handout | Quiz for Unit 6 | Quiz for Unit 5 | |||||
| Wed | Apr 01 | Lecture 27: Java Locks | Module 2: 7.3 | Topic 7.3 Lecture | lec27-slides |
| ||||
| Fri | Apr 03 | Lecture 28: Linearizability of Concurrent Objects | Module 2: 7.4 | Topic 7.4 Lecture | lec28-slides | Homework 4 (includes one intermediate checkpoint) | Homework 3 (all)
| |||
12 | Mon | Apr 06 | Lecture 29: Java Locks (exercise) | lec29-handout | Quiz for Unit 6 | ||||||
| Wed | Apr 08 | Lecture 30: Safety and Liveness Properties, Java Synchronizers, Dining Philosophers Problem | Module 2: 7.5, 7.6 | Topic 7.5 Lecture, Topic 7.6 Lecture | lec30-slides |
|
| |||
| Fri | Apr 10 | Lecture 31: Message Passing Interface (MPI), (start of Module 3) | Topic 8.1 Lecture, Topic 8.2 Lecture, Topic 8.3 Lecture | lec31-slides |
| |||||
13 | Mon | Apr 13 | Lecture 32: Message Passing Interface (MPI, contd) | Topic 8.4 Lecture, Topic 8.5 Lecture, Topic 8 Demonstration Video | lec32-slides | Homework 4 Checkpoint-1 | |||||
| Wed | Apr 15 | Lecture 33: Task Affinity with Places | lec33-slides |
|
| |||||
| Fri | Apr 17 | Lecture 34: Eureka-style Speculative Task Parallelism | lec34-slides |
| Quiz for Unit 7 | |||||
14 | Mon | Apr 20 | Lecture 35: Algorithms based on Parallel Prefix (Scan) operations | lec35-slides |
| ||||||
| Wed | Apr 22 | Lecture 36: Algorithms based on Parallel Prefix (Scan) operations, contd. | lec36-slides |
| Homework 4 (all) | |||||
| Fri | Apr 24 | Lecture 37: Course Review (Lectures 19-36) | Quiz for Unit 8 | |||||||
- | |||||||||||
...