Question Which is better 10 core HT or 12 core(no HT) ?

FlameTail

Diamond Member
Dec 15, 2021
4,384
2,756
106
Hyperthreading improves multi threaded performance by 5-30%

Let's say the average improvement is 20%.

[1 ]Then you have a 10 core CPU with HT.
[2] And a 12 core CPU without HT.

Both have the same multi-thread performance.

Which of the above is better implementation ? 1 or 2 ? What are the advanatges and disadvantages of each ?

PS: Assume that the cores are only one type of core ( no P Core/Ecore difference). Also let's assume all else is equal L3 cache, clock speed etc.. only difference is HT and core count.
 
  • Like
Reactions: Tlh97 and Vattila

FlameTail

Diamond Member
Dec 15, 2021
4,384
2,756
106
Obviously [2] takes up more silicon area. Are the advantages enough to compensate for it ?

What about power consumption between 1 and 2 ?
 

Hulk

Diamond Member
Oct 9, 1999
5,096
3,596
136
This is a subject question so I will answer for my workflow. I would take 10 cores with HT without a doubt. Assuming the core is modern HT will add 20% or more performance in apps that I use, meaning those 10 cores will perform like 14 or 15 non-HT cores.
As for power, HT scales pretty well so for the same architectures with and without HT, for equal work I think they would use about equal power at the end of the day. Keep in mind you generally "pay" more to get the work done faster so this gets a little complicated.
 
  • Like
Reactions: Tlh97 and Leeea

semiman

Member
May 9, 2020
77
68
91
Obviously 1 uses less die space(8%) according to Intel. At least thats good for Intel.
But real world problem is that not every task gets 20% boost by SMT. L1 I-cache bound tasks tend to suffer when SMT is enabled.
 

dullard

Elite Member
May 21, 2001
25,761
4,282
126
Like others have said, the answer is very application specific. Some software can use the 20 threads that you get with 10 cores + HT. Other software cannot benefit from that many threads. Some rare software is actually slower when using HT, so it isn't even a given that it will help at all. A lot of software that can benefit will benefit to widely varying amounts. But, we'll just go with 20% for this post.

Drawbacks of more cores:
1) More die space,
2) Larger space between the cores on the ends, meaning communication from core to core is slower,
3) More complex connections between cores, meaning the communication part of the chip requires more power.
4) Each core has less power available to it. Suppose you are running your CPU at 125 W and suppose the uncore (communication and other parts) uses 5 W (probably a bit more but 5 W gives easy math). That means your cores have 120 W available. With 10 cores, each core gets 12 W. With 12 cores, each core gets 10 W. That means that the CPU with 10 cores can run at a higher frequency.

Benefit of more cores:
1) We have basically hit a physical barrier with increasing frequency with our existing technology. Going higher in frequency requires massive amounts of power. It is just easier to add more cores than to add higher frequency.



I know you said to use the same frequency. But due to drawback #4, you aren't comparing
  • (10 cores) * (1.2 HT bonus)
vs.
  • (12 cores) * (1.0 for no HT)

You should actually compare 10 cores at a faster frequency to 12 cores. Your end result is closer to
  • (10 cores) * (1.2 HT bonus) * (5.2 GHz)
vs
  • (12 cores) * (1.0 for no HT) * (5.0 GHz)
So, without knowing the specific application, I'd choose 10 cores with HT over 12 cores without HT.
 
Last edited:

FlameTail

Diamond Member
Dec 15, 2021
4,384
2,756
106
Like others have said, the answer is very application specific. Some software can use the 20 threads that you get with 10 cores + HT. Other software cannot benefit from that many threads. Some rare software is actually slower when using HT, so it isn't even a given that it will help at all. A lot of software that can benefit will benefit to widely varying amounts. But, we'll just go with 20% for this post.

Drawbacks of more cores:
1) More die space,
2) Larger space between the cores on the ends, meaning communication from core to core is slower,
3) More complex connections between cores, meaning the communication part of the chip requires more power.
4) Each core has less power available to it. Suppose you are running your CPU at 125 W and suppose the uncore (communication and other parts) uses 5 W (probably a bit more but 5 W gives easy math). That means your cores have 120 W available. With 10 cores, each core gets 12 W. With 12 cores, each core gets 10 W. That means that the CPU with 10 cores can run at a higher frequency.

Benefit of more cores:
1) We have basically hit a physical barrier with increasing frequency with our existing technology. Going higher in frequency requires massive amounts of power. It is just easier to add more cores than to add higher frequency.



I know you said to use the same frequency. But due to drawback #4, you aren't comparing
  • (10 cores) * (1.2 HT bonus)
vs.
  • (12 cores) * (1.0 for no HT)

