Lukas' Notes

computer-architecture

Definition

Thread-Level Parallelism

Thread-level parallelism (TLP) is the ability of a processor to make progress on multiple independent threads concurrently.

Exploitation

TLP is exploited by two hardware approaches:

  • Hardware multi-threading — multiple threads share the functional units of a single core. The processor switches rapidly between threads to hide pipeline and memory latencies, improving single-core throughput (IPC).
  • Multi-core processors — each core executes a separate thread independently. This is the more general method, and modern platforms often combine multi-core with per-core multi-threading.

TLP vs ILP

ILPTLP
SourceWithin one threadAcross threads
Found byCompiler + hardwareProgrammer / OS
HardwareSuperscalar, OoO, VLIWMT, multi-core
ImprovesSingle-thread throughputMulti-thread throughput

TLP and ILP are complementary. A simultaneous multi-threaded (SMT) core exploits both at once.