21.2.3 Thread-level Parallelism