Versions Compared

Key

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

...

Instructor:

Prof. Vivek Sarkar, DH 3131

Head TA:Max Grossman

Admin Assistant:

Annepha Hurlock, annepha@rice.edu, DH 3080, 713-348-5186

Graduate TAs:

Prasanth Chatarasi, Arghya Chatterjee, Yuhan Peng, Jonathan SharmanJonathan Sharman, Bing Xue, Lechen Yu

Co-Instructor:Dr. Mackale JoynerUndergraduate TAs:

Prudhvi BoyapalliMarc Canby, Anna Chi, Peter Elmers, Nicholas Hanson-Holtry, Ayush Narayan, Timothy Newton, Alitha Partono, Tom Roush, Hunter Tidwell, Bing Xue, Joseph Hungate, Cary Jiang, Gloria Kim, Cecilia Liu, Kevin Mullin, Victoria Nazari, Ashok Sankaran, Sujay Tadwalkar, Vidhi Vakharia, Eugene Wang

Piazza site:

https://piazza.com/class/iirz0u74egl2q9 (Piazza is the preferred medium for all course communications, but you can also send email to comp322-staff at rice dot edu if needed)

Cross-listing:

ELEC 323

Lecture location:

Herzstein Hall 210

Lecture times:

MWF 1:00pm - 1:50pm (followed by group office hours during 2pm - 3pm, usually in DH 3092)

Lab locations:

DH 1042, DH 1064

Lab times:

Wednesday, 07:00pm - 08:30pm

...

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 09

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 11

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 13Lecture 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 16

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

      

 

Wed

Jan 18

Lecture 4:   Parallel Speedup and Amdahl's Law

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

 

Fri

Jan 20

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 23

Lecture 6: Memoization

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

BinomialCoefficient.java

Worksheet5.java

 
 WedJan 25

Lecture 7: Finish Accumulators

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

 

Fri

Jan 27

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

Jan 30

Lecture 9: Map Reduce

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

 

Wed

Feb 01

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

ArraySum.java

ArraySumFourWay.java

 

 

Fri

Feb 03

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 06

Lecture 12:  Barrier Synchronization

Module 1: Section 3.4Topic 3.4 Lecture , Topic 3.4 Demonstration worksheet12 lec12-slides   

 

Wed

Feb 08

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    worksheet13 lec13-slides Worksheet12.java

-

Fri

Feb 10

Spring Recess

      

6

Mon

Feb 13

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

Module 1: Section 4.5Topic 4.5 Lecture ,   Topic 4.5 Demonstration worksheet14 lec14-slides

Homework 3

(5 weeks, with two intermediate checkpoints)

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

 

Wed

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 Demonstration worksheet15 lec15-slides   

 

Fri

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, worksheet16 lec16-slides  Lecture & demo quizzes for topics 4.1, 4.2, 4.3, 4.4

7

Mon

Feb 20

Lecture 17: Midterm Summary

    lec18-slides   

 

Wed

Feb 22

Midterm Review (interactive Q&A only, no lecture)

    Exam 1 held during lab time (7:00pm - 10:00pm), scope of exam limited to lectures 1-17  

 

Fri

Feb 24

Lecture 18: Abstract vs. Real Performance

   worksheet17 lec17-slides  Homework 3 Checkpoint-1, Lecture & demo quizzes for topic 4.6

8

Mon

Feb 27

Lecture 19: Task Scheduling Policies

 Topic 4.6 Lecture ,   Topic 4.6 Demonstration worksheet19 lec19-slides Lec19HelpFirstWorkStealing.java

 

 

Wed

Mar 01

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

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  worksheet20 lec20-slides  

 

 

Fri

Mar 03

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  worksheet21 lec21-slides  

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

9

Mon

Mar 06

Lecture 22:  Parallelism in Java Streams, Parallel Prefix Sums

 

   worksheet22 lec22-slides

 

 

 

Wed

Mar 08

Lecture 23: Java Threads, Java synchronized statement

 Topic 7.1 Lecture, Topic 7.2 Lecture worksheet23 lec23-slides

 

 

 

Fri

Mar 10

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

 Topic 7.3 Lecture worksheet24 lec24-slides

 

Homework 3, Lecture quizzes for topics 7.1 - 7.4

-

M-F

Mar 13 - Mar 17

Spring Break

      

10

Mon

Mar 20

Lecture 25: Concurrent Objects, Linearizability of Concurrent Objects

  Topic 7.4 Lecture worksheet25 lec25-slides

Homework 4

(3 weeks, with one intermediate checkpoint)

 

 

Wed

Mar 22

Lecture 26: Linearizability (contd), Java locks

 Topic 7.3 Lecture (recap), Topic 7.4 Lecture (recap) worksheet26 lec26-slides  

 

 

Fri

Mar 24

Lecture 27: Parallel Design Patterns, Safety and Liveness Properties  

 Topic 7.5 Lecture worksheet27 lec27-slides  

Lecture & demo quizzes for topics 7.5

11

Mon

Mar 27

Lecture 28: 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  worksheet28

lec28-slides

  

 

Wed

Mar 29

Lecture 29:  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 worksheet29 lec29-slides

Lec29Slide2ThreadRing.java
Lec29Slide4EchoActor.java
Lec29Slide6Pipeline.java
Lec29Slide15ReqReplyActor.java
Lec29Slide15SyncReplyActor.java

 

 

Fri

Mar 31

Lecture 30: Java Synchronizers, Dining Philosophers Problem

 Topic 7.6 Lecture worksheet30 lec30-slides  Lecture quiz for topic 7.6

12

Mon

Apr 03

Lecture 31: Eureka-style Speculative Task Parallelism

   worksheet31 lec31-slides  

Homework 4 Checkpoint-1

 

Wed

Apr 05

Lecture 32:  Task Affinity with Places (start of Module 3)

   worksheet32 lec32-slides

 

 

 

Fri

Apr 07

Lecture 33: Message Passing Interface (MPI)

   worksheet33 lec33-slides

 

 

13

Mon

Apr 09

Lecture 34: Message Passing Interface (MPI, contd)

   worksheet34 lec34-slides  

Homework 4

 

Wed

Apr 12

Lecture 35: GPU Computing

  worksheet35lec35-slides

Homework 5  

(Due April 22nd, with automatic extension till May 2nd 1st after which slip days may be used)

 

 

Fri

Apr 14

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

  worksheet36

lec36-slides

  

14

Mon

Apr 17

Lecture 37: Apache Spark framework

  worksheet37lec37-slides 

 

 

Wed

Apr 19

Lecture 38: Topic TBD

 

    

 

 

 

Fri

Apr 21

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

   lec38-slides 

Homework 5 (automatic extension till May 2nd1st after which slip days may be used)

-MonApr 24Review session / Office Hours, 1pm - 3pm, Herzstein 212 (different room from usual)      
-WedApr 26Review session / Office Hours, 1pm - 3pm, Herzstein 212 (different room from usual)      
-ThuApr 28Review session / Office Hours, 1pm - 3pm, Herzstein 212 (different room from usual)      

-

Tue

May 3

Scheduled final exam (Exam 2 – scope of exam limited to lectures 18-37), location and time TBD by registrar

 

 

  

 

 

...