Versions Compared

Key

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

...

Week

Day

Date (2016)

Topic

Assigned Reading

Assigned Videos (Quizzes due by Friday of each week)

In-class Worksheets

Slides

Work Assigned

Work Due

1

Mon

Jan 11

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 13

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

Homework 1

(2 weeks)

Lecture & demo quizzes for topics 1.1, 1.2, 1.3, 1.4

2

Mon

Jan 18

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

      

 

Wed

Jan 20

Lecture 4:   Parallel Speedup and Amdahl's Law

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

 

Fri

Jan 22

Lecture 5: Future Tasks, Functional Parallelism

Module 1: Section 2.1Topic 2.1 Lecture,  Topic 2.1 Demonstrationworksheet5lec5-slides Lecture & demo quizzes for topics 1.5, 2.1 (topic 1.6 is optional)

3

Mon

Jan 25

Lecture 6: Memoization

Module 1: Section 2.2Topic 2.2 Lecture ,  Topic 2.2 Demonstrationworksheet6lec6-slides

BinomialCoefficient.java

Worksheet5.java

 
 WedJan 27

Lecture 7: Finish Accumulators

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

 

Fri

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

Homework 2

Homework 2 JARs (optional)

(2 weeks)

Homework 1, Lecture & demo quizzes for topics 2.2, 2.3, 2.5, 2.6

4

Mon

Feb 01

Lecture 9: Map Reduce

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

 

Wed

Feb 03

Lecture 10: Java’s Fork/Join LibraryFJP chapter: Sections 7.3 & 7.5 worksheet10lec10-slides

ArraySum.java

ArraySumFourWay.java

 

 

Fri

Feb 05

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

worksheet11lec11-slides Lecture & demo quizzes for topics 2.4, 3.1, 3.2, 3.3

5

Mon

Feb 08

Lecture 12: Barrier Synchronization

Module 1: Section 3.4Topic 3.4 Lecture , Topic 3.4 Demonstrationworksheet12lec12-slides  

 

Wed

Feb 10

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 Demonstration   worksheet13lec13-slidesWorksheet12.java

 

Fri

Feb 12

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

Module 1: Section 4.5Topic 4.5 Lecture,  Topic 4.5 Demonstrationworksheet14lec14-slides

Homework 3

(5 weeks, with two intermediate checkpoints)

Homework 2, Lecture & demo quizzes for topics 3.4, 3.5, 3.6, 4.5

6

Mon

Feb 15

Lecture 15: Phasers, Point-to-point Synchronization

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

 

Wed

Feb 17

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 Demonstration, worksheet16lec16-slides  

 

Fri

Feb 19

Lecture 17: Abstract vs. Real Performance

  worksheet17lec17-slides Lecture & demo quizzes for topics 4.1, 4.2, 4.3, 4.4

7

Mon

Feb 22

Lecture 18: Midterm Summary

   lec18-slides  

 

Wed

Feb 24

Midterm Review (Interactice Q&A using PollEverywhere)

    Exam 1 held during lab time (7:00pm - 10:00pm) 

 

Fri

Feb 26

Lecture 19: Task Scheduling Policies

 Topic 4.6 Lecture,  Topic 4.6 Demonstrationworksheet19lec19-slidesLec19HelpFirstWorkStealing.javaHomework 3 Checkpoint-1, Lecture & demo quizzes for topic 4.6

-

M-F

Feb 29- Mar 04

Spring Break

 

 

  

 

 

8

Mon

Mar 07

Lecture 20: Critical sections, Isolated construct, Parallel Spanning Tree algorithm

Module 2: Sections 5.1, 5.2, 5.3, 5.6Topic 5.1 Lecture, Topic 5.1 Demonstration, Topic 5.2 Lecture, Topic 5.2 Demonstration, Topic 5.3 Lecture, Topic 5.3 Demonstration worksheet20lec20-slides 

 

 

Wed

Mar 09

Lecture 21: Atomic variables, Read-Write Isolation

