Thread Level Parallelism
# Thread Level Parallelism
Distribute the workload among a set of concurrently running threads. Uses MIMD model.
# Multicore Processors
Not to be confused with multiprocessors:
- Multiprocessors: 2 or more CPUs in the same computer. Executes multiple programs faster.
- Multicore: 2 or more processors in a single CPU. Executes a single program faster through
# Challenges
# ILP wall
# Power wall
Overcome power wall using multiple slow cores
- Cores running at lower clock frequency and lower voltage can still deliver the desired performance using less power
- Scale up the number of cores rather than frequency
# Memory wall
Widening gap between compute bandwidth and memory bandwidth could not be bridged - resulting in memory latency.
Overcome memory wall with memory parallelism via multiple threads
# Interconnect problem
# Cache Coherence