Hyper-Threading technology



Hyper-threading (officially termed Hyper-Threading Technology or HTT) is an Intel-proprietary technology used to improve parallelization of computations performed on PC microprocessors via simultaneous multithreading. It is an improvement on super-threading. It debuted in U.S. Patent 4,847,755 (Gordon Morrison et al.) and can be seen in use on the Intel Xeon, Pentium 4, Atom and Core i7 processors. The technology improves processor performance under certain workloads by providing useful work for execution units that would otherwise be idle, for example during a cache miss. A processor with Hyper-Threading enabled is treated by the operating system as two processors instead of one.

Hyper-threading relies on support in the operating system as well as the CPU. Conventional multiprocessor support is not enough to take advantage of hyper-threading. For example, even though Windows 2000 supports multiple CPUs, Intel does not recommend that hyper-threading be enabled under that operating system.

Performance

The advantages of Hyper-Threading are listed as: improved support for multi-threaded code, allowing multiple threads to run simultaneously, improved reaction and response time.

According to Intel, the first implementation only used an additional 5% of the die area over the comparable non-hyperthreaded processor, yet yielded performance improvements of 15–30%.

Intel claims up to a 30% speed improvement compared against an otherwise identical, non-simultaneous multithreading Pentium 4. The performance improvement seen is very application-dependent, however, and some programs actually slow down slightly when Hyper Threading Technology is turned on. This is due to the replay system of the Pentium 4 tying up valuable execution resources, thereby starving the other thread. (The Pentium 4 Prescott core gained a replay queue, which reduces execution time needed for the replay system, but this is not enough to completely overcome the performance hit.) However, any performance degradation is unique to the Pentium 4 (due to various architectural nuances), and is not characteristic of simultaneous multithreading in general.

Future

Older Pentium 4 based CPUs use Hyper-Threading, but the newer Pentium M based cores Merom, Conroe, and Woodcrest do not. Hyper-Threading is a specialized form of simultaneous multithreading (SMT), which has been said to be on Intel's plans for the generation after Merom, Conroe and Woodcrest.

More recently Hyper-Threading has been criticised as being energy inefficient. For example, specialist low-power CPU design company ARM has stated SMT can use up to 46% more power than dual CPU designs. Furthermore, they claim SMT increases cache thrashing by 42%, whereas dual core results in a 37% decrease. These considerations are claimed to be the reason Intel dropped SMT from the following microarchitecture.

The Intel Atom is an in-order single-core processor with Hyper-Threading, for low power mobile PCs and low-price desktop PCs.

Intel has released Nehalem (Core i7) on November 2008 in which Hyper-Threading makes a return. Nehalem is projected to contain up to 8 cores and will be able to effectively scale 16+ threads.