Subject: Re: [FAQ not FACT]wikipedia - Hyperthreading
From: sig666
Date: 14/12/2005, 21:43
Newsgroups: alt.sci.seti

Beemer Biker wrote:
"Max Power" <mikehack@u.washington.edu> wrote in message
news:dnjsn9$krf$1@gnus01.u.washington.edu...

FAQ : http://en.wikipedia.org/wiki/Hyperthreading



Just want to point out that the wikipedia articles are written by
contributers such as you and I.  It is quite possible this HT article was
written by AMD.  Look here for controversy surrounding wikkipedia's
anonomous contributors
http://www.mysanantonio.com/news/metro/stories/MYSA121105.01B.wikipedia.320ce32.html


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

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

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, demonstrating that a malicious thread operating with limited
privileges in theory permits monitoring of the execution of another

thread,

allowing for the possibility of theft of cryptographic keys.

The future of Hyper-Threading
The future of Hyper-Threading is not bright. With Intel shifting its
priority in processor design to energy efficiency and multi-core instead

of

single-core performance, Hyper-Threading seems to be a dead end.
Hyper-Threading consumes about the same amount of power as an additional
processor core, even though adding the technology only offers a fraction

of

the performance increase compared to adding another core to a processor.
Thus, Intel has decided to relegate Hyper-Threading to a feature used to
separate top of the line enthusiast processors from mainstream processors.
This is demonstrated in the difference between the mainstream Pentium D
which does not support Hyper-Threading and the top of the line Pentium
Extreme Edition which does support Hyper-Threading.





FWIW, I exactly double the seti production on P4 HT (w2k)  and quadupled the
production on dual HT xeon 's (running SMP linux)


Yes, the same here.