1 |
On Tuesday 10 May 2011 12:28:01 Adam Carter wrote: |
2 |
> I haven't been able to find clear info on Hyperthreading, but from what I |
3 |
> can tell it appears that with Hyperthreading On; |
4 |
> 1. per core performance is slightly reduced |
5 |
|
6 |
Not in all circumstances... |
7 |
|
8 |
> 2. you can run two threads per core, but there is some contention between |
9 |
> threads |
10 |
|
11 |
Not in all circumstances... |
12 |
|
13 |
> So, generally, if you have less busy threads than cores, you should leave |
14 |
> it off and if you have more busy threads than cores you should turn it on. |
15 |
> |
16 |
> Does that sound right? |
17 |
|
18 |
Nope :) |
19 |
|
20 |
HT is based on the theory that not all threads are the same. That means that |
21 |
certain parts of a core can be kept busy with a completely different task. |
22 |
If the system is used for lots of different things simultaneously, then HT can |
23 |
lead to better performance. |
24 |
|
25 |
However, if the system is doing a lot of identical calculations, then |
26 |
performance will actually be less as the CPU is trying to find tasks that can |
27 |
use unused parts. These are, in this case, extremely rare as the vast majority |
28 |
of CPU-tasks are identical. |
29 |
|
30 |
> I assume that newer Nehalem/Core i7 HT (otherwise known as simultaneous |
31 |
> multi-threading, SMT) just has less contention between threads than the |
32 |
> older P4 HT, but the busy threads vs core principle remains. |
33 |
|
34 |
HT is still based on the same theory as it was when it was first introduced. |
35 |
The algorithms are probably improved, but the same problem will occur. |
36 |
|
37 |
In general, for a desktop or server that is doing a lot of different things, HT |
38 |
is likely to improve performance. |
39 |
If the server is dedicated to a single service, there is a distinct chance HT |
40 |
will lead to decreased performance. |
41 |
|
42 |
-- |
43 |
Joost |