The eight units are:
  • Unit 1: Imperative Data Parallelism
    • Performance with Parallel.For
    • Correctness
    • Data parallelism and control-flow
    • Lightweight concurrent tasks
  • Unit 2: Shared Memory
    • Data Races and Locks
    • Shared Memory Patterns
  • Unit 3: Concurrent Components
    • Thread-Safety Concepts (Atomicity, Linearizability)
    • Modularity (Specification vs. Implementation)
  • Unit 4: Functional Data Paralliesm
    • Parallel Queries with PLINQ
    • Parallel Functional Programming with F#
    • Array Parallel Algorithms with Accelerator
  • Unit 5: Scheduling and Synchronization
    • From {tasks, DAGs} to {threads, processors}
    • Work-stealing
  • Unit 6: Interactive/Reactive Systems
    • External vs. internal concurrency
    • Event-based programming
  • Unit 7: Message Passing
    • Conventional MPI-style programming
  • Unit 8: Advanced Topics
    • Parallelization
    • Transactions
    • Revisions

Course Dependencies

This 16 week (8 unit) course is aimed at beginning graduate or senior undergraduate students. However, individual units can also be taught a la carte.

PPCPunits.jpg

Last edited Aug 17, 2010 at 4:08 PM by tball, version 7

Comments

No comments yet.