Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Week

Day

Date (2021)

Lecture

Assigned Reading

Assigned Videos (see Canvas site for video links)

In-class Worksheets

Slides

Work Assigned

Work Due

  

1

Mon

Jan 25

Lecture 1: Task Creation and Termination (Async, Finish)

Module 1: Section 1.1

Topic 1.1 Lecture, Topic 1.1 Demonstration

worksheet1lec1-slides

 

 

  

 

Wed

Jan 27

Lecture 2:  Computation Graphs, Ideal Parallelism

Module 1: Sections 1.2, 1.3Topic 1.2 Lecture, Topic 1.2 Demonstration, Topic 1.3 Lecture, Topic 1.3 Demonstrationworksheet2lec2-slides

Homework 1

 

  
 FriJan 29Lecture 3: Abstract Performance Metrics, Multiprocessor SchedulingModule 1: Section 1.4Topic 1.4 Lecture, Topic 1.4 Demonstrationworksheet3lec3-slides

 

   

2

Mon

Feb 01

Lecture 4: Parallel Speedup and Amdahl's Law

Module 1: Section 1.5Topic 1.5 Lecture, Topic 1.5 Demonstrationworksheet4lec4-slidesQuiz for Unit 1   

 

Wed

Feb 03

Lecture 5: Future Tasks, Functional Parallelism ("Back to the Future")Module 1: Section 2.1Topic 2.1 Lecture, Topic 2.1 Demonstrationworksheet5lec5-slides    

 

Fri

Feb 05

Lecture 6:   Finish Accumulators

Module 1: Section 2.3Topic 2.3 Lecture, Topic 2.3 Demonstrationworksheet6lec6-slides Quiz for Unit 1  
3MonFeb 08

Lecture 7: Map Reduce

Module 1: Section 2.4Topic 2.4 Lecture, Topic 2.4 Demonstration  worksheet7lec7-slides

 

   

 

Wed

Feb 10

Lecture 8: Data Races, Functional & Structural Determinism

Module 1: Section 2.5, 2.6Topic 2.5 Lecture, Topic 2.5 Demonstration, Topic 2.6 Lecture, Topic 2.6 Demonstration   worksheet8lec8-slides

Homework 2

Homework 1  

 4

Fri

Feb 1215

Lecture 9: Java’s Fork/Join Library

 Topic 2.7 Lecture, Topic 2.7 Demonstration, Topic 2.8 Lecture, Topic 2.8 Demonstrationworksheet9lec9-slidesQuiz for Unit 2   

4 

Mon

Feb 1517

Lecture 10: Loop-Level Parallelism, Parallel Matrix MultiplicationModule 1: Sections 3.1, 3.2Topic 3.1 Lecture , Topic 3.1 Demonstration ,  Topic 3.2 Lecture,  Topic 3.2 Demonstration worksheet10lec10-slides    
 WedFriFeb 1719Spring "Sprinkle" Day (no class)        

 5

FriMon

Feb 1922

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

worksheet11lec11-slides Quiz for Unit 2  

5 

MonWed

Feb 2224

Lecture 12:  Parallelism in Java Streams, Parallel Prefix Sums

Module 1: Section 3.7Topic Topic 3.7 Java Streams, Topic 3.7 Java Streams Demonstrationworksheet12lec12-slides    
 

WedFri

Feb 2426

Lecture 13: Iterative Averaging Revisited, SPMD pattern

Module 1: Sections 3.5, 3.6Topic 3.5 Lecture , Topic 3.5 Demonstration , Topic 3.6 Lecture,   Topic 3.6 Demonstrationworksheet13lec13-slides

Homework 3 (includes one intermediate checkpoint)

Quiz for Unit 3

Homework 2  

 6

FriMon

Feb 26Mar 01

Lecture 14: Data-Driven Tasks 

Module 1: Sections 4.5Topic 4.5 Lecture   Topic 4.5 Demonstrationworksheet14 lec14-slides    
6 MonWedMar 0103Spring "Sprinkle" Day (no class)        

 

WedFri

Mar 0305

Lecture 15:  Point-to-point Synchronization with Phasers

Module 1: Section 4.2, 4.3Topic 4.2 Lecture ,   Topic 4.2 Demonstration, Topic 4.3 Lecture,  Topic 4.3 Demonstrationworksheet15lec15-slides    

 7

