CSE 231s: Intro to Parallel Programming Fall 2022 (Other Semesters)

jump to:
     Aug 28-Sep 03, Sep 04-Sep 10, Sep 11-Sep 17, Sep 18-Sep 24, Sep 25-Oct 01, Oct 02-Oct 08
    Oct 09-Oct 15 (fall break week)
    Oct 16-Oct 22, Oct 23-Oct 29, Oct 30-Nov 05, Nov 06-Nov 12, Nov 13-Nov 19
    Nov 20-Nov 26 (thanksgiving week)
    Nov 27-Dec 03, Dec 04-Dec 10

Date/SubjectPrepIn Class Assignments
       
       
Tue Aug 30 (#0) Introductionslides: presentation pdf
       
Thu Sep 1 (#1) Fork, Join, Computation Graphsyoutube playlist
Initial Setup Instructions
Initial Setup Results Form
Prior Experience Survey
video: Fork Join Hypotenuse
video: Transcontinental Railroad
video: Work, Span, & Ideal Parallelism
video: Making Sense of JUnit Output for Exception with Causes
video: Synthesizing Information
quiz
slides: presentation pdf
>>> Assign Exercise Half & Half Nucleobase Count
       
       
       
       
Tue Sep 6 (#2) VoidFork, Race Conditions, Finality, Lambdas, Closuresyoutube playlist
video: Java Keyword final
video: Finality and Lambdas
video: Finality, Closures, and the For Index Loop
video: Data Race: 2+ Tasks Access, At Least 1 Write.
video: ++Data Race
video: Mutable Transcontinental Railroad Data Race
quiz
slides: presentation pdf
>>> Assign Exercise Race Condition - Translation
       
Thu Sep 8 (#3) ForkLoop, Overhead, Range, Interfaces, Iterable, Genericsyoutube playlist
video: Join Fork Loop
video: Join Fork Loop Iterable and With Index
video: Join Fork Loop Coarsening
video: Coarsening: N-Way Split
video: Fork Loop: Work, Span, & Ideal Parallelism
video: Choosing the Right Tool for the Job: which join_fork_loop
video: DOM Iterable<NodeList>
video: Using an Iteratable
video: Iterable<E>.iterator() Mistake to Avoid
video: Using Range and Ranges.slice()
slides: presentation pdf
>>> Assign WarmUp DoubleDeltaRange
>>> Assign Exercise Powers Of 2 Iterable
>>> Assign Exercise Ranges
>>> Assign Exercise Coarsening (N-Way Split) Nucleobase Count
       
Sat Sep 10<<< Submit Exercise Half & Half Nucleobase Count
       
       
Tue Sep 13 (#4) Matrix Multiplyyoutube playlist
(Optional) video: Static Method Invocation
video: Matrix Multiply (on Khan Academy)
video: Matrix Multiply Demo
quiz
slides: presentation pdf
>>> Assign Exercise Matrix Multiply
>>> Fun Challenge Matrix Multiply Divide and Conquer
       
Thu Sep 15 (#5) Divide and Conqueryoutube playlist
video: Merge Sort (CS50)
video: Merge Sort (HackerRank)
video: Merge Sort Combine
video: Divide and Conquer: Work, Span, & Ideal Parallelism
quiz
slides: presentation pdf
>>> Assign Exercise Divide and Conquer Nucleobase Count
>>> Assign WarmUp Comparator
>>> Assign WarmUp Insertion Sort
>>> Assign Exercise Merge Sort
>>> Fun Challenge Merge Sort Parallel Combiner
       
Sat Sep 17<<< Submit Exercise Race Condition - Translation
<<< Submit Exercise Powers Of 2 Iterable
<<< Submit Exercise Ranges
<<< Submit Exercise Coarsening (N-Way Split) Nucleobase Count
       
       
Tue Sep 20 (#6) X10; Floodfillyoutube playlist
video: X10: One Finish To Join Them All
video: Floodfill
quiz
slides: presentation pdf
>>> Assign Exercise Floodfill
       
Thu Sep 22 (#7) Work: Always Do Less; Ideal Parallelism; Multiprocessor Scheduling; Parallel Speedup and Amdahl's Lawyoutube playlist
video: Ideal Parallelism (Sarkar)
video: Multiprocessor Scheduling (Sarkar)
video: Parallel Speedup and Amdahl's Law (Sarkar)
video: Future Tasks & Functional Parallelism (Sarkar)
video: Memoization (Sarkar)
video: The Magic of Fibonacci Numbers
Read: Poem by Brian Bilston
quiz
slides: presentation pdf
>>> Assign WarmUp Big Powers of 2
>>> Assign Exercise Fibonacci
       
Sat Sep 24<<< Submit Exercise Matrix Multiply
<<< Submit Exercise Divide and Conquer Nucleobase Count
<<< Submit Exercise Merge Sort
       
       
Tue Sep 27 (#8) Threads, Executor Serviceyoutube playlist
video: Threads: Start and Join
Short Reading: Threads and Executors
video: ExecutorService submit and Future get
video: ExecutorService invokeAll
quiz
slides: presentation pdf
>>> Assign Exercise Thread and Executor Service
       
Thu Sep 29 (#9) Higher Order Function: Filter, Abstract Data Type: Hashtableyoutube playlist
video: Data Structure: Hash Table (Hacker Rank)
video: Higher-order Function: Filter
video: For Each Loop
video: Array Initialization with the For Index Loop
video: Removing From an Iterable with iterator.remove()
video: Predicate<T>
video: Filter Higher-order Function Registrar Demo
quiz
slides: presentation pdf
>>> Assign WarmUp Higher-Order Function: Map
>>> Assign Exercise Higher-Order Function: Filter
       
Sat Oct 1<<< Submit Exercise Floodfill
<<< Submit Exercise Fibonacci
       
       
Tue Oct 4 (#10) MapReduceyoutube playlist
video: MapReduce TotalCreditsMapper
video: Learn MapReduce with Playing Cards
quiz
slides: presentation pdf
>>> Assign Exercise Int Sum MR Apps
       
Thu Oct 6 (#11) java.util.CollectorJavadoc: Collector<T,A,R>
quiz
slides: presentation pdf
>>> Assign WarmUp Card Only Sequential Map Reduce Framework
>>> Assign Exercise Reducer
       
Sat Oct 8<<< Submit Exercise Thread and Executor Service
<<< Submit Exercise Higher-Order Function: Filter
       
       
Tue Oct 11 Fall Break (No Class)
       
Thu Oct 13 (#12) MapReduce: Bottlenecked FrameworkShort Reading: Mutual Friends MapReduce
quiz
slides: presentation pdf
>>> Assign WarmUp Set Intersector
>>> Assign WarmUp Fork Loop
>>> Assign WarmUp Word Count Only Parallel Map Reduce Framework
>>> Assign Exercise MutualFriends MR App
>>> Assign Exercise Bottleneck MapReduce Framework
       
Sat Oct 15<<< Submit Exercise Int Sum MR Apps
<<< Submit Exercise Reducer
       
       
Tue Oct 18 (#13) MapReduce: Matrix Frameworkyoutube playlist
video: Lynne Jiang: Hadoop MapReduce
video: Geoffrey Challen: Distributed MapReduce
quiz
slides: presentation pdf
>>> Assign Exercise Matrix MapReduce Framework
       
Thu Oct 20 (#14) John Snow and the Cholera Outbreak of 1854youtube playlist
video: John Snow 1
video: John Snow 2
video: John Snow 3
quiz
slides: presentation pdf
>>> Assign Exercise Cholera MR App
       
Sat Oct 22<<< Submit Exercise MutualFriends MR App
<<< Submit Exercise Bottleneck MapReduce Framework
       
       
Tue Oct 25 (#15) Twitter and WindbagsShort Reading: Why didn't #FreddieGray trend on Twitter?
Short Reading: #FreddieGray--is not trending on Twitter?
Short Reading: Data Reveals That "Occupying" Twitter Trending Topics is Harder Than it Looks!
quiz
slides: presentation pdf
>>> Assign Exercise Windbag MR App
       
Thu Oct 27 (#16) Backtrack Recursion: N-Queensyoutube playlist
video: N-Queens Problem
quiz
slides: presentation pdf
>>> Assign WarmUp Sequential N-Queens
>>> Assign Exercise Parallel N-Queens
       
Sat Oct 29<<< Submit Exercise Matrix MapReduce Framework
<<< Submit Exercise Cholera MR App
       
       
Tue Nov 1 (#17) Scan; Packyoutube playlist
video: Hillis & Steele Scan
video: Blelloch Scan
quiz
slides: presentation pdf
>>> Assign Exercise Scan
>>> Assign Exercise Pack
>>> Fun Challenge Blelloch Scan
       
Thu Nov 3 (#18) Quicksortyoutube playlist
video: Quicksort
video: Parallel Quicksort (Sarkar)
quiz
slides: presentation pdf
>>> Assign WarmUp Join All
>>> Assign Exercise Quicksort
>>> Fun Challenge Parallel Partition
       
Sat Nov 5<<< Submit Exercise Windbag MR App
<<< Submit Exercise Parallel N-Queens
       
       
Tue Nov 8 (#19) Concurrent Data Structures; Determinacy Races; Atomicity Racesyoutube playlist
video: Isolated Construct (Sarkar)
video: Object-based Isolation (Sarkar)
video: Parallel Spanning Tree Algorithm (Sarkar)
video: ConcurrentHashMap Compute Demo
quiz
slides: presentation pdf
>>> Assign Exercise Atomicity Races
       
Thu Nov 10 (#20) Atomicsvideo: Atomic Variables (Sarkar)
quiz
slides: presentation pdf
>>> Assign Exercise Atomic Stack
       
Sat Nov 12<<< Submit Exercise Scan
<<< Submit Exercise Pack
<<< Submit Exercise Quicksort
       
       
Tue Nov 15 (#21) K-mervideo: Intro To K-Mer Counting
quiz
slides: presentation pdf
>>> Assign WarmUp String K-Mer Counting
>>> Assign WarmUp Balanced String K-Mer Counting
>>> Assign Exercise K-mer Counting
       
Thu Nov 17 (#22) Synchronized; Locks; Read/Write Locksvideo: Reader-Writer Isolation (Sarkar)
Short Reading: Synchronized Methods
Short Reading: Intrinsic Locks
Short Reading: Explicit Locks
quiz
slides: presentation pdf
>>> Assign Exercise Ordered Locks
       
Sat Nov 19<<< Submit Exercise Atomicity Races
<<< Submit Exercise Atomic Stack
       
       
Tue Nov 22 (#23) Concurrent MapShort Reading: Concurrent Locks
Short Reading: ConcurrentHashMap get
Short Reading: ConcurrentHashMap put
Short Reading: ConcurrentHashMap compute
quiz
slides: presentation pdf
>>> Assign Exercise All Or Nothing Locks
>>> Assign Exercise Hashtable
>>> Assign Exercise ConcurrentHashTable
       
Thu Nov 24 Thanksgiving (No Class)
       
Sat Nov 26<<< Submit Exercise K-mer Counting
<<< Submit Exercise Ordered Locks
       
       
Tue Nov 29 (#24) Barriers; Iterative Averagingvideo: Barriers in Parallel Loops (Sarkar)
video: One-Dimensional Iterative Averaging (Sarkar)
video: Single Program Multiple Data (SPMD) pattern (Sarkar)
quiz
slides: presentation pdf
>>> Assign WarmUp Phased Fork Loop Evening Plan Scenario
>>> Assign WarmUp Sequential Iterative Averager
>>> Assign Exercise Iterative Averaging
       
Thu Dec 1 (#25) Phasers; Fuzzy Barriers; Point To Point Synchronizationvideo: Fuzzy Barriers (Sarkar)
video: Phasers (Sarkar)
video: Iterative Averaging with Point-to-Point Synchronization (Sarkar)
quiz
slides: presentation pdf
>>> Assign WarmUp Sequential Legged Race
>>> Assign Exercise Legged Races
>>> Fun Challenge Point To Point Iterative Averaging
>>> Fun Challenge Fuzzy Iterative Averaging
>>> Fun Challenge Fuzzy Point To Point Iterative Averaging
       
Sat Dec 3<<< Submit Exercise All Or Nothing Locks
<<< Submit Exercise Hashtable
<<< Submit Exercise ConcurrentHashTable
       
       
Tue Dec 6 (#26) Pipelinesvideo: Pipeline Parallelism (Sarkar)
quiz
slides: presentation pdf
>>> Assign Exercise Iced_Cakes_Pipeline
       
Thu Dec 8 (#27) Work Stealingvideo: Work Stealing
quiz
slides: presentation pdf
>>> Assign WarmUp Scheduler Client
>>> Assign WarmUp Sequential Raytracer
>>> Assign Exercise Parallel Raytracer
>>> Fun Challenge Centralized Work Queue
       
Sat Dec 10<<< Submit Exercise Iterative Averaging
<<< Submit Exercise Legged Races
       
       
       
       
       
       
Sat Dec 17<<< Submit Exercise Iced_Cakes_Pipeline
<<< Submit Exercise Parallel Raytracer