Versions Compared

Key

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

...

Week

Day

Date (2018)

Lecture

Assigned Reading

Assigned Videos (see Canvas site for video links)

In-class Worksheets

Slides

Work Assigned

Work Due

1

Mon

Jan 08

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 10

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 12Lecture 3: Abstract Performance Metrics, Multiprocessor SchedulingModule 1: Section 1.4Topic 1.4 Lecture, Topic 1.4 Demonstrationworksheet3lec3-slides

 

 

2

Mon

Jan 15

No lecture, School Holiday (Martin Luther King, Jr. Day)

      

 

Wed

Jan 17

No lecture, Rice closed due to weather

    

Quiz for Unit 1

 

 

Fri

Jan 19

Lecture 4:    Parallel Speedup and Amdahl's Law

Module 1: Section 1.5Topic 1.5 Lecture, Topic 1.5 Demonstrationworksheet4lec4-slides  

3

Mon

Jan 22

Lecture 5: Future Tasks, Functional Parallelism ("Back to the Future")

Module 1: Section 2.1Topic 2.1 Lecture, Topic 2.1 Demonstrationworksheet5lec5-slides  
 WedJan 24

Lecture 6: Finish Accumulators

Module 1: Section 2.3Topic 2.3 Lecture, Topic 2.3 Demonstration  worksheet6lec6-slides

Homework 2

Homework 1

 

Fri

Jan 26

Lecture 7: Memoization, Map Reduce

Module 1: Section 2.2 & 2.4Topic 2.2 Lecture, Topic 2.2 Demonstration, Topic 2.4 Lecture, Topic 2.4 Demonstrationworksheet7lec7-slides

 

Quiz for Unit 1

4

Mon

Jan 29

Lecture 8: Data Races, Functional & Structural Determinism

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

 

Wed

Jan 31

Lecture 9: Java’s Fork/Join LibraryModule 1: Sections 2.7, 2.8Topic 2.7 Lecture, Topic 2.8 Lecture,worksheet9lec9-slidesQuiz for Unit 2 

 

Fri

Feb 02

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

worksheet10lec10-slides  

5

Mon

Feb 05

Lecture 11:  Barrier Synchronization

Module 1: Section 3.4Topic 3.4 Lecture , Topic 3.4 Demonstrationworksheet11 lec11-slides   
 

Wed

Feb 07

Lecture 12: Parallelism in Java Streams, Parallel Prefix Sums

  worksheet12lec12-slides

  Homework 3 (includes two intermediate checkpoints)  

Homework 2

-

Fri

Feb 09

Spring Recess

     Quiz for Unit 2

6

Mon

Feb 12

Lecture 14: 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 Demonstration  worksheet14 lec14-slides   

 

Wed

Feb 14

Lecture 15:  Data-Driven Tasks, Point-to-Point Synchronization with Phasers

Module 1: Sections 4.5, 4.2, 4.3Topic 4.5 Lecture   Topic 4.5 Demonstration, Topic 4.2 Lecture ,   Topic 4.2 Demonstration, Topic 4.3 Lecture,  Topic 4.3 Demonstrationworksheet15 lec15-slides   

 

Fri

Feb 16

Lecture 16: Phasers Review

Module 1: Sections 4.2Topic 4.2 Lecture ,   Topic 4.2 Demonstrationworksheet16 lec16-slides  Quiz for Unit 3

7

Mon

Feb 19

Lecture 17: Midterm Summary

   lec17-slides  

 

Wed

Feb 21

Midterm Review (interactive Q&A)

      

 

Fri

Feb 23

Lecture 18: Abstract vs. Real Performance

  worksheet18 lec18-slides  Homework 3, Checkpoint-1

8

Mon

Feb 26

Lecture 19: 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 Demonstration,worksheet19 lec19-slides  

 

 

Wed

Feb 28

Lecture 20: Critical sections, Isolated construct, Parallel Spanning Tree algorithm, Atomic variables (start of Module 2)

Module 2: Sections 5.1, 5.2, 5.3, 5.4, 5.6

Topic 5.1 Lecture, Topic 5.1 Demonstration, Topic 5.2 Lecture, Topic 5.2 Demonstration, Topic 5.3 Lecture, Topic 5.3 Demonstration, Topic 5.4 Lecture, Topic 5.4 Demonstration, Topic 5.6 Lecture, Topic 5.6 Demonstration