FriMon

Mar 0508

Lecture 16: Pipeline Parallelism, Signal Statement, Fuzzy Barriers

Module 1: Sections 4.4, 4.1Topic 4.4 Lecture ,   Topic 4.4 Demonstration, Topic 4.1 Lecture,  Topic 4.1 Demonstrationworksheet16lec16-slidesQuiz for Unit 4Quiz for Unit 3  

7 

MonWed

Mar 0810

Lecture 17: Midterm Review

   lec17-slides    

 

WedFri

Mar 1012

Lecture 18: Abstract vs. Real Performance

  worksheet18 lec18-slides     

 8

FriMon

Mar 1215

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 Demonstrationworksheet19lec19-slides    

8 

MonWed

Mar 1517

Lecture 20: Parallel Spanning Tree algorithm, Atomic variables

Module 2: Sections 5.3, 5.4, 5.5Topic 5.3 Demonstration, Topic 5.4 Lecture, Topic 5.4 Demonstration, Topic 5.5 Lecture, Topic 5.5 Demonstrationworksheet20lec20-slides 

Homework 3, Checkpoint-1

  

 

WedFri

Mar 1719

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  

 

  

 9

FriMon

Mar 1922

Lecture 22: Actors (contd)

Module 2: 6.3, 6.4, 6.5Topic 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 

MonWed

Mar 2224

Lecture 23: Actors (contd)

Module 2: 6.6Topic 6.6 Lecture, Topic 6.6 Demonstration lec23-slidesQuiz for Unit 5

 

 

  
 

WedFri

Mar 2426

Lecture 24: Java Threads, Java synchronized statement

Module 2: 7.1, 7.2Topic 7.1 Lecture, Topic 7.2 Lecture lec24-slides

 

 

    
10FriMonMar 2629Spring "Sprinkle" Day (no class)        

10 

MonWed

Mar 2931

Lecture 25: Java Threads, Java synchronized statement (contd), wait/notify

Module 2: 7.1, 7.2Topic 7.1 Lecture, Topic 7.2 Lecture lec25-slides  

 

  

 

WedFri

Mar 31Apr 02

Lecture 26: Java Threads (exercise)

   lec26-handout  Homework 3 (all)  

 11

FriMon

Apr 0205

Lecture 27: Java Locks

Module 2: 7.3Topic 7.3 Lecture  lec27-slides

Quiz for Unit 6

Quiz for Unit 5  

11 

MonWed

Apr 07

Lecture 28: Linearizability of Concurrent Objects

Module 2: 7.4Topic 7.4 Lecture lec28-slides

Homework 4 (includes one intermediate checkpoint)

 

 

  

 

Fri

Apr 09

Lecture 29:  Java Locks (exercise)

   lec29-handout  

 

  

12

Mon

Apr 12

Lecture 30: Safety and Liveness Properties, Java Synchronizers, Dining Philosophers Problem

Module 2: 7.5, 7.6Topic 7.5 Lecture, Topic 7.6 Lecture lec30-slides

Quiz for Unit 7

Quiz for Unit 6

  

 

Wed

Apr 14

Lecture 31: Message Passing Interface (MPI), (start of Module 3)

 Topic 8.1 Lecture, Topic 8.2 Lecture, Topic 8.3 Lecture lec31-slides

 

   

 

Fri

Apr 16

Lecture 32: Message Passing Interface (MPI, contd)

 Topic 8.4 Lecture  lec32-slides 

 

  

13

Mon

Apr 19

Lecture 33: Message Passing Interface (MPI, contd)

 Topic 8.5 Lecture, Topic 8 Demonstration Video lec33-slides

 

Homework 4 Checkpoint-1

  

 

Wed

Apr 21

Lecture 34: Task Affinity with Places

   

lec34-slides

  Quiz for Unit 8

Quiz for Unit 7  

 

Fri

Apr 23

Lecture 35: Eureka-style Speculative Task Parallelism

   lec35-slides 

 

  

14

Mon

Apr 26

Lecture 36: Algorithms based on Parallel Prefix (Scan) operations   lec36-slides

 

 

  
 WedApr 28Lecture 37: Course Review (Lectures 19-34)   lec37-slides Homework 4 (all)  
 FriApr 30TBD     Quiz for Unit 8  

...