# Page History

## Key

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

...

Finally, here are some additional resources that may be helpful for you:

## Past Offerings of COMP 322

• Spring 2017 (Rice University)
• Spring 2016 (Rice University)
• Spring 2015 (Rice University)
• Spring 2014 (Rice University)
• Spring 2013 (Rice University)
• Fall 2012 (Harvey Mudd College CS 181E, half-semester class, co-instructor: Prof. Ran Libeskind-Hadas)
• Spring 2012 (Rice University)
• Spring 2011 (Rice University)
• Fall 2009 (Rice University)

## Lecture Schedule

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

Lecture 4:   Parallel Speedup and Amdahl's Law

Module 1: Section 1.5Topic 1.5 Lecture, Topic 1.5 Demonstrationworksheet4lec4-slides Quiz for Unit 1

Fri

Jan 19

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

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

3

Mon

Jan 22

Lecture 6: Memoization

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

Lecture 7: Finish Accumulators

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

Homework 2

Homework 1

Fri

Jan 26

Lecture 8: Map Reduce

Module 1: Section 2.4Topic 2.4 Lecture, Topic 2.4 Demonstrationworksheet8lec8-slides

Quiz for Unit 1

4

Mon

Jan 29

Lecture 9: 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   worksheet9lec9-slides

Wed

Jan 31

Lecture 10: Java’s Fork/Join LibraryModule 1: Sections 2.7, 2.8Topic 2.7 Lecture, Topic 2.8 Lecture,worksheet10lec10-slides

Fri

Feb 02

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

5

Mon

Feb 05

Lecture 12:  Barrier Synchronization

Module 1: Section 3.4Topic 3.4 Lecture , Topic 3.4 Demonstrationworksheet12 lec12-slides

Wed

Feb 07

Lecture 13: Parallelism in Java Streams, Parallel Prefix Sums

worksheet13lec13-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)

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

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

Homework 5

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

-

...

Graded homeworks will be returned to you via email, and exams as marked-up hardcopies. If you believe we have made an error in grading your homework or exam, please bring the matter to our attention within one week7 days.

...