Hyper-Threading goes the way of the dinosaur

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:Hyper-Threading goes the way of the dinosaur

Post by Solar »

I don't read The Inquirer with any regularity, but that article is so stupid I smell a hoax.

(Which isn't to say that HT isn't a dying species with multicores coming up.)
Every good solution is obvious once you've found it.
Rob

Re:Hyper-Threading goes the way of the dinosaur

Post by Rob »

It is The Inquirer indeed, so take everything with a grain of salt ;)
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re:Hyper-Threading goes the way of the dinosaur

Post by Brendan »

Hi,

When hyper-threading was first released it got some bad reviews for a number of reasons.

Half of this was due to people comparing single-CPU performance with hyper-threading performance, where the 10% to 60% gains of hyper-threading were offset by the performance reduction involved with SMP (re-entrancy locking, cache thrashing and other scalability problems) and a lack of software designed for multi-CPU.

Part of it was also due to OS's that weren't "hyper-threading aware". For example, when there's 2 threads to run some OSs will run both of them on the same core while another core does nothing, instead of running one on each core.

With the industry adopting multi-core, the software industry is (slowly) shifting to software designed for multi-CPU, and any computer with SMP (multi-core or "multi-socket") will have the SMP overhead anyway. Also, recent versions of most OSs are hyper-threading aware. This means all of the "disadvantages" (or all of the reasons for the bad reviews) are disappearing. In addition Intel has improved it's hyper-threading since it's introduction.

For hyper-threading, the benefits come from keeping the CPU's resources as busy as possible. For example, when one logical CPU needs to wait (cache miss, pipeline flush, etc) the other logical CPU can make good use of the CPU resources that would otherwise be doing nothing. For multi-core CPUs where the same system bus is shared by multiple cores, the cost of cache misses, etc will be worse due to the additional bus traffic, and hyper-threading will be more important to keep the CPUs cores busy.

Anyway, I'm hoping the Inquirer article is a hoax.

In the hope of finding out, I've posted a message on the Intel developer forums at:
http://softwareforums.intel.com/ids/board/message?board.id=42&message.id=912.


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Post Reply