Hyper-threading and cleverness

Another day, another attack on processor architectures.

I remember during the computer architecture classes at university marvelling at how clever the processor architectures were. Branch prediction, the challenges of process management and context switching. How everything could be managed so carefully and all the book-keeping kept up-to-date! But it all worked and it worked very well, so I was extremely impressed.

Then when hyper-threading arrived, I was even more impressed. Now I could get most of the benefits of four cores, using only the hardware of two cores.The slight downside was some bits were shared, but this didn’t matter, because it had all been carefully thought through. It was produced by the same kind of people who I had marvelled at previously, and so it was obvious that it was a good thing.

Alas, it seems that hyper-threading (at least on Intel processors) has been over-sold, and doesn’t meet its promise. Data apparently can leak from shared components which, in some applications, is a bad thing.

Since my view must be absolute, I previously adored hyper-threading and now hate it absolutely.

Or, more sensibly, perhaps it’s a case of studying where the risks are and taking the performance boost where the risk can be mitigated and turning off hyper-threading where security is more important.

This entry was posted in General. Bookmark the permalink.