My understanding (from uni cpu architecture) is that Hyperthreading (descended from supathreading) essentially straps a second control unit to the instruction portions within the cpu and then links it to the other control unit.

It can therefore pretend to be a second cpu by utilizing the otherwise
'no-op'ing alu's etc.

This goes hand in hand with pipelining, although pipelining provides an
almost universal leap in performance, hyperthreading can be very hard to pin point.

In windows, the most value i personally have seen is that you can set the affinity of a program to one 'core' and another to the other. So you can run firefox smoothly whilst making back ups of your favourite dvds onto cd using the other 'core'.

You may see better performance for a single threaded application with just a single 'core' (ie no hyperthreading).

I believe more recent kernels will have schedulers which consider HT cores differently to actual cores, prefering to spread across physical cores before HT cores.

Dean

Brett Morgan wrote:
From wikipedia (http://en.wikipedia.org/wiki/Hyper-threading):

Intel claims up to a 30% speed improvement compared against an otherwise
identical, non-simultaneous
multithreading<http://en.wikipedia.org/wiki/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<http://en.wikipedia.org/wiki/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<http://en.wikipedia.org/wiki/Simultaneous_multithreading>in
general.

On Fri, Jul 4, 2008 at 10:08 AM, Rev Simon Rumble <[EMAIL PROTECTED]> wrote:

I have an Intel Xeon 3 gig CPU and have hyperthreading turned on in the
BIOS.  I've been trying to work out what the advantages and
disadvantages of this are.

The CPU appears as two CPUs to the machine, which means that
non-threaded apps don't appear to use the whole CPU.  Is this a correct
assumption?  For example, using Devede to convert video, the transcode
process only uses 50% of CPU in top.  If I run another CPU-intensive
process, the CPU usage in top goes close to 100%.

So would I be correct in assuming that hyperthreading is useful for
keeping the system responsive under load, but if running single-threaded
CPU-intensive processes, it'll run faster without hyperthreading?

This machine can actually take another CPU, but finding a suitable one
and the matching fan and shroud (Dell) doesn't seem to be easy.

--
Rev Simon Rumble <[EMAIL PROTECTED]>
www.rumble.net

The Tourist Engineer
Just because you're on holiday, doesn't mean you're not a geek.
http://engineer.openguides.org/

"When I was a kid I used to pray every night for a new bicycle. Then I
 realised that the Lord doesn't work that way so I stole one and asked
 Him to forgive me."
- Emo Philips
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html





--
http://fragfest.com.au
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html

Reply via email to