The HT
technology or the hyper–threading technology is a proprietary SMT
(simultaneous multi–threading) implementation developed by Intel in order to
make improvements in the pluralization of the computations that are carried
out by the microprocessors in PC. It was first included in the Xeon server
processes and then in Pentium 4 processors, atom, Itanium, core I series etc. Two
logical or virtual cores are addressed by the operating system for each physical
processor core present. The workload is shared among these two whenever
required and possible.
Features of Hyper Threading Technology
- Hyper–threading technology reduces the
number of instructions in the pipeline that are dependent in nature. This
is also its main purpose.
- Architecture: The hyper – threading technology
is based on the super scalar architecture. This kind of architecture is
capable of operate multiple instructions in parallel with separate data.
It appears as if there are two processors, thus letting the OS operate
with two processes simultaneously.
- Resource sharing: The same resources can be
shared by the two or more processors available. Re–allocation of the
resources can be done up on the failure of one of the processes.
- Support for SMT: Hyper–threading implies the
support for SMT through an OS that is SMT supportable. The OS needs to be
specially optimized for this technology. It is recommended by Intel to
disable the HTT if the OS have not been optimized for HTT.
- Two processors: Certain processor sections are duplicated by the HTT. These are the sections in which the architectural states are stored. The main execution resources are not duplicated. Because of this, the HT processor appears as two processors to the OS namely, the physical and the logical processor. So the OS is able to process two threads at the same time without messing up. When a current task is not using the execution resources and the HTT and when the processor is stalled (because of data dependency, cache miss or branch mis-prediction), those resources can be used by the HT processor in execution of some other task scheduled earlier.
- Support for SMP: SMP stands for symmetric
multiprocessing which is mandatory for taking full advantage of the hyper
– threading processing.
- Transparency: There is a lot of transparency
between the OS, its programs and this technology.
- Easy optimization: HTT allows easy
optimization of the behavior of the OS on HTT capable systems running on
multiprocessors.
- Provides support for multi–threaded code
thus improving both the response time and reaction.
- Application – dependent performance: It works
well in improving the performance of most of the MPI applications. The
improvement in the performance depends largely on the nature of the
running application and its cluster configuration. The performance gain
can also be negative. Using performance tools would be beneficial for
understanding the factors contributing to performance gain and
degradation.
- Security: A timing attack can be used by some malicious thread for monitoring the other thread’s memory access patterns. This is nothing but the stealing of the cryptographic info. This can be avoided by changing the cache eviction strategy of the processor.
The hyper
– threading technology has been criticized heavily for being energy inefficient. It has been stated by ARM that power consumption in SMT is more
than in the dual – core designs by a margin of 46%. It was also claimed that
cash thrashing is also increased by a margin of 42% in SMT when compared to a
37% decrease in the case of dual core processors. However, on the other side,
Intel has claimed the HTT to be highly efficient since it puts the ideal
resources to use.
No comments:
Post a Comment