Versions Compared

Key

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

...

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

Topic 1.1 Lecture, Topic 1.1 Demonstration

worksheet1lec1-slides

 

 

 

Wed

Jan 14

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

 

 

 FriJan 16Lecture 3: ,   Abstract Performance Metrics, Multiprocessor SchedulingModule 1: Section 1.4Topic 1.4 Lecture, Topic 1.4 Demonstrationworksheet3lec3-slidesHomework 1Lecture & 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.5Topic 1.5 Lecture, Topic 1.5 Demonstrationworksheet4lec4-slides  

 

Fri

Jan 23

Lecture 5: Future Tasks, Functional Parallelism

Module 1: Section 1.6 (self-study), Section 2.1Topic 1.6 Lecture, Topic 1.6 Demonstration, Topic 2.1 Lecture,  Topic 2.1 Demonstrationworksheet5lec5-slides Lecture & demo quizzes for topics 1.5, 1.6, 2.1

3

Mon

Jan 26

Lecture 6: Finish Accumulators

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

Lecture 7: 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  worksheet7lec7-slidesHomework 2Homework 1

 

Fri

Jan 30

Lecture 8: Map Reduce

Module 1: Section 2.4Topic 2.4 Lecture ,  Topic 2.4 Demonstration  worksheet8lec8-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.2Topic 2.2 Lecture ,  Topic 2.2 Demonstrationworksheet9lec9-slides  

 

Wed

Feb 04

Lecture 10: Loop-Level Parallelism, Parallel Matrix Multiplication, Iteration Grouping (Chunking)

 

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  

 

Fri

Feb 06

Lecture 11: Barrier Synchronization

 Topic 3.4 Lecture , Topic 3.4 Demonstrationworksheet11lec11-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

 Topic 3.5 Lecture, Topic 3.5 Demonstration, Topic 3.6 Lecture,  Topic 3.6 Demonstration  worksheet12lec12-slides  

 

Wed

Feb 11

Lecture 13: Java’s ForkJoin Library

  worksheet13lec13-slides Homework 2

 

Fri

Feb 13

Lecture 14: Data-Driven Tasks and Data-Driven Futures

 Topic 4.5 Lecture,  Topic 4.5 Demonstrationworksheet14lec14-slides

Homework 3

Lecture & demo quizzes for topics 3.5, 3.6, 4.5

6

Mon

Feb 16

Lecture 15: Abstract vs. Real Performance

  worksheet15lec15-slides  

 

Wed

Feb 18

Lecture 16: Phasers, Point-to-point Synchronization

 Topic 4.2 Lecture,  Topic 4.2 Demonstration, Topic 4.3 Lecture,  Topic 4.3 Demonstrationworksheet16lec16-slides  

 

Fri

Feb 20

Lecture 17: Pipeline Parallelism, Signal Statement, Fuzzy Barriers

 Topic 4.4 Lecture,  Topic 4.4 Demonstration, Topic 4.1 Lecture,  Topic 4.1 Demonstration, worksheet17lec17-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 Demonstrationworksheet18lec18-slides  

 

Wed

Feb 25

Lecture 19: Midterm Summary, Take-home Exam 1 distributed

   lec19-slidesExam 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 1920: 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    

 

 

Wed

Mar 11

Lecture 2021: Eureka-style Speculative Task Parallelism

    Homework 4

 

 

Fri

Mar 13

Lecture 2122: 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    

Homework 3, Lecture & demo quizzes for topics 5.1 to 5.6

9

Mon

Mar 16

Lecture 2223: 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 2324: 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 2425: Monitors, Java Concurrent Collections, Linearizability of Concurrent Objects

 Topic 7.4 Lecture  

 

Lecture & demo quizzes for this week

10

Mon

Mar 23

Lecture 2526: Linearizability (contd), Intro to Java Threads

 Topic 7.1 Lecture  

 

 

 

Wed

Mar 25

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

 Topic 7.2 Lecture   

 

 

Fri

Mar 27

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

 Topic 7.3 Lecture  

 

Lecture & demo quizzes for this week

11

Mon

Mar 30

Lecture 2829: Safety and Liveness Properties

 Topic 7.5 Lecture  

 

 

 

Wed

Apr 01

Lecture 2930: Dining Philosophers Problem

 Topic 7.6 Lecture  

Homework 5

Lecture & demo quizzes for this week, Homework 4

-

Fri

Apr 03

Midterm Recess

      

12

Mon

Apr 06

Lecture 3031Message Passing Interface (MPI)

     

 

 

Wed

Apr 08

Lecture 3132: Partitioned Global Address Space (PGAS) languages

    

 

 

 

Fri

Apr 10

Lecture 3233Message Passing Interface (MPI, contd)

    

 

 

13

Mon

Apr 13

Lecture 3334Task Affinity with Places

     

 

 

Wed

Apr 15

Lecture 3435: GPU Computing

    

Homework 6

Homework 5

 

Fri

Apr 17

Lecture 3536: Memory Consistency Models

    

 

14

Mon

Apr 20

Lecture 3637: Comparison of Parallel Programming Models

    

 

 

 

Wed

Apr 22

NO CLASS (time allocated to work on homeworks)

    

 

 

 

Fri

Apr 24

Lecture 3738: Course Review (lectures 19-35), Last day of classes

     Homework 6 (penalty-free extension till May 1st)

-

 Tue

April 29 - May 65

Scheduled final exam (exact date and time during 0900-1200 (location TBD)

 

 

  

 

 

Lab Schedule

Lab #

Date (2015)

Topic

Handouts

Code Examples

1

Jan 14

Infrastructure setup, Async-Finish Parallel Programming

lab1-handoutlab_1.zip

2

Jan 21

Abstract performance metrics with async & finish

lab2-handoutlab_2.zip

3

Jan 28

Futures and Data Race detection

lab3-handoutlab_3_futures.zip and lab_3_datarace.zip

4

Feb 04

Real Performance from Finish Accumulators and Loop-Level Parallelism

lab4-handout and lab4-slideslab_4_forall.zip and lab_4_hjviz.zip

5

Feb 11

Loop Chunking and Barrier Synchronization

lab5-handout and lab5-slides 

6

Feb 18

Futures vs. Data-Driven Futures

lab6-handout and lab6-slides 

7

Feb 25

Basics of Command line and Unix

lab7-handout and lab7-slides 

-

Mar 04

No lab this week — Spring Break

  

8

Mar 11Isolated Statement and Atomic Variables, Actors

Eureka-style Speculative Task Parallelism

  

9

Mar 18Java Threads

Isolated Statement and Atomic Variables, Actors

  
10

Mar 25

Java LocksThreads

  

11

Apr 01

Message Passing Interface (MPI)Java Locks

  

12

Apr 08Map Reduce

Message Passing Interface (MPI)

  

13

Apr 15

TBDMap Reduce

  
-Apr 22No lab this week — Last Week of Classes  

...