Week
|
Topics Covered
|
Reading
|
Assignments
|
1
|
How concurrency arises on a single computer
|
Reading TBD
|
Assignments TBD
|
2
|
The danger of uncontrolled concurrency -- race conditions
|
|
|
3
|
How to control concurrency to avoid race conditions
|
|
|
4
|
Specialized machine instructions
|
|
|
5
|
Semaphores
|
|
|
6
|
Monitor concept
|
|
|
7
|
Implementation of monitor concept in programming languages that do and do not support the concept
|
|
|
8
|
Barrier synchronization
|
|
|
9
|
How concurrency arises in distributed systems
|
|
|
10
|
How to control concurrency in distributed systems -- message passing, remote procedure call
|
|
|
11
|
Taxonomy of concurrent problems -- data-parallel, task-parallel
|
|
|
12
|
Concurrency in database systems -- atomic transaction, serializability
|
|
|
13
|
Formal reasoning about concurrency -- state models, partial correctness, liveness
|
|
|
14
|
Specialized systems for parallel programming -- e.g., Globus, PVM, MPI
|
|
|