Hyper-Threading Explained And Benchmarked
John Martin writes "2CPU.com has posted an updated article about Hyper-threading performance. They discuss the technology behind it, provide benchmarks, and make observations on what the future holds for hyper-threading. It's actually an easy, interesting read.
Of note, they'll be publishing Part II in the near future which will detail hyper-threading performance under Linux 2.6. Hardware geeks will probably appreciate this."
cocksuckers!
Simonigger. What is that all about... is it goot, or is it whack?
After a while things start breaking. Maybe the windows don't work, or the transmission starts slipping when switching gears, or the side mirrors stop automatically flagging in and out.
The bottom line is that the more crap you stick in something, the more likely it is that some of those somethings is going to break. I owned an old Mazda Protege that didn't have auto-anything. Manual transmission, crank windows, even the steering was unassisted. Nothing ever went wrong with it.
And so too does this pertain to other things like CPUs. As CPUs get more and more complex, bugs are bound to creep in. Whether it's something obvious like the Pentium off by 1+1=1.9999943 error or something subtle like the 0xCAFEBABE error which stops the CPU in its tracks, their are avenues of processing that are simply not covered by any amount of testing.
One thing that was good for the industry was to move away from the complex instruction set (CISC) towards a reduced set of instructions (RISC), and we have seen the speed improvements as well as a general reduction in hardware bugs since that time.
But to add Hyperthreading, an untested and unproven technology which can guarantee no more than a 12% speed improvement, is folly. Better to amp the CPU clock and deal with a known like heat than to risk your company's livelihood on letting the CPU figure out which thread is which. That is something an OS is much more reliable in handling.
I have been pwned because my
Simultaneous Multithreading (SMT) is not a new idea, although no one to my knowledge has implemented it yet. Intel just calls it "Hyperthreading"...it is essentially SMT.
And yes, this is a very good idea. A modern superscaler out-of-order processor, like the Athlon and Pentium Pro (and later), can issue and retire multiple instructions per clock cycle. However, it can *only* do this if there is enough instruction-level parallelism (ILP). Turns out, there is not enough ILP in current programs to take full advantage of the chips processing capabilities. Issue slots and function units go unused due to dependencies in the program and cache misses that stall the processing. A typical processor can only look at about 32 instructions at a time. This is not a large enough window to execute future instructions out-of-order when such a stall occurs.
However, 2 threads of execution will likely fill all of the issue slots. They are also independent threads of execution, so dependencies don't exist between them. This means that when the pipeline stalls due to a cache miss, the other thread can keep on retiring instructions.
To all those saying that this is dumb, I suggest you study some modern architecture (I'm not talking about your undergrad architecture course either). A paper I read recently studied the affects of SMT on a simulated Alpha processor. The results were astounding with very little changes to the processor core. I heard that the next Alpha was slated to include SMT before Intel killed it.
it redirects to redcoat.net/tubgirl.jpg
AMD 64-bit CPUs are just marketing BS by AMD for suckers to buy. 64-bits is nothing new and nothing interesting. SMT (aka Hyperthreading) _IS_ interesting.
AMD needs to innovate instead of stealing designs and ideas.
intel's next marketting strategy may be to ask Nike or Adidas if they can use their logos and names to sell CPUs, in the absence of any technial progress.