worksheet20 lec20-slides  

 

 

Fri

Mar 02

Lecture 21:  Read-Write Isolation, Review of Phasers

Module 2: Section 5.5Topic 5.5 Lecture, Topic 5.5 Demonstrationworksheet21 lec21-slides  

Quiz for Unit 4

9

Mon

Mar 05

Lecture 22: Actors

Module 2: 6.1, 6.2Topic 6.1 Lecture ,   Topic 6.1 Demonstration ,   Topic 6.2 Lecture, Topic 6.2 Demonstrationworksheet22 lec22-slides

 

 

 

 

Wed

Mar 07

Lecture 23:  Actors (contd)

Module 2: 6.3, 6.4, 6.5, 6.6Topic 6.3 Lecture, Topic 6.3 Demonstration, Topic 6.4 Lecture , Topic 6.4 Demonstration,   Topic 6.5 Lecture, Topic 6.5 Demonstration, Topic 6.6 Lecture, Topic 6.6 Demonstrationworksheet23 lec23-slides

 

Homework 3, Checkpoint-2

 

Fri

Mar 09

Lecture 24: Java Threads, Java synchronized statement

Module 2: 7.1, 7.2Topic 7.1 Lecture, Topic 7.2 Lectureworksheet24 lec24-slides   Quiz for Unit 5
-

M-F

Mar 12 - Mar 16

Spring Break

      

10

Mon

Mar 19

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

Module 2: 7.2Topic 7.2 Lectureworksheet25 lec25-slides  

 

 

 

Wed

Mar 21

Lecture 26: Java Locks, Linearizability of Concurrent Objects

Module 2: 7.3, 7.4Topic 7.3 Lecture, Topic 7.4 Lectureworksheet26 lec26-slides

 

Homework 4

(includes one intermediate checkpoint)

 

Homework 3 (all)

 

Fri

Mar 23

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

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

Quiz for Unit 6

11

Mon

Mar 26

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

 Topic 8.1 Lecture, Topic 8.2 Lecture, Topic 8.3 Lecture,worksheet28

lec28-slides

  

 

Wed

Mar 28

Lecture 29:  Message Passing Interface (MPI, contd)

 Topic 8.4 Lecture, Topic 8.5 Lecture, Topic 8 Demonstration Videoworksheet29 lec29-slides

 

 

 

Fri

Mar 30

Lecture 30: Distributed Map-Reduce using Hadoop and Spark frameworks

 Topic 9.1 Lecture (optional, overlaps with video 2.4), Topic 9.2 Lecture, Topic 9.3 Lectureworksheet30 lec30-slides  Quiz for Unit 7

12

Mon

Apr 02

Lecture 31: TF-IDF and PageRank Algorithms with Map-Reduce

 Topic 9.4 Lecture, Topic 9.5 Lecture, Unit 9 Demonstrationworksheet31 lec31-slides  

 

 

Wed

Apr 04

Lecture 32: Partitioned Global Address Space (PGAS) programming models

  worksheet32 lec32-slides

 

Homework 4 Checkpoint-1

 

Fri

Apr 06

Lecture 33: Combining Distribution and Multithreading

 Lectures 10.1 - 10.5, Unit 10 Demonstration (all videos optional – unit 10 has no quiz)worksheet33 lec33-slides

 

Quiz for Unit 8

13

Mon

Apr 09

Lecture 34: Task Affinity with Places

  worksheet34 lec34-slides  


 

Wed

Apr 11

Lecture 35: Eureka-style Speculative Task Parallelism

  worksheet35lec35-slides

Homework 5

Homework 4 (all)

 

Fri

Apr 13

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

  worksheet36

lec36-slides

 

Quiz for Unit 9

14

Mon

Apr 16

Lecture 37: Algorithms based on Parallel Prefix (Scan) operations, contd.

  worksheet37lec37-slides 

 

 

Wed

Apr 18

Lecture 38: GPU Computing  worksheet38lec38-slides

 

 

 

Fri

Apr 20

Lecture 39: Course Review (Lectures 18-38)

   lec39-slides 

Homework 5

-         
          

...