Does Intel Hyperthreading and Turbo Boost 2.0 work together?

rdgoodri

Reputable
Dec 31, 2016
35
2
4,540
Is there any synergy using Turbo Boost 2.0 and Hyperthreading together, or are these two completely separate features?
 
Solution
Pretty much correct.
Hyperthreading allows another thread of code to run "simultaneously" (though it is actually quickly jumping between both) on the same CPU core.

Turbo Boost is simply adjusting the CPU frequency based on load/temperature so it's not directly connected aside from the fact that the extra CPU load could raise the temperature enough that the frequency is adjusted.

*There's no reason anymore to disable HYPERTHREADING (AFAIK). There used to be some issues where code might run on the hyperthread rather than a dedicated core thus causing lower performance but I believe those issues no longer exist (or if they do it's a minor issue for some applications not worth disabling HT for those that benefit).
yes. Hyperthread is creating a environment where two instruction can be executed at the same time, where turbo boost is to temporary boost the rate of execution at the cost of more power consumption. Totally different technology.
 
Pretty much correct.
Hyperthreading allows another thread of code to run "simultaneously" (though it is actually quickly jumping between both) on the same CPU core.

Turbo Boost is simply adjusting the CPU frequency based on load/temperature so it's not directly connected aside from the fact that the extra CPU load could raise the temperature enough that the frequency is adjusted.

*There's no reason anymore to disable HYPERTHREADING (AFAIK). There used to be some issues where code might run on the hyperthread rather than a dedicated core thus causing lower performance but I believe those issues no longer exist (or if they do it's a minor issue for some applications not worth disabling HT for those that benefit).
 
Solution


I use a jelly-bean analogy.
The CPU (me) eats jelly beans with my right hand...I chew and consume those beans (processing) but sometimes I stop chowing because I'm still getting more jelly beans.

Then I realize I can be getting jelly beans with my LEFT hand so that I can pop them in my mouth as soon as I stop chewing.

Basically the 2nd thread of code gets worked on during the wait times you are still getting more of the 1st thread of code.

If I remember correctly you can gain up to 30% improvement but really you would have to saturate the CPU to the point ALL OF ITS CORES can't otherwise process the code on their own.... so for an i5-7600K at the same frequency as an i7-7700K (i5-7600K with HT added) you shouldn't see any benefit to HT until the i7-7700K is processing more than what an i5-7600K would do at 100% usage.

(of course it's slightly more complicated but whatever... lesson of the story is leave HT on always anyway)

*OTHER:
Even for non-K CPU's you may be able to set ALL CORES in the BIOS to the max Turbo frequency and get some benefit. It might only be 5% or so (best case) but if you can I'd still do it since why not.

OTHER:
The naming convention BTW is to say:
4C/4T (four cores, four threads total... so no HT)
4C/8T (four cores, eight threads total... so HT)
 

No, this is called Switch on Event Multithreading and doesn't even need Hyperthreading it can be used on a plain core.

Hyperthreading takes instructions from two threads and tries to pair as much as possible of them together to be run in a single cycle,most of the times this will mean that it will "take away" instructions from the main thread to make both threads run at a similar speed but even that is not necessary.

And to answer the OP yes they work together Turboboost is supposed to be a power saving tool and using hyperthreading means that your CPU gains throughput which in turn means that it can handle the same workload at lower clocks,this means TB can use lower clock states with HT enabled.