Originally posted by BRussell
What kind of performance boost do you typically get out of hyperthreading? It certainly can't be anywhere near what you'd get from a true dual chip or dual core.
Lots of variables -- the SMT/HT implementation can vary greatly. Intel's first attempt was lame, but Prescott is better. IBM claims the POWER5 implementation is quite strong. It also depends heavily on the kind of software you are running (which is why both Intel & IBM put in controls to affect how it operates), and the design of the rest of the system. If you have lots of memory latency issues then SMT will probably run each thread at "full" speed. If you are purely computationally bound and your code is perfectly scheduled then your threads will run at less than 50% speed.
SMT is all about making better use of the execution resources you have. If you're already using them perfectly SMT won't do you any good. Most of the time, however, the processors of today are sitting waiting for things. In those cases SMT will help performance significant (in multi-threaded software). Fortunately IBM's POWER5 SMT only increased the core size by 25%. If they apply this to the 970, and
double the L2 cache, that will bump the chip to (I estimate) 100 million transistors... compared to a dual core implementation of ~120 million transistors.
I'm very confident that in the future we will see multi-core chips, and I feel that there is a strong likelyhood that these cores will by SMT enabled (at least 2-way). The first step along that path is SMT because its cheaper and makes the most of what you've already got.