Hyper-Threading
Encyclopedia : H : HY : HYP : Hyper-Threading
Hyper-threading, officially called Hyper-Threading Technology (HTT), is Intel's trademark for their implementation of the simultaneous multithreading technology on the Pentium 4 microarchitecture. It is basically a more advanced form of Super-threading that debuted on the Intel Xeon processors and was later added to Pentium 4 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.
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, and increased number of users a server can support.According to Intel, the first implementation only used an additional 5% of the die area over the "normal" processor, yet yielded performance improvements of 15-30%.
Intel claims up to a 30% speed improvement compared against an otherwise identical, non-SMT Pentium 4. The performance improvement seen is very application-dependent, however, and some programs actually slow down slightly when HTT is turned on. This is due to the replay system of the Pentium 4 tying up valuable execution resources, thereby starving the other thread. However, any performance degradation is unique to the Pentium 4 (due to various architectural nuances), and is not characteristic of simultaneous multithreading in general.
Details
Except for its performance implications, this innovation is transparent to operating systems and programs. All that is required to take advantage of Hyper-Threading is symmetric multiprocessing (SMP) support in the operating system, as the logical processors appear as standard separate processors.
However, it is possible to optimize operating system behaviour on Hyper-Threading capable systems, such as the Linux techniques discussed in [Kernel Traffic]. For example, consider an SMP system with two physical processors that are both Hyper-Threaded (for a total of four logical processors). If the operating system's process scheduler is unaware of Hyper-Threading, it would treat all four processors the same. As a result, if only two processes are eligible to run, it might choose to schedule those processes on the two logical processors that happen to belong to one of the physical processors. Thus, one CPU would be extremely busy while the other CPU would be completely idle, leading to poor overall performance. This problem can be avoided by improving the scheduler to treat logical processors differently from physical processors; in a sense, this is a limited form of the scheduler changes that are required for NUMA systems.
Security
In May 2005 Colin Percival presented a paper, [Cache Missing for Fun and Profit] (PDF file), demonstrating that a malicious thread operating with limited privileges permits monitoring of the execution of another thread, allowing for the possibility of theft of cryptographic keys.The future of Hyper-Threading
Current Pentium 4 based MPUs use Hyper-Threading, but the next-generation cores, Merom, Conroe and Woodcrest, will not. Hyper-Threading is a specialized form of simultaneous multithreading, which has been said to be on Intel roadmaps for the generation after Merom/Conroe/Woodcrest.While some have alleged that Hyper-Threading is somehow energy inefficient and claim this to be the reason Intel dropped it from their next-gen cores — this is not the case. A number of low-power chips do use multithreading, including the PPE from the Cell processor, the CPUs in the Playstation 3, Sun's Niagara and the MIPS [34K].
See also
External links
- A [more advanced article] from Real World Technologies, addressing Simultaneous Multi-Threading, selection strategies in the context of the EV8
- Intel's [High level overview]
- [HyperThreading Overview] from OSDEV Community
- An [introductory article] from Ars Technica
- An [introductory article] from HotHardware
- [Hyper-Threading Technology Architecture and Microarchitecture], technical description of Hyper-Threading (1.2 MB PDF-file)
- [Merom, Conroe, Woodcrest lose HyperThreading]
- [Hyper-threading on MSDN Magazine]
- Security
Sources
Replay: Unknown Features of the NetBurst Core [link]
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
