how far do the benefits of hyperthreading go?

VirtualLarry

No Lifer
Aug 25, 2001
56,587
10,225
126
would there be practical improvements from more that one logical core per physical core, esp given haswell's 6-wide execution pipe?

Or would this be the logical-core equivalent of the P4-era "Mhz sells" marketing, except with logical cores?
 
Last edited:

IntelUser2000

Elite Member
Oct 14, 2003
8,686
3,787
136
would there be practical improvements from more that one logical core per physical core, esp given haswell's 6-wide execution pipe?

Or would this be the logical-core equivalent of the P4-era "Mhz sells" marketing, except with logical cores?

They can, and go from 2-threads per core to 4-threads per core. But the benefits are less than going from 2 to 4, and may result in greater performance losses in applications that don't support more threads than what the CPU can support.

For consumer oriented chips that Intel makes, they are probably better off enhancing the 2-thread/core than supporting more threads/core.
 
Last edited:

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
In theory hyperthreading could allow two programs to execute without any delay and improve performance 2x, so long as the two programs utilized different resources all the time. In practice we'll never see such a program. But for some key programs hyperthreading is well worth the transistor budget spent on it.
 

Olikan

Platinum Member
Sep 23, 2011
2,023
275
126
main benefit of hiperthreading is to hide very long latency (that OoOE can't hide), by using another thread... kinda like gpus
 

TuxDave

Lifer
Oct 8, 2002
10,571
3
71
main benefit of hiperthreading is to hide very long latency (that OoOE can't hide), by using another thread... kinda like gpus

Beat me to it. If you have a cache miss on one thread, the OoOE buffers will get filled up waiting for it and that thread will get stalled. With hyperthreading, at least you have something else to work on.
 

Charles Kozierok

Elite Member
May 14, 2012
6,762
1
0
Intel has no incentive to expand to four threads per core.

From a technical standpoint: as others have said, there are diminishing returns.

From a marketing standpoint: unlike AMD, Intel doesn't market its "extra core-ish" functionality as extra cores, so they get no "core race" benefits. The best they could do was try to call this "Super4XThreading" or something silly like that, and nobody will care anyway.

From a PR standpoint: the day this comes out, someone will publish test benchmarks comparing 4x HT and regular HT showing that there is almost no difference, and everyone will ask what the point was.

Seems lose/lose/lose to me.
 

parvadomus

Senior member
Dec 11, 2012
685
14
81
4 threads per core must be complex to implement. And I think one of the HT problems might be the inhability to predict per thread performance (Im just guessing).
How do you know which thread should continue executing at X time? I think this would be a mess for 4 threads, but it might work for servers though.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,587
10,225
126
4 threads per core must be complex to implement. And I think one of the HT problems might be the inhability to predict per thread performance (Im just guessing).
How do you know which thread should continue executing at X time? I think this would be a mess for 4 threads, but it might work for servers though.

How does SUN's CPU do it?
 

parvadomus

Senior member
Dec 11, 2012
685
14
81
SUN are not for servers? With a constant high workload, the benefits should outweight the drawbacks I think.
 

TuxDave

Lifer
Oct 8, 2002
10,571
3
71
4 threads per core must be complex to implement. And I think one of the HT problems might be the inhability to predict per thread performance (Im just guessing).
How do you know which thread should continue executing at X time? I think this would be a mess for 4 threads, but it might work for servers though.

That's why you have to instill as much "thread fairness" as possible and watch out for deadlocks where one thread can get completely stalled due to the other thread/threads.
 

Ajay

Lifer
Jan 8, 2001
16,094
8,114
136
4 threads per core must be complex to implement. And I think one of the HT problems might be the inhability to predict per thread performance (Im just guessing).
How do you know which thread should continue executing at X time? I think this would be a mess for 4 threads, but it might work for servers though.

This article should give a good idea. Dec had been working on SMT R&D for sometime and EV8 was supposed to debut with it (4 way I think, because that's what DEC's research showed was the point of diminishing returns):
http://www.realworldtech.com/alpha-ev8-wider/

Man, Intel should have scrapped Itanium and worked with Compaq to continue development of the Alpha :(
 

Idontcare

Elite Member
Oct 10, 1999
21,110
64
91
This article should give a good idea. Dec had been working on SMT R&D for sometime and EV8 was supposed to debut with it (4 way I think, because that's what DEC's research showed was the point of diminishing returns):
http://www.realworldtech.com/alpha-ev8-wider/

Man, Intel should have scrapped Itanium and worked with Compaq to continue development of the Alpha :(

At the time Compaq was a competitor to HP and Intel was under court order to jointly produce the Alpha processor, along with Samsung, for Compaq.

They were already well into the R&D of Merced with HP and wouldn't dare mix those IP lines, that would have been the perfect setup for IP lawsuits down the road had HP not bought Compaq in the meantime.

It is only because HP eventually bought Compaq that the opportunity for hindsight is created in which positing an Alpha-based replacement for Itanium becomes a plausible alternative. But this is a case where time-reversal does not lend itself nicely to symmetrical conclusions ;)
 

Ajay

Lifer
Jan 8, 2001
16,094
8,114
136
They were already well into the R&D of Merced with HP and wouldn't dare mix those IP lines, that would have been the perfect setup for IP lawsuits down the road had HP not bought Compaq in the meantime.

I have a bad habit of forgetting that part. :$