Microsoft Store
 

Hyper-threading


 

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 first 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.

Related Topics:
Intel - Simultaneous multithreading - Pentium 4 - Super-threading - Intel Xeon - Execution unit - Cache

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

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.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Fundamentally we still only have one CPU and one set of execution units, so if the OS dispatches two threads that contend for identical resources in the CPU then HT could reduce performance.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Hyper-Threading works by duplicating certain sections of the processor—those that store the architectural state—but not duplicating the main execution resources. This allows a Hyper-Threading equipped processor to pretend to be two "logical" processors to the host operating system, allowing the operating system to schedule two threads or processes simultaneously. Where execution resources in a non-Hyper-Threading capable processor are not used by the current task, and especially when the processor is stalled, a Hyper-Threading equipped processor may use those execution resources to execute the other scheduled task. (Reasons for the processor to stall include a cache miss, a branch misprediction and waiting for results of previous instructions before the current one can be executed.)

Related Topics:
Architectural state - Cache miss - Branch misprediction

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

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.

Related Topics:
Symmetric multiprocessing - Operating system

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

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.

Related Topics:
Scheduler - NUMA

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

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%.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

 

~ Table of Content ~

Introduction
Security
The Future of Hyper-Threading
See also
External links

 

 

~ What's Hot ~


~ Community ~

History Forum
Come and discuss about History, Civilizations, Historical Events and Figures
History Web-Ring
A community of sites, blogs and forums dedicated to History. Do not hesitate to submit your site.