With Nehalem, did Intel bother fixing that minor Pentium 4-era problem where a generically multithreaded application doesn't benefit nearly as much from Hyperthreading as an application that's specifically designed to make use of Hyperthreading?
-
davepermen Notebook Nobel Laureate
they improved hyperthreading. os improved understanding hyperthreading.
but an app not specifically aware of it will still be slower than one specifically aware of it. that's just normal. -
On the quad cores with Hyperthreading, there was some loss due to vast majority of consumer apps supporting UP TO 4 threads, but on the 2 cores with Hyperthreading, that's not a problem: http://www.hardwarecanucks.com/foru...aunch-clarkdale-core-i5-661-cpu-review-9.html
I have not seen a benchmark where it was slower with Hyperthreading on with the Arrandale/Clarkdale.
In fact, the Pentium G6950, the only Clarkdale without Hyperthreading, manages to take out all the performance advantages out over the Core 2: http://www.xbitlabs.com/articles/cpu/display/clarkdale-review_16.html
On the Pentium 4, the replay feature messed up performance in Hyperthreading pretty badly. There are no such downsides in Nehalem. Hyperthreading itself isn't better, but the CPU is better suited for it. -
...I think I'll simply settle for a verdict of "inconclusive" because there's no data available - every Nehalem benchmark I've seen so far, including this HardwareCanucks one, is generically multithreaded.
I kind of expected this though - applications that were specifically written and compiled to take advantage of Intel's Hyperthreading x86 extensions were extremely rare even back in the Pentium 4 days. I suppose that in the modern multicore era, it would make even less business sense to spend money on features that don't benefit the vast majority of people at all, and only provide modest benefits over standard multithreading for the few people who currently have Hyperthreading-capable CPUs. -
thinkpad knows best Notebook Deity
Yes because from what i know of hyperthreading, it just splits ressources into partitions that are seen as "Cores" to the supporting OS, so it's no major breakthrough or performance increase, if any it just balances out power more efficiently.
-
I disagree. For the minimal impact of die size and power, there's no alternative. The additional registers require less than 5% of die space and you can gain 20-30% on well-threaded apps.
I mean look back at the Xbitlabs bench again. No SINGLE app there is a loss in Hyperthreading, and that includes games which are generally known to be lightly threaded. With 4 cores the extra logical threads are kinda overkill. With 2? Perfect.
If we look back with Core i7 965, the SAME games are par with HT: http://www.xbitlabs.com/articles/cpu/display/intel-core-i7_8.html#sect0 -
To clarify, I wasn't talking about the Hyperthreading overhead penalty which is all but gone these days, I was talking about pure hyperthreading vs multithreading.
In other words, I'm convinced that Hyperthreading is always beneficial today (whereas it could be and often was a detriment back in the P4 days), but is modern software able to fully 100% take advantage of it and deliver maximal performance? My (and davepermen's) hypothesis is "no". -
Ahh, I really get it now. XD
I don't think its completely avoidable, and it isn't always Intel's fault, unless you can call needing more cooperation with developers their fault. Some apps might be just as well taking advantage of ILP as it does TLP. In that case, the extra load created by Hyperthreading would just be a hindrance. For the most time, Hyperthreading is explicitely about filling "bubbles" in the otherwise empty parts of the pipeline. If its not empty, you can't fill it with more.
Not sure how future architectures like Sandy Bridge will help with that. The even higher per core performance will increase the "problem" in this specific case. -
For most daily dasks hyperthreading is just overated, certain games can handle it very well and is for it, but for the most part i think the i7 i just really overated, i am glad that anything i put at it can't stop it but besides that eh.
-
davepermen Notebook Nobel Laureate
the trick is, those features are not to gain performance. they are to make the processor more REACTIVE.
when ever a single core (or two) gets unresponsive, it is when it (shortly) gets to 100% core usage. these are the moments you have half a second, a full second, or something blockage (or even 1/60th of a second is visible, as f.e. an animation can't be smooth then, anymore).
thanks to overdrive and hyperthreading, two features help to fight the blockage: the core that is blocking gets higher clocked to accomplish it's job faster.
hyperthreading: even while all cores might be blocked, we still have additional threads that still can get handled (network, audio, any disk accesses etc).
so what do you get when you get an i7 compared to an ordinary quadcore?
a system that can handle it's bottlenecks well
what does that mean? an i7 is not great for max performance (but it is, too). but for it's MIN performance. when ever a normal cpu gets stuck anywhere, the i7 has something to fight that.
Hyperthreading and multithreaded applications
Discussion in 'Hardware Components and Aftermarket Upgrades' started by Peon, Feb 3, 2010.