• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

hyperthreading ? is it reallu useful ??????

Man of Honour
Joined
13 Nov 2009
Posts
11,596
Location
Northampton
Hyperthreading is pretty turd. When people talk about these performance boosts they're essentially fibbing.

With the exception of a handful of predictable batch processing tasks no activity application(s) is bottle necked by running out of physical execution cores. Programs which people demand high performance from for a 'user time' experience by necessity can't be split into a large number of threads. (One or two at best) Any other threads will be low usage and could be all run at full speed on 1 core. There is and for the foreseeable future no need to think about using 'fake' cores. Especially when higher transistor count is going into even more real cores.

I've seen roadmaps that have 12+ cores soon, Desktop user time applications and OS's are no way close to being able to load that many cores never mind to want to utilise a load of fake unpredictably slow ones that can easily slow a system down through cache trash.

The fail of the I7 sandybridge is it's a 4 cores 4 fake. In a world where applications can't even use 4 real. The 'K' series does not have Virtualisation support so it will run virtual boxes slowly and virtual boxes are the only user time use that can scale well with cores.

Explain to me why an i7 860/920/930/950 will be faster at the same clock speed than an i5 750 running software that makes use of 8 cores (albeit 4 physical 4 HT)
 
Associate
Joined
16 Jan 2011
Posts
51
Explain to me why an i7 860/920/930/950 will be faster at the same clock speed than an i5 750 running software that makes use of 8 cores (albeit 4 physical 4 HT)

What software has 8 threads that don't access the same resource?

It must be a batch task or something like a server under large load. Then I am sure it will benefit from 4 extra fake cores (assuming no cache trash).
 
Last edited:
Associate
Joined
16 Jan 2011
Posts
51
I don't run hyperthreading. I only use my pc for gaming. I find that the extra 200/300mhz without ht is more useful than the extra cores for my games :)

Which is likely what most home users would find. In fact many quad core chips are not utilised by most day to day home user applications (including high end games) the boost in performance people get over the equivalent dual core chip is down more to cache.

If you are willing to overclock you can for every scenario match the gains that hyper-threading gives in its specifically favourable batch duties.

Some of the benchmark gains people tout for hyperthrading on real time games are likely Windows having less of a chance of messing up process affinity. Why I use Core-Maximiser when playing supremecommander.
 
Man of Honour
Joined
13 Nov 2009
Posts
11,596
Location
Northampton
Distributed computing (Folding@home & SETI)
Video encoding
Rendering

Thats just to name a few things that will fully utilise 4+ cores. For gaming there's no need however for a lot of other tasks it will be utilised. The above applications will scale across cores almost infinitely, I've seen Folding@home in particular load a 48 core opteron system fully.
 
Associate
Joined
16 Jan 2011
Posts
51
Distributed computing (Folding@home & SETI)
Video encoding
Rendering

Thats just to name a few things ......


No, that's just about all of them. Notice the key theme is that they all don't have to wait for User input.

Video encoding is overstated. Video encoding happens fast enough for how rarely you do it. The 5 mins you save on a task that you will leave your computer for 30mins for anyway is not really impressive and is a moot gain in productivity if you spent the last 9hrs editing the footage yourself. The only boon is if you're a naughty boy who constantly bittorents 'highdef' TV every day and is constantly re-encoding it to blue ray and thus all your time is spent rendering, who does that?

Rendering, who causally renders 3D scenes, seriously? If your rendering scenes every day (in fact at all) you must be part of a special afx company or something in which case you should be using a server-end multicore multi socket system which you likely are not buying.

Seti@home Folding@home and any kind of mathsy montecarlo number crunch batch op: If you want to leave your PC on to charitably donate computing time to a worthy cause... Good for you, I encourage it. I personally am not going to take that into consideration for any aspect of a day to day system for few % in my score.
 
Last edited:
Associate
Joined
12 May 2005
Posts
1,777
Explain to me why an i7 860/920/930/950 will be faster at the same clock speed than an i5 750 running software that makes use of 8 cores (albeit 4 physical 4 HT)

The core i7 has more cache and triple channel memory, otherwise identical.

Hyperthreading is proven to reduce performance for optimized code that would be produced by programming gurus such as John Carmack.
 
Man of Honour
Joined
13 Nov 2009
Posts
11,596
Location
Northampton
The core i7 has more cache and triple channel memory, otherwise identical.

