Versions Compared

Key

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

...

Week

Day

Date (2014)

Topic

Reading

Videos

In-class Worksheets

Slides

Code Examples

Homework Assigned

Homework Due

1

Mon

Jan 13

Lecture 1: The What and Why of Parallel Programming, Task Creation and Termination (Async, Finish)

Module 1: Sections 0.1, 0.2, 1.1

Unit 1 (Topic 1.1 Lecture & Demonstration)

  

 

 

 

 

Wed

Jan 15

Lecture 2:  Computation Graphs, Ideal Parallelism, Abstract Performance Metrics

Module 1: Sections 1.2, 1.3Unit 1 (Topic 1.2 Lecture & Demonstration, Topic 1.3 Lecture & Demonstration)   

 

 

 

Fri

Jan 17

Lecture 3: Multiprocessor Scheduling

Module 1: Section 1.4Unit 1 (Topic 1.4 Lecture & Demonstration)    HW1

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.5Unit 1 (Topic 1.5 Lecture & Demonstration)     

 

Fri

Jan 24

Lecture 5: Data Races, Determinism, Memory Models

Module 1: Chapter 4, Section 5.1, 5.2      

3

Mon

Jan 27

Lecture 6: Data races (contd), Futures --- Tasks with Return Values

       

 

Wed

Jan 29

No lecture, Reading Assignment on Futures: Chapter 5 of Module 1 handout

Module 1: Chapter 5    

 

 

 

Fri

Jan 31

Lecture 7: Futures (contd), Parallel Design Patterns, Finish Accumulators

Module 1: Chapter 5, Chapter 6      HW1

4

Mon

Feb 03

Lecture 8: Parallel N-Queens, Parallel Prefix Sum (Array Reductions with Associative Operators)

Module 1: Chapter 7      

 

Wed

Feb 05

Lecture 9: Abstract vs. Real Performance

Module 1: Chapter 9      

 

Fri

Feb 07

Lecture 10: Abstract vs. Real Performance (contd), seq clause

Module 1: Chapter 9      

5

Mon

Feb 10

Lecture 11: Forasync Loops, Forasync Chunking

Module 1: Sections 8.1, 9.4

     

 

Wed

Feb 12

Lecture 12: Forall Loops, Barrier Synchronization

Module 1: Sections 10.1, 10.2, 10.4      

 

Fri

Feb 14

Lecture 13: Forall and Barriers, Dataflow Computing, Data-Driven Tasks

Module 1: Chapters 10, 11    

 

 

6

Mon

Feb 17

Lecture 14: Recap of HJ constructs, Point-to-point Synchronization, Pipeline Parallelism, Introduction to Phasers

Module 1: Sections 12.1, 12.2      

 

Wed

Feb 19

Lecture 15: Point-to-point Synchronization with Phasers

Module 1: Section 12.3      

 

Fri

Feb 21

Lecture 16: Phaser Accumulators, Bounded Phasers, Summary of Barriers and Phasers

Module 1: Chapter 12      

7

Mon

Feb 24

Lecture 17: Midterm Summary

       

 

Wed

Feb 26

Lecture 18: Midterm Summary (contd), Take-home Exam 1 distributed

       

 

F

Feb 28

No Lecture (Exam 1 due by 5pm today)

       

-

M-F

Feb 28- Mar 09

Spring Break

 

 

  

 

 

 

8

Mon

Mar 10

Lecture 19: Critical sections, Isolated statement, Atomic variables

Module 2: Chapters 1, 2, 4, 6     

 

 

Wed

Mar 12

Lecture 20: Parallel Spanning Tree algorithm, Monitors, Java Concurrent Collections

Module 2: Chapters 3, 7     

 

 

Fri

Mar 14

Lecture 21: Actors

Module 2: Chapter 8     

 

9

Mon

Mar 17

Lecture 22: Actors (contd), Linearizability of Concurrent Objects

Module 2: Chapters 8, 9   

 

 

 

 

Wed

Mar 19

Lecture 23: Linearizability of Concurrent Objects (contd)

Module 2: Chapters 9, 10    

 

 

 

Fri

Mar 21

Lecture 24: Safety and Liveness Properties, Intro to Java Threads

Module 2: Chapters 11, 12   

 

 

 

10

Mon

Mar 24

Lecture 25: Java Threads (contd), Java synchronized statement

Module 2: Chapters 12, 13, 14   

 

 

 

 

Wed

Mar 26

Lecture 26: Java synchronized statement (contd), advanced locking

Module 2: Chapter 14     

 

 

Fri

Mar 28

Lecture 27: Speculative parallelization of isolated blocks (Guest lecture by Prof. Swarat Chaudhuri)

    

 

 

 

11

Mon

Mar 31

Lecture 28: Java Executors and Synchronizers

    

 

 

 

 

Wed

Apr 02

Lecture 29: Dining Philosophers Problem

    

 

 

 

-

Fri

Apr 04

Midterm Recess

       

12

Mon

Apr 07

Lecture 30: Task Affinity with Places

      

 

 

Wed

Apr 09

Lecture 31: More on Actors: Places, Dining Philosophers (Guest lecture by Shams Imam)

    

 

 

 

 

Fri

Apr 11

Lecture 32: Message Passing Interface (MPI)

    

 

 

 

13

Mon

Apr 14

Lecture 33: Message Passing Interface (MPI, contd)

      

 

 

Wed

Apr 16

Lecture 34: Message Passing Interface (MPI, contd)

    

 

 

 

 

Fri

Apr 18

Lecture 35: Cloud Computing, Map Reduce

    

 

 

 

14

Mon

Apr 21

Lecture 36: Partitioned Global Address Space (PGAS) languages (Guest lecture by Prof. John Mellor-Crummey)

     

 

 

 

Wed

Apr 23

Lecture 37: Comparison of Parallel Programming Models

    

 

 

 

 

Fri

Apr 25

Lecture 38: Course Review, Take-home Exam 2 distributed

       

-

Fri

May 02

No lectures this week — Exam 2 due by 4pm today

 

 

  

 

 

 

...