The Intel Xeon processor introduces a new technology called Hyper-Threading (HT) that makes a single processor behave like two logical processors. The technology allows the processor to execute multiple threads simultaneously, which can yield significant performance improvement. But, exactly how much improvement can you expect to see? This article gives the results the investigation into the effects of Hyper-Threading (HT) on the Linux SMP kernel. It compares the performance of a Linux SMP kernel that was aware of Hyper-Threading to one that was not.
It is NOT as great as Intel is advertising. Just like MMX back in the day
Apparently AMD’s 64bit Hammer will have HT also.
Can anyone confirm this?
“It is NOT as great as Intel is advertising. Just like MMX back in the day”
I disagree. All the reviews Ive seen say that its a great improvment. One thing I often see mentioned is that benchmarks really can’t do it justice. It just makes the whole OS more responsive and quicker to use, no matter what that OS may be. Even in this article, its clear that there are substatial performance gains for multi-threaded and/or processor intensive applications, such as servers. Certainly significant.
Advantages of HT are, as with SMP, not only about work through-put. It makes the system more responsive as well since it faster can free resources for a new thread in heavy work load. This is a big advantage in the media and real time industry, as for the serious multi-tasker.
To run Windows XP you *need* SMP or such to be able to multi task decently (due to a broken VM and scheduler that MS refuses to fix/rewrite in revision after revision of NT).
Not that I disagree, but in what ways are the VM and scheduler in Win XP broken? Is its VM worse then say early 2.4 series Linux?
Of all of the rumours of AMD, this must be the most baseless.
I agree with you: The VM and scheduler are broken. Windows XP seems to lag/stutter(!) sometimes.
I dont see what article you have read, in this one HT seems to be a great improvement at a low price. Sure, some kernel functions are slowed down a bit from enabling it but that is to be expected since one has to use a bit more clever methods when there are multiple processors. Overall it seems to be easily a 30-40% improvement.
The initial results are rather misleading, the whole point of hyperthreading is to make more efficient of processor resources by sharing them between different threads (so for example one thread might be doing an integer calculation whilst the other is doing a floating point one), so it is not surprising that single threaded benchmarks are unaffected in general.
However the later results, where they are running real applications, seem to be showing around 24% improvement on average with a non hyperthreading aware kernel, and around 35% when the kernel takes advantage of hyperthreading. Those figures are very impressive, no increase in cache size, no clock speed difference, no extra execution units, just making use of resources which on a non hyperthreading processor are wasted. Yes this requires some extra transistors for the control, so it’s not something for nothing, but it seems to be a very efficient way to use those extra transistors.
45% improvement under the 2.5 series is impressive. (but i think it’s the new scheduler that make the difference…)
dumb question, but I am very curious:
because the kernel understands that has hyperthreading available, and it the kernel that does the scheduling, does this mean the app needs to know there is hyperthreading or not?
I got the impression from the shallow look at the gcc/intel compiler benchmarks that this site finds, that the program was what had to be threading-aware. I didn’t realise that the kernel that these benchmarks were running on knew about hyperthreading?
reading it again it seems that both kernels were hyperthreading aware, but the second has a scheduler which takes better advantage of a hyperthreading system. Interestingly though, the scheduler improvements listed all seem to be relevant only when you have more than one physical CPU, so I don’t know where the improvement in performance on a single CPU system came from.
No, any app that uses threads automagically makes use of HT. That is to say – most apps won’t change, but you should have a more responsive system and be able to run slightly more apps at once then without it. On threaded apps – like Apache 2.x – you should see a nice little perk up.
Hah. *Someone* obviously did not make it past the first few sets of results!
I want to see Zeta running on a HT CPU! ๐
Giving its EXTREME multithreading and low overhead design, HT CPUs could very well yeild a hansome performance increase.
I doubt it will be like the often observed 80~90% increase with adding a second CPU, but a nice 65% jump would be nice.
Zeta spawns multiple threads for even the most simple GUI app. You could very easily realize single-app performance increases under ordinary conditions with Zeta.
I do agree that benchmarks cannot do justice to the technology.
The best part about HyperThreading is that M$’s Windows users will realize a very small performance increase, if any. ๐ Whilst the world of good SMP will realize nice gains.
AMD will have similar technology to HT from my understanding…
–The loon
it give them the reason to up the price of processor and have a new cool looking sticker to put on computer case, only need some transistor more and help only in “user” activity. CPU intensive loop seem to gain nothing from this.
Why bother to desing someting like that when they are soon to be force to use asynchronous desing to reduce heat anyway.
1) A single CPU intensive loop unless possible to parallelize no, but it helps on almost all workloads that would benefit from another processor, pretty damn good results.
2) The Pentium 4 already makes extensive use of asynchronous design in parts. Instruction decoding for example uses lots of asynch logic.
Please read the article, for such a low cost HyperThreading is insanely good. Please note that the first few tables are for kernel functions, quite a penalty for using the multiprocessor compatible ones is expected. They have extremely small impact in applications, most programs that are cpu intensive will spend little time in system code unless waiting for io (at which point the processor matters little anyway).
Not that I disagree, but in what ways are the VM and scheduler in Win XP broken? Is its VM worse then say early 2.4 series Linux?
It may not be much worse, but early 2.4 otoh was considered broken so it’s not really a good comparison.
What’s wrong with the NT 4/5.x VM I don’t know from a techincal perspective. The code for it is closed and I’m not interested in it anyway. Anyone who has done some serious multi-tasking under NT 4/5.x should know what I mean though… It’s really a shame since the system is pretty fast and efficent when single-tasking.
If MS gave OS engineering a bit more focus this OS could be great.
>>>>The best part about HyperThreading is that M$’s Windows users will realize a very small performance increase, if any. ๐ Whilst the world of good SMP will realize nice gains.
Windows XP is already optimized for hyper-threading.
>>The best part about HyperThreading is that M$’s Windows users will realize a very small performance increase, if any. ๐ Whilst the world of good SMP will realize nice gains.
>>Windows XP is already optimized for hyper-threading.
I believe the Professional version is optimized for hyper-threading but the Home version is not.
Both versions of XP are optimized for hyper threading.
http://www.intel.com/support/platform/ht/os.htm
Let’s see, according to pricewatch;
1 – P4 3.06GHz – $630.00
2 – Xeon 1.8GHz – $318.00
YEAH! Thanks Intel, but NO! I’ll take a true SMP system for half the cost thanks anyway!.
Dual Xeons’ @ 1.8gig would embarrass a single 3gig CPU under heavy threaded load everytime.
Oh wait, that’s not entirely fair. I forgot we had $630.00 to spend on the CPU. Let’s try 2 – Xeon 2.6’s for $630.00 or perhaps 4 – Xeon 1.8’s for $638.00.
It’s Hyper alright! Actually, we had words for the “Hyper” kids in school. We called them “SPAZ” and they rode the short buses to school. I wonder if I went to class with some of these Intel clowns.
I wonder if I went to class with some of these Intel clowns.
I guess you are the clown since you are still buying an Intel processor from those “clowns.”
Billnvd65, somehow you seem to conclude that hyperthreading is bullshit from comparing the price of two processors whioh BOTH have hyperthreading. It has been implemented on Xeons for some time now, it is only new on the P4. In fact if you read the article the tests were done on a 1.6Ghs Xeon, which Intel don’t even list any more.
The elevated price of the P4 relative to the Xeon is not down to hyperthreading, it’s down to the fact that it’s a new chip, and it’s the fastest kid on the block, this means that
a) The yields are lower, thus making it more expensive to produce
b) There are enough customers who want one desperately enough to pay an elevated price
It’s basic supply and demand, in three months time there’ll be a faster P4 out, and the 3.06Ghs will have dropped to be more in line with the older P4 chips (which if you look are slightly cheaper than their equivalent clock speed Xeons).
And anyway once you add in the price difference between a single CPU and dual CPU board the difference between the systems becomes much less, probably still favours the dual Xeon system, but for how long?
And finally you can’t use those Xeons in a quad processor system, they are the Xeon DP, for more than two processors you need a Xeon MP, the cheapest one I’ve found on pricewatch (in a quick search, so I could have missed something) was over 1200 dollars for a 1.4Ghz chip, and motherboards are also quite a bit more expensive than dual boards.
I believe the Professional version is optimized for hyper-threading but the Home version is not.
No, kernel supports SMP, that’s all. It’s not like the Pro version consists of other code which is “optimized for hyper-threading”.