Hyperthreading is proven to reduce performance for optimized code that would be produced by programming gurus such as John Carmack.
In that case take your i7 run a benchmark/task of your choice that will make use of 8 threads then turn HT off and run it again and tell me its no slower.

No matter how optimized the code is there will always be parts of the CPU not doing something, I can't remember the specific order of code excecution but if the code has gone through the cache to the core then the cache is sat doing nothing, HT gets that part of the CPU working while its waiting for the later parts of the chip to finish they're current task

We're already seeing games that are utilising 6 cores so again tell me HT isn't giving them an increase in FPS.

Not a game I personally play but IIRC Flight Sim X will bring even a 980X to its knees with the detail etc turned up. Now tell me that even for gaming HT is useless.

Troll is troll
 
Last edited:
Associate
Joined
16 Jan 2011
Posts
51
The core i7 has more cache and triple channel memory, otherwise identical.

Hyperthreading is proven to reduce performance for optimized code that would be produced by programming gurus such as John Carmack.

And that's the downside, since there are no API's I know of (correct me someone) to tell an OS to avoid running a thread on a real cores corresponding fake core. Also these fake cores contribute no extra cache that real ones do and most applications we consider useful usually bottle neck at cache dependent fetching stages.

Hyperthreading for me Intel is solving of problem that does not exist, let the CPU wait and remain cool. If a thread can't push a core any more using 'out-of-order' execution then it should wait and keep cool. I don't want windows to risk trashing my cache by ramming through extra threads on that core that is likely one of its many stupid background processes that could be run on a non-maxed real core altogether.

Hyper-threading in my opinion is a marketing buzz so intel can recycle it's old tech. It's relevance for the home user was ended by dual-core CPU's. It's a cheap way of saying the CPU can do more while keeping the costs down with a 4 'processing unit' die rather than moving to the 6-8 of what people expect. Since now the causal user has been trained to respond positively to increase in CPU units.

Hyperthreading's only boon in the home is on low power systems with single cores that lack 'out of order' execution, and even then they are a mixed blessing as it can potentially still slow things down.
 
Last edited:
Associate
Joined
16 Jan 2011
Posts
51
In that case take your i7 run a benchmark/task of your choice that will make use of 8 threads then turn HT off and run it again and tell me its no slower.

*IF* those 8 threads are equal. The reality of real programs is that 1 will be demanding 1 somewhat demanding and the rest could all run on one core fine.

No matter how optimized the code is there will always be parts of the CPU not doing something, I can't remember the specific order of code excecution but if the code has gone through the cache to the core then the cache is sat doing nothing, HT gets that part of the CPU working while its waiting for the later parts of the chip to finish they're current task


Already been invented. That's called 'out of order execution'. Hyper-threading opens up a window on top of that which is OS visible known by Intel as a 'logical CPU'. It's debatable as to what benefit this is to an application as it requires an extra thread to take advantage of this....

We're already seeing games that are utilising 6 cores so again tell me HT isn't giving them an increase in FPS.

If by cores you mean threads? Games have been using 6+ of threads for decade(s). There is nothing clever about using more threads. What is clever is balancing the load between threads and I don't think any game bar some sort of turn based chess like game can balance the load on 6 threads or I have missed a miracle in program design over the last few years. So no, HT won't necessarily give an increase in FPS even real cores don't do that. Given that Hyper-threading 'steals' cache it could even slow one of the physical cores down potentially slowing FPS down if that's the core the 'render' thread runs on.

Not a game I personally play but IIRC Flight Sim X will bring even a 980X to its knees with the detail etc turned up. Now tell me that even for gaming HT is useless.

I would not be surprised if Flight Sim X actually ran faster when that guy turned HT off. Also flight sim X won't be any good at load balancing. In fact, if Intel brought out a I7 980X with only two cores with the same cache and windows behaved itself and did not allocate the games threads and operating system threads all to 'core 0' I would put money down there would be no decrease in performance.

[In fact this is the reason intel don't do this, they won't make dual-core chips with the latest specs as they want to sell you as much as possible with the high end. Which is why they gimp the I5 and I3 in the ways they do to force the high-end user to buy I7 and not the former and over clock the **** out of them]

