CS 431 : Programming Parallel and Distributed Systems


Tentative Lecture Schedule

Week Monday Wednesday Related papers Slides
Week 1
Multicore Framework
Course Introduction Multicore architecture Performance Optimizations
Read: Sutter and Larus [Queue '05]
Review: Hill and Marty Computer '08
Multicore architecture

Assignment 1 released [Link] Due date Jan 25th 11:59pm.

Week 2
Parallel Algorithms vs Threads/Events
Reference: Parallel Algorithms ,
Read: LLNL Tutorial
Threads and Parallel Programming Reference: PLP book 8.6 and 12.2 ,
Interesting papers: Capriccio: scalable threads for internet services SEDA : Staged Event-Driven Architectures
[Intro]
[Parallel Apps]
[Parallel Apps 2]
[Performance Analysis] (Thanks to Univ. of minnesota
[Machine Models](Thanks to UCB)
[Gauss] (Thanks to UCB)
Week 3
Concurrency
Concurrency Basics, Mutexes Barriers and Locks
Bonus Reading: Peterson's Algorithm
Dekker's Algorithm
[Basics]
[Locks]
[Types of Locks]
[Mutex]
[Cond Sync]
Week 4
More locks and Data Structures
Different Types of Lock Read : [Mellor-Crummey and Scott Parallel Data Structures
Bonus Reading: Herlihy's Linked List Herlihy's Hash Tables Herlihy's QueuesStacks

Assignment 2 released [Link] Due date Feb 14th 11:59pm.

Week 5
Cache-Coherent Multiprocessors
Review: Cache design ( H and P Chapter ) > Read: Jouppi Cache
, Goodman coherence , Wiki Architecture and design of AlphaServer GS320
[Caches]
[Coherence]

Assignment 3 released [Link] Due: Mar 9th 11:59pm.

Week 6
Language and Memory Consistency
Linearizability HW/Language Consistency.

Reading List : Adve and Gharachorloo Paper [slides]
C++ Memory Model [Boehm Slides]
[HW Consistency]
[Linearizability]
Week 7
Programming Multicores
Cilk, OpenMP Intel TBB. Transactional Memory [Transactional Memory]

Reading List : [OpenMP]
[Tasks]
[TBB]
Week 8
GPU Programming
Memory Hierarchy, Kilo threads Warps, Control flow

Reading List : [Intro]
[Memory]
[Threads]
[Example]

Assignment 4 released [Link] Due: Mar 30th 11:59pm.

Week 10
Distributed Systems
Filesystems, Caching Clocks

[Distributed Filesystems]
[Clock]
Week 11
Distributed Systems
Transactions Distributed Transactions

[Transactions]
[Distributed Transactions]

Assignment 5 released [Link] Due: Apr 18th 11:59pm.