Overview
While ILP looks for parallelism within a single thread, TLP exploits the parallelism between different threads. This is the primary focus of multi-core and multi-processor systems.
Implementation
- Multi-core Processors: Each core executes a separate thread.
- Simultaneous Multi-threading (SMT): A single core executes multiple threads by sharing its execution units.
- Multi-socket Systems: Multiple physical CPUs working together.
Software Requirement
To benefit from TLP, software must be 'multi-threaded,' meaning it is designed to split its work into independent tasks that can run in parallel.