On Tuesday 10 May 2011 12:28:01 Adam Carter wrote:
> I haven't been able to find clear info on Hyperthreading, but from what I
> can tell it appears that with Hyperthreading On;
> 1. per core performance is slightly reduced

Not in all circumstances...

> 2. you can run two threads per core, but there is some contention between
> threads

Not in all circumstances...

> So, generally, if you have less busy threads than cores, you should leave
> it off and if you have more busy threads than cores you should turn it on.
> 
> Does that sound right?

Nope :)

HT is based on the theory that not all threads are the same. That means that 
certain parts of a core can be kept busy with a completely different task.
If the system is used for lots of different things simultaneously, then HT can 
lead to better performance.

However, if the system is doing a lot of identical calculations, then 
performance will actually be less as the CPU is trying to find tasks that can 
use unused parts. These are, in this case, extremely rare as the vast majority 
of CPU-tasks are identical.

> I assume that newer Nehalem/Core i7 HT (otherwise known as simultaneous
> multi-threading, SMT) just has less contention between threads than the
> older P4 HT, but the busy threads vs core principle remains.

HT is still based on the same theory as it was when it was first introduced. 
The algorithms are probably improved, but the same problem will occur.

In general, for a desktop or server that is doing a lot of different things, HT 
is likely to improve performance.
If the server is dedicated to a single service, there is a distinct chance HT 
will lead to decreased performance.

--
Joost

Reply via email to