All good so far, for (say) HPC where you have people with guns guarding the machines you can turn on all the performance. The issue is that as CPUs have got more complicated, it's increasingly easy to attack the internal state of the processor. This is already possible in a single thread (i.e. the prototypical spectre and meltdown implementations), however imagine what you can do next door to a completely different "core". The processor maintains separation of structure but not of state, so you can use (say) timing side channels to extract information about what your neighbour is up to.
FWIW these issues are more of a problem for Cloud vendors than you or I as they usually require pretty specific knowledge of the hardware being attacked and even then are not easy to pull off.
As an example, in our test suite, we found that we get almost a 80% boost by turning on HT.
The right rule is “HT may help or hurt your performance depending on workload. Test and decide”.
In practice this allows some attacks to attach themselves to the same pipeline with the target process and nibble required information slowly, but surely.
IIRC FreeBSD disabled HT out of the box at the kernel level for this reason.
I'm tired and it's late here. I may worded some stuff wrong or plainly misremembered it. Please feel free to correct.
% sysctl -d machdep.hyperthreading_allowed machdep.hyperthreading_allowed: Use Intel HTT logical CPUs
My Ryzen has 6 cores and 12 threads. Isn’t that pretty much the same?
Still exploits, but almost impossible to do in the field last I checked, where Intel has been demonstrated on live systems handling production load.
[0] https://en.wikichip.org/wiki/amd/microarchitectures/zen#Simu...
Hyperthreading was Intel's branding of SMT, if I understand this correctly.
Mine has 12 and 24. :)
Hyper-Threading was Intel's branding of SMT, if I understand this correctly.
My Ryzen has 12 and 24. Simply amazing what they did. :)
Without serious reform to the design of the Intel X86 chip to eliminate and refactor what basically amounts to a performance-before-safety feature, Intel is going to see the lions share of performance hits. Eventually people will tire of writing backflip code to sidestep pitfalls in the Intel HT design and simply return the responsibility to Intel, where its existed since day one.
It could be argued Intels mouthpiece has already lost its ability to convince major datacenter and cloud customers that HT is even remotely safe as a continued investment. Intel needs a new X86.