
What is Hyper-Threading?
Hyper-Threading technology is an innovative design from Intel that enables multi-threaded software applications to process threads in parallel within each processor resulting in increased utilization of processor execution resources. To make it short, it is to place two logical processors into a single CPU die. As a result, an average improvement of ~40% in CPU resource utilization yields higher processing throughput.
How Hyper-Threading Works?
A form of simultaneous multi-threading technology (SMT), Hyper-Threading technology allows multiple threads of software applications to be run simultaneously on one processor by duplicating the architectural state on each processor while the same processor execution resources is shared. The figure below represents how a Hyper-Threading based processor differentiates a traditional multiprocessor. The left-hand configuration shows a traditional multiprocessor system with two physical processors. Each processor has its own independent execution resources and architectural state. The right-hand configuration represents an Intel Hyper-Threading technology based processor. You can see that the architectural state for each processor is duplicated, while the execution resources is shared.
For multiprocessor-capable software applications, the Hyper-Threading based processor is considered two separate logical processors on which the software applications can run without modification. Also, each logical processor responds to interrupts independently. The first logical processor can track one software thread, while the second logical processor tracks another software thread simultaneously. Because the two threads share the same execution resources, the second thread can use resources that would be otherwise idle if only one thread was executing. This results in an increased utilization of the execution resources within each physical processor.
The figure below represents how Hyper-Threading saves time when it works. With two logical processors available on every single physical processor, multi-threaded applications can now take advantage of thread-level parallelism on each physical processor for additional performance. As software applications continue to be optimized to take greater advantage of processor parallelism, Hyper-Threading technology provides an additional boost for newer capabilities and the growing needs of today’s users.