All the performance above Dual core benchmarks for games is typically increased cache and increased chance that windows does not put the games 2 high usage threads on the same core.

Troll is troll

???
 
Last edited:
Associate
Joined
8 Oct 2004
Posts
2,283
Rendering, who causally renders 3D scenes, seriously? If your rendering scenes every day (in fact at all) you must be part of a special afx company or something in which case you should be using a server-end multicore multi socket system which you likely are not buying..

Hmm... because there are no freelancers working at home with their own rigs? :) Like me.... i have 1 i7 970 here, 1 i7 920, three Q9650s and a couple of old dual cores. works nicely in a small network over gigabit. HT on all the machines that can handle it seriously improves rendertimes = saved money.

edit: for the record, HT gives my i7 a serious performance boost in rendering.
 
Last edited:
Associate
Joined
9 Nov 2009
Posts
489
^Same here. I use the CPU for pretty much the same reason, serving numerous people.

For gaming on the i7 comp I saved non-HT profiles, pretty much turning the CPU into an i5 750 (with less aggressive Turbo but triple ch. RAM), and was surprised when I only saw marginal fps differences, at best, when running benchmarks in games (some people report gains with HT off, though rarely state the size of the gain).

Then I saw these gaming benchmarks .

I think it's more a case of:
who is HT beneficial for and at what cost?
How much more beneficial is HT compared to other solutions under these circumstances?

e.g: I wouldn't want to pay for the HT bonus if I was simply making a gaming rig.
 
Last edited:
Soldato
Joined
21 Sep 2009
Posts
5,249
Location
London
An easy way to explain it whilst remaining accurate, is to imagine a worker at a toll booth taking tolls from vehicles on a single track, he can process more but is reliant on the single track providing the customers, hyperthreading increases the tracks to two, and the worker at the toll booth has the approaching vehicles staggered so he can collect from either side, effectively doubling the rate.
 
Man of Honour
Joined
13 Oct 2006
Posts
91,171
And that's the downside, since there are no API's I know of (correct me someone) to tell an OS to avoid running a thread on a real cores corresponding fake core. Also these fake cores contribute no extra cache that real ones do and most applications we consider useful usually bottle neck at cache dependent fetching stages.

This is the fallacy that many people fall into... there are 4 real cores and 8 CPU threads*, not 4 real cores and 4 fake ones. All OS threads run on real cores, all get equal time on real cores just as they would if there was only 4 CPU threads, sometimes the workload from more than 1 OS thread can be executed on the same real core without compromising the overall performance and infact increasing overall performance.

There seems to be a huge misunderstanding from 90% of the people posting in this thread as to how hyperthreading works whilst being very vocal against it.


*not actually CPU threads but its easier then explaining thread scheduling/execution.
 
Last edited:
Associate
Joined
16 Jan 2011
Posts
51
Hmm... because there are no freelancers working at home with their own rigs? :) Like me.... i have 1 i7 970 here, 1 i7 920, three Q9650s and a couple of old dual cores. works nicely in a small network over gigabit. HT on all the machines that can handle it seriously improves rendertimes = saved money.

edit: for the record, HT gives my i7 a serious performance boost in rendering.

Then you admit you have a specific niche? In terms of features Hyperthreading ins't even number 1# for that niche. I would save my fanfare for things like SSE support or open CL. And if you look at my specific point I never charge HT with not working, just only working in specific scenarios that not many ppl do - tasks which you admit to explicitly doing. In the final analysis you should still consider extra real cores and instruction sets as well as general performance per hz above hyperthreading.

Amd Bulldozer should be something more in line with what some people expect from SMT (Hyperthreading). Though personally I would rather them give me more Cores and less heat and GTFO.

edit: for the record, HT gives my i7 a serious performance boost in rendering.

Then something is very wrong. Your CPU should have it's pipes pretty full. If so true, intel is colluding more than I thought with vendors.


^Same here. I use the CPU for pretty much the same reason, serving numerous people.

For gaming on the i7 comp I saved non-HT profiles, pretty much turning the CPU into an i5 750 (with less aggressive Turbo but triple ch. RAM), and was surprised when I only saw marginal fps differences, at best, when running benchmarks in games (some people report gains with HT off, though rarely state the size of the gain).

Then I saw these gaming benchmarks .

I think it's more a case of:
who is HT beneficial for and at what cost?
How much more beneficial is HT compared to other solutions under these circumstances?