You should actually compare 10 cores at a faster frequency to 12 cores. Your end result is closer to
  • (10 cores) * (1.2 HT bonus) * (5.2 GHz)
vs
  • (12 cores) * (1.0 for no HT) * (5.0 GHz)
So, without knowing the specific application, I'd choose 10 cores with HT over 12 cores without HT.

Very vivid an informative.

You said that 120W is what the cores get. But isn't it the other way around ? The number. of cores would determine the number Of Watts.

So if one core consumes 10W, then 10 cores will consume 100W. If there are 12 cores, then it consume 120W.

The CPU with more cores consumes more power in this case
 

Hotrod2go

Senior member
Nov 17, 2021
349
233
86
Very vivid an informative.

You said that 120W is what the cores get. But isn't it the other way around ? The number. of cores would determine the number Of Watts.

So if one core consumes 10W, then 10 cores will consume 100W. If there are 12 cores, then it consume 120W.

The CPU with more cores consumes more power in this case
Not with rocket lake & alder lake, Intel markets them with 125 TDP for K models of i5.7&9 as an example. Obviously different core counts between those products though.
 

dullard

Elite Member
May 21, 2001
25,761
4,282
126
You said that 120W is what the cores get. But isn't it the other way around ? The number. of cores would determine the number Of Watts.

So if one core consumes 10W, then 10 cores will consume 100W. If there are 12 cores, then it consume 120W.

The CPU with more cores consumes more power in this case
Not any more. That was true years ago, but now both Intel and AMD have chips that will increase power up to a specified power level when given a large task.

Intel calls it Turbo Boost. If the processor is cool enough, then the CPU will increase power up until it reaches a limit. The limit could be any one of these:
(1) Your cooler's capability: can it keep the temperature down with increased power?
(2) The motherboard's capability: can it provide that amount of power?
(3) Predefined values: Intel chips specify 4 maximum power levels to use. They are PL1 through PL4 and a time limit called tau. In most cases, you only need to be concerned with PL1, PL2, and tau. Under large loads the Intel chip will use PL2 power levels for tau amount of time, then drop down to PL1 power levels. For example, it might use PL2 = 250 W of power for tau = 56 seconds and then drop to PL1 = 125 W of power until the task is completed. These predefined levels are often settable in your BIOS.

AMD has Turbo Core, Precision Boost, etc. The concept is similar to what Intel does, but it is much more restrained. In both cases, the CPU uses all the power that it is allowed to use.
 
  • Like
Reactions: Tlh97 and john3850

nicalandia

Diamond Member
Jan 10, 2019
3,331
5,282
136
Obviously 1 uses less die space(8%) according to Intel. At least thats good for Intel.
But real world problem is that not every task gets 20% boost by SMT. L1 I-cache bound tasks tend to suffer when SMT is enabled.
I've been trying to find what is the % die area that HT has on recent Intel Cores, because the last one I was able to find was from Pentium 4 era which was 5% for a 20% boost on highly threaded applications.

Can you please post the source of the 8%?
 

nicalandia

Diamond Member
Jan 10, 2019
3,331
5,282
136
Hyperthreading improves multi threaded performance by 5-30%

Let's say the average improvement is 20%.

[1 ]Then you have a 10 core CPU with HT.
[2] And a 12 core CPU without HT.

Both have the same multi-thread performance.

Which of the above is better implementation ? 1 or 2 ? What are the advanatges and disadvantages of each ?

PS: Assume that the cores are only one type of core ( no P Core/Ecore difference). Also let's assume all else is equal L3 cache, clock speed etc.. only difference is HT and core count.

How Screwed is Intel without Hyper-Threading?

1640197092675.png

Using the 8700K as example a 12C/12T processor would get 5030 points and a 10C/12T would get 5,523 points. HT on many Multithreaded task is better

Here is another sample of how a 6C/12T CPU has better MT than an 8C/8T CPU

1640202030185.png
 
Last edited:

nicalandia

Diamond Member
Jan 10, 2019
3,331
5,282
136

"The main benefit of HT comes from the ability of
execution units in the core, such as the floating-point units
(FPU), to handle instructions from more than one thread
simultaneously. The FPU is a shared resource that is
unaware of the multiple threads. From its perspective, it is
merely handling a stream of instructions organized in a
pipeline of the six execution units—during each cycle, it can
start executing the micro-operation in the next stage. Note
that this will often lead to gaps (as shown earlier in Figure 1)
where there is no micro-operation to execute. This could be,
for example, due to a wait for a load instruction to complete.
With HT, such gaps in the FPU’s pipeline can be filled with
micro-operations from a second thread—thus making for
better utilization of the FPU"

For many tasks HT/SMT is better than Intel little e-cores