Emergence of Multicore Processors
- The free lunch is over
- The multicore software triad
What Is Parallelism, Anyhow?- Amdahl's Law
- A model for multithreaded execution
- Work
- Span
- Parallelism
Race Conditions: A New Type of Bug (for Most People)
- The lure of nonlocal variables
- Race conditions
- A simple example
- Using the dag model
- Atomicity
- Validating determinacy
- Coping with race bugs
The Folly of Do-It-Yourself Multithreading
- Three desirable properties
- A tiny example
- A version using native threads
- The impact on development time
Concurrency Platforms
- Thread pools
- Message passing
- Data-parallel languages
- Intel's Threading Building Blocks
- OpenMP
- Cilk++
20 Questions to Ask When Going Multicore