...
Week | Day | Date (2015) | Topic | Assigned Reading | Assigned Videos (Quizzes due by Friday of each week) | In-class Worksheets | Slides | Work Assigned | Work Due |
---|---|---|---|---|---|---|---|---|---|
1 | Mon | Jan 12 | Lecture 1: The What and Why of Parallel Programming, Task Creation and Termination (Async, Finish) | Module 1: Sections 0.1, 0.2, 1.1 | worksheet1 | lec1-slides |
|
| |
| Wed | Jan 14 | 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 16 | Lecture 3: , Abstract Performance Metrics, Multiprocessor Scheduling | Module 1: Section 1.4 | Topic 1.4 Lecture, Topic 1.4 Demonstration | worksheet3 | lec3-slides | Homework 1 | Lecture & demo quizzes for topics 1.1, 1.2, 1.3, 1.4 | |
2 | Mon | Jan 19 | No lecture, School Holiday (Martin Luther King, Jr. Day) | ||||||
| Wed | Jan 21 | Lecture 4: Parallel Speedup and Amdahl's Law | Module 1: Section 1.5 | Topic 1.5 Lecture, Topic 1.5 Demonstration | worksheet4 | lec4-slides | ||
| Fri | Jan 23 | Lecture 5: Future Tasks, Functional Parallelism | Module 1: Section 1.6 (self-study), Section 2.1 | Topic 1.6 Lecture, Topic 1.6 Demonstration, Topic 2.1 Lecture, Topic 2.1 Demonstration | worksheet5 | lec5-slides | Lecture & demo quizzes for topics 1.5, 1.6, 2.1 | |
3 | Mon | Jan 26 | Lecture 6: Finish Accumulators | Module 1: Section 2.3 | Topic 2.3 Lecture , Topic 2.3 Demonstration | worksheet6 | lec6-slides | ||
Wed | Jan 28 | Lecture 7: Data Races, Functional & Structural Determinism | Module 1: Sections 2.5, 2.6 | Topic 2.5 Lecture , Topic 2.5 Demonstration, Topic 2.6 Lecture , Topic 2.6 Demonstration | worksheet7 | lec7-slides | Homework 2 | Homework 1 | |
| Fri | Jan 30 | Lecture 8: Map Reduce | Module 1: Section 2.4 | Topic 2.4 Lecture , Topic 2.4 Demonstration | worksheet8 | lec8-slides | Lecture & demo quizzes for topics 2.3, 2.4, 2.5, 2.6 | |
4 | Mon | Feb 02 | Lecture 9: Memoization | Module 1: Section 2.2 | Topic 2.2 Lecture , Topic 2.2 Demonstration | worksheet9 | lec9-slides | ||
| Wed | Feb 04 | Lecture 10: Loop-Level Parallelism, Parallel Matrix Multiplication, Iteration Grouping (Chunking) | Module 1: Sections 3.1, 3.2, 3.3 | Topic 3.1 Lecture, Topic 3.1 Demonstration, Topic 3.2 Lecture, Topic 3.2 Demonstration, Topic 3.3 Lecture, Topic 3.3 Demonstration | worksheet10 | lec10-slides | ||
| Fri | Feb 06 | Lecture 11: Barrier Synchronization | Module 1: Section 3.4 | Topic 3.4 Lecture , Topic 3.4 Demonstration | worksheet11 | lec11-slides | Lecture & demo quizzes for topics 2.2, 3.1, 3.2, 3.3, 3.4 | |
5 | Mon | Feb 09 | Lecture 12: 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 | worksheet12 | lec12-slides | ||
| Wed | Feb 11 | Lecture 13: Java’s ForkJoin Library | worksheet13 | lec13-slides | Homework 2 | |||
| Fri | Feb 13 | Lecture 14: Data-Driven Tasks and Data-Driven Futures | Module 1: Section 4.5 | Topic 4.5 Lecture, Topic 4.5 Demonstration | worksheet14 | lec14-slides | Lecture & demo quizzes for topics 3.5, 3.6, 4.5 | |
6 | Mon | Feb 16 | Lecture 15: Abstract vs. Real Performance | worksheet15 | lec15-slides | ||||
| Wed | Feb 18 | Lecture 16: Phasers, Point-to-point Synchronization | Module 1: Sections 4.2, 4.3 | Topic 4.2 Lecture, Topic 4.2 Demonstration, Topic 4.3 Lecture, Topic 4.3 Demonstration | worksheet16 | lec16-slides | ||
| Fri | Feb 20 | Lecture 17: 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, | worksheet17 | lec17-slides | Lecture & demo quizzes for topics 4.1, 4.2, 4.3, 4.4 | |
7 | Mon | Feb 23 | Lecture 18: Classification of Parallel Programs | Topic 4.6 Lecture, Topic 4.6 Demonstration | worksheet18 | lec18-slides | |||
| Wed | Feb 25 | Lecture 19: Midterm Summary, Take-home Exam 1 distributed | lec19-slides | Exam 1 | ||||
| Fri | Feb 27 | No Lecture (Exam 1 due by 4pm today) | Lecture & demo quizzes for topic 4.6, Exam 1 | |||||
- | M-F | Feb 28- Mar 08 | Spring Break |
|
|
| |||
8 | Mon | Mar 09 | Lecture 20: Critical sections, Isolated construct, Parallel Spanning Tree algorithm | Topic 5.1 Lecture, Topic 5.1 Demonstration, Topic 5.2 Lecture, Topic 5.2 Demonstration, Topic 5.3 Lecture, Topic 5.3 Demonstration | worksheet20 | lec20-slides |
| ||
| Wed | Mar 11 | Lecture 21: Eureka-style Speculative Task Parallelism | worksheet21 | lec21-slides |
| |||
| Fri | Mar 13 | Lecture 22: Read-Write Isolation, Atomic variables | Topic 5.4 Lecture, Topic 5.4 Demonstration, Topic 5.5 Lecture, Topic 5.5 Demonstration, Topic 5.6 Lecture, Topic 5.6 Demonstration | worksheet21 | lec21-slides | Homework 4 | Homework 3, Lecture & demo quizzes for topics 5.1 to 5.6 | |
9 | Mon | Mar 16 | Lecture 23: Actors | Topic 6.1 Lecture , Topic 6.1 Demonstration , Topic 6.2 Lecture, Topic 6.2 Demonstration, Topic 6.3 Lecture, Topic 6.3 Demonstration |
|
| |||
| Wed | Mar 18 | Lecture 24: Actors (contd) | Topic 6.4 Lecture , Topic 6.4 Demonstration , Topic 6.5 Lecture, Topic 6.5 Demonstration, Topic 6.6 Lecture, Topic 6.6 Demonstration |
|
| |||
| Fri | Mar 20 | Lecture 25: Monitors, Java Concurrent Collections, Linearizability of Concurrent Objects | Topic 7.4 Lecture |
| Lecture & demo quizzes for this week | |||
10 | Mon | Mar 23 | Lecture 26: Linearizability (contd), Intro to Java Threads | Topic 7.1 Lecture |
|
| |||
| Wed | Mar 25 | Lecture 27: Java Threads (contd), Java synchronized statement | Topic 7.2 Lecture |
| ||||
| Fri | Mar 27 | Lecture 28: Java synchronized statement (contd), advanced locking | Topic 7.3 Lecture |
| Lecture & demo quizzes for this week | |||
11 | Mon | Mar 30 | Lecture 29: Safety and Liveness Properties | Topic 7.5 Lecture |
|
| |||
| Wed | Apr 01 | Lecture 30: Dining Philosophers Problem | Topic 7.6 Lecture |
| Lecture & demo quizzes for this week | |||
- | Fri | Apr 03 | Midterm Recess | ||||||
12 | Mon | Apr 06 | Lecture 31: Message Passing Interface (MPI) | Homework 5 | Homework 4 | ||||
| Wed | Apr 08 | Lecture 32: Partitioned Global Address Space (PGAS) languages |
|
| ||||
| Fri | Apr 10 | Lecture 33: Message Passing Interface (MPI, contd) |
|
| ||||
13 | Mon | Apr 13 | Lecture 34: Task Affinity with Places |
| |||||
| Wed | Apr 15 | Lecture 35: GPU Computing |
|
| ||||
| Fri | Apr 17 | Lecture 36: Memory Consistency Models | Homework 6 (written only) | |||||
14 | Mon | Apr 20 | Lecture 37: Comparison of Parallel Programming Models |
| Homework 5 | ||||
| Wed | Apr 22 | NO CLASS (time allocated to work on homeworks) |
|
| ||||
| Fri | Apr 24 | Lecture 38: Course Review (lectures 19-35), Last day of classes | Homework 6 (penalty-free extension till May 1st) | |||||
- | Tue | May 5 | Scheduled final exam during 0900-1200 (location TBD) |
|
|
|
...