e.g: I wouldn't want to pay for the HT bonus if I was simply making a gaming rig.

I don't quite get what you mean by "serving numerous people". I personally don't like to consult my BIOS and change settings for optimal operation. You should still prefer more real cores over HT (if we had that consumer choice, but we don't). Since the fastest processors (atm intels highend) all come with HT there is no choice. All I am saying is at the end of the day keep the gains in prospective and avoid:

- Intels marketing machine that implies HT is like double the cores!
- Fanboys who claim HT is a main component behind general performance gains from chips like the Q9550
- People who go around claiming most software scales with Cpu cores and thus fake cores aswel. When neither, especially the latter is true.

An easy way to explain it whilst remaining accurate, is to imagine a worker at a toll booth taking tolls from vehicles on a single track, he can process more but is reliant on the single track providing the customers, hyperthreading increases the tracks to two, and the worker at the toll booth has the approaching vehicles staggered so he can collect from either side, effectively doubling the rate.

Errrr, that's pretty tricky to understand and incorrectly implies a single CPU unit could in fact do more.

A more accurate example would filling out a questionnaire. Where the questions are instructions from 1 thread and the person is a CPU core.

Hyperthreading happens when someone gets stuck on say question (19) and they can't move on to question (20) and come back to (19) later [cuz question (20) needs the answer from (19)] so while they think about the answer to question (19)[akin to a cache miss] they do some questions from a second typically unrelated* questionnaire(the hyperthread)

*It is unrelated in most cases because if it was a related thread, that thread too would be likely waiting for the result to question (19) from the first questionnaire to be answered. This is why hyperthreading or even multiple cores don't play 2nd fiddle to simply have individually more powerful cores.


Hope this clears things up for peeps.:)

P.S on 2nd thought, my example is somewhat bogus too, though imo slightly clearer than toll booths.
 
Last edited:
Man of Honour
Joined
13 Oct 2006
Posts
91,171
If your using a toll booth as an example is more like:

With hyperthreading off - 4 vehicles approach the toll booth car, motorcycle, car, car they each have to go through 1 by 1 taking a turn regardless of how many could actually fit through at a time.

With hyperthreading on - 4 vehicles approach the toll booth car, motorcycle, car, car the first car and motorcycle go through at the same time side by side the other 2 cars still have to go through 1 by 1 but the 4 have gone through 25% faster but the gain is highly dependant on the traffic pattern.
 
Associate
Joined
16 Jan 2011
Posts
51
If your using a toll booth as an example is more like:

With hyperthreading off - 4 vehicles approach the toll booth car, motorcycle, car, car they each have to go through 1 by 1 taking a turn regardless of how many could actually fit through at a time.

With hyperthreading on - 4 vehicles approach the toll booth car, motorcycle, car, car the first car and motorcycle go through at the same time side by side the other 2 cars still have to go through 1 by 1 but the 4 have gone through 25% faster but the gain is highly dependant on the traffic pattern.

That for me has the problem that it suggests elements on a pipeline can do the same operation on 2 threads simultaneously. (A ticket booth & worker never does more than one vehicle at a time in real life and in metaphor).

For that ticket booth analogy to work you need at least two sets of ticket booths A & B in series and then pose the case that while one car is doing A another car can use B. Thus making sure A and B are always utilised. Though that analogy runs rough shot over the fact that operations are pipelined and executed 'out of order' anyway.

These sorts of imprecise metaphors leave people to overestimate the possible gains of Hyperthreading.
 
Soldato
Joined
2 Dec 2006
Posts
8,204
Interesting read through this.

I'm curious and have a question but I'd like an answer which isn't bias by the obvious two sides here of people argueing each side blindly regardless.

I don't plan to upgrade my cpu for another 4-5 years abouts. Do you think in this case HT would be a worth while investment? 5 years down the line will have likely shown significant breakthroughs in cpu's I would have thought and I feel that without HT I may miss out on a lot of performance.

So is it worth paying the extra £80 (when prices stop being obserd) to pick up the 2600k? The money isn't a big deal to me, just the value of what I'm getting.

:EDIT:

I also enjoy RTS a lot, things like supreme comander in particular, which do benefit from quads and ht when using a multi core mod.
 
Last edited:
Back
Top Bottom