Parallelism
- Instruction Level Parallelism (ILP): Overlapping instructions within a single process/thread of execution. Diminishing returns in 2000-2005. Silicon and energy costs are growing faster than performance, inefficient after a point
- Thread Level Parallelism (TLP): Overlap execution of multiple processes/threads
- Data Level Parallelism (DLP): Overlap an operation (instruction) that is to be applied independently to multiple data values (usually, an array)