* Multithreaded, Parallel, and Distributed Programming
* Basic concepts
** Solution Patterns
- Iterative Parallelism: Matrix multiplication
- Recursive Parallelism: Adaptive quadrature
- Producers and Consumers (piplines): Unix pipes
- Clients and Servers: File Systems
- Interacting Peers: Distributed matrix multiplication
* Processes and synchronization
- **atomic actions**, unconditional and conditional,
- **independence of parallel processes**;
- **at-most-once property**;
- **safety property**, **liveness prpperty**;
- **unconditional fairness**, **weak [...]