Module 2: Sections 5.4, 5.5Topic 5.4 Lecture, Topic 5.4 Demonstration, Topic 5.5 Lecture, Topic 5.5 Demonstration, Topic 5.6 Lecture, Topic 5.6 Demonstration worksheet21lec21-slides 

 

 

Fri

Mar 11

Lecture 22: Intro to Java Threads  Parallel computing using Java Streams

  worksheet22lec22-slides 

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

9

Mon

Mar 14

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

 Topic 67.1 Lecture, Topic 6.1 Demonstration, Topic 6.2 Lecture, Topic 6.2 Demonstration, Topic 6.3 Lecture, Topic 6.3 Demonstration 7.2 Lectureworksheet23lec23-slides

 

 

 

Wed

Mar 16

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

 Topic 67.6 Lecture, Topic 6.6 Demonstration 3 Lectureworksheet24lec24-slides

 

 

 

Fri

Mar 18

Lecture 25: Concurrent Objects, Linearizability of Concurrent Objects

  Topic 67.4 Lecture, Topic 6.4 Demonstration,   Topic 6.5 Lecture, Topic 6.5 Demonstration, Topic 7.4 Lectureworksheet25lec25-slidesworksheet25lec25-slides

Homework 4

(

Homework 4

(3 weeks, with one intermediate checkpoint)

Homework 3, Lecture & demo quizzes for topics 67.1 - 6.6, 7.4

10

Mon

Mar 21

Lecture 26: Safety and Liveness Properties

 Topic 7.1 5 Lectureworksheet26lec26-slides

 

 

 

Wed

Mar 23

Lecture 27: Eureka-style Speculative Task Parallelism Actors

 Topic 7Topic 6.1 Lecture,  Topic 6.1 Demonstration,   Topic 6.2 Lecture, Topic 6.2 Demonstration, Topic 6.3 Lecture, Topic 6.3 Demonstration worksheet27lec27-slides 

 

 

Fri

Mar 25

Lecture 28: Actors

 

Lecture 28: 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 DemonstrationTopic 7.3 Lectureworksheet28lec28-slides

 

Lecture & demo quizzes for topics 7.15, 7.2, 7.36.1 - 6.6

11

Mon

Mar 28

Lecture 29: Actors (contd) Dining Philosophers Problem

 Topic 7.5 6 Lectureworksheet29lec29-slides

 

 

 

Wed

Mar 30

Lecture 30: Dining Philosophers Problem Eureka-style Speculative Task Parallelism

 Topic 7.6 Lecture worksheet30lec30-slides

 


-

Fri

Apr 01

Midterm Recess

     Homework 4 Checkpoint-1, Lecture & demo quizzes for topics 7.5, quiz for topic 7.6

12

Mon

Apr 04

Lecture 31: Task Affinity with Places

  worksheet31lec31-slides 

 

 

Wed

Apr 06

Lecture 32: Apache Spark framework for cluster computing

  worksheet32lec32-slides

 

 

 

Fri

Apr 08

Lecture 33: Message Passing Interface (MPI)

  worksheet33lec33-slides

Homework 5

(2 weeks, with 1-week automatic extension)

Homework 4

13

Mon

Apr 11

Lecture 34: Message Passing Interface (MPI, contd)

  worksheet34lec34-slides 

 

 

Wed

Apr 13

Lecture 35: PGAS languages

  worksheet35lec35-slides

 

 

 

Fri

Apr 15

Lecture 36: Memory Consistency Models

  worksheet36

lec36-slides

14

Mon

Apr 18

Lecture 37: GPU Computing

  worksheet-37lec37-slides

 

 

 

Wed

Apr 20

Lecture 38: Fortress language

   lec38-slides

 

 

 

Fri

Apr 22

Lecture 39: Course Review (lectures 20-37), Last day of classes

   lec39-slides Homework 5 (automatic extension till April 29)

-

TBD

TBD

Scheduled final exam

 

 

  

 

 

...