SamuraiCatJB
04-04-2005, 01:32 PM
I get asked this question a LOT of times. "Should I enable/disable hyperthread?" and when I respond back with another question, "what are you trying to do with the system?" people often get offended.
I'll skip the gory details of the technology, a good google will tell you that. But basically hyperthread divides your CPU in half. Now Windows is fooled into thinking you have two 1.6ghz processors instead of a single 3.2ghz processor. *cue screaming* So why does the manufacturer of the PCs often turn on hyperthread? The answer is multi-tasking....
Setup a very common tech support phone cal (trimmed for brevity)l:
*ring*
TS: hello, tech support, my name is ____ how can I help you today?
Cust: I can't burn a CD on your ***** machine.
* customer and TS exchange serial number and hardware specs *
TS: what kind of media and what speed?
Cust: CD-R 48x
TS: okay, that should be compatible. What were you burning and what else were you doing?
Cust: an Audio CD and why do you care?
TS: sorry sir, just trying to make sure you were not doing something that would overburden the machine while making the CD.
Cust: uhhhhh... I was playing Doom while the CD was burning.
Bingo.... Multitasking.... the evil monster of tech support nightmares. The hardware works, the software works, everything is compatible, and someone decides to play Doom or HL while burning a CD. And everything looks like it is working, but buffers underflow in the CD writer, CD pointers to data are lost in the burn process, the CD laser is targetting passing air-craft in boredom waiting for data, dogs and cats are sleeping together... you get the picture.
So hyperthread was meant to fix tech support nightmares? Nope, not at all. Okay, now you are confused. :) That is just why most computer manufacturers enable the hyperthread immeadiately upon building it. Hyperthread was a theory test, can a dual processor share the same process queue and work efficiently, work efficiently being the proper cornerstone. It is the entire design behind dual core coming later this year. AMD didn't bother with hyperthread, Intel proved it works so AMD didn't need to. This is also why you won't find Hyperthread Macs. It also solves an Intel only problem. Intel in its "infinite wisdom" builders larger and larger process queues, but this looses effiency when the processor multi-tasks. You will find Intel designs talking about Hyperthread achieving 10-15% higher performance. Well, then a hyperthread G4 or G5 or Athlon would get 10-15% performance increase too? nope. With the smaller process queues of the Athlon it is able to switch processes faster than the Intel, it is that difference between the Athlon and the Intel chips that hyperthread makes up for.... but only if you are running two high performance tasks! ooooo cue the dramatic music.
A power-pc design being RISC would gain almost nothing in hyperthread, but the microcode to handle logical processor splits would most assuredly slow it down. So no hyperthread Macs. AMD FX and Opteron lines finally get up to the processor queues that might gain something from hyperthread, but they are trying desperately to beat Intel to the dual core and skip hyperthread all-together. Thus no hyperthread on AMD.
So back to the question, should you enable disable hyperthread?
A) What are you trying to do? If you are running two high demand multi-tasking operations, or one critical timing operation (like burning a CD) and still doing other things... you want hyperthread on. But each task runs slower only allowed half the CPU total processing capability. If you want one really fast task able to stomp the other tasks into the ground and leave them a pile of mush in your wake, you want hyperthread off.
In the future you won't have a choice. Dual core means two 3ghz processors instead of one 3.2ghz processor. A good programmer can program his code to use both cores, but most software will only use one core. Hyperthread did serve its purpose in showing the path to dual core, and gave programmers a chance to code for dual processors on the cheap.
Now shut off the hyperthread like me, and stop playing doom while burning a CD and mush all the remaining processes into goo. :) enjoy! :)
I'll skip the gory details of the technology, a good google will tell you that. But basically hyperthread divides your CPU in half. Now Windows is fooled into thinking you have two 1.6ghz processors instead of a single 3.2ghz processor. *cue screaming* So why does the manufacturer of the PCs often turn on hyperthread? The answer is multi-tasking....
Setup a very common tech support phone cal (trimmed for brevity)l:
*ring*
TS: hello, tech support, my name is ____ how can I help you today?
Cust: I can't burn a CD on your ***** machine.
* customer and TS exchange serial number and hardware specs *
TS: what kind of media and what speed?
Cust: CD-R 48x
TS: okay, that should be compatible. What were you burning and what else were you doing?
Cust: an Audio CD and why do you care?
TS: sorry sir, just trying to make sure you were not doing something that would overburden the machine while making the CD.
Cust: uhhhhh... I was playing Doom while the CD was burning.
Bingo.... Multitasking.... the evil monster of tech support nightmares. The hardware works, the software works, everything is compatible, and someone decides to play Doom or HL while burning a CD. And everything looks like it is working, but buffers underflow in the CD writer, CD pointers to data are lost in the burn process, the CD laser is targetting passing air-craft in boredom waiting for data, dogs and cats are sleeping together... you get the picture.
So hyperthread was meant to fix tech support nightmares? Nope, not at all. Okay, now you are confused. :) That is just why most computer manufacturers enable the hyperthread immeadiately upon building it. Hyperthread was a theory test, can a dual processor share the same process queue and work efficiently, work efficiently being the proper cornerstone. It is the entire design behind dual core coming later this year. AMD didn't bother with hyperthread, Intel proved it works so AMD didn't need to. This is also why you won't find Hyperthread Macs. It also solves an Intel only problem. Intel in its "infinite wisdom" builders larger and larger process queues, but this looses effiency when the processor multi-tasks. You will find Intel designs talking about Hyperthread achieving 10-15% higher performance. Well, then a hyperthread G4 or G5 or Athlon would get 10-15% performance increase too? nope. With the smaller process queues of the Athlon it is able to switch processes faster than the Intel, it is that difference between the Athlon and the Intel chips that hyperthread makes up for.... but only if you are running two high performance tasks! ooooo cue the dramatic music.
A power-pc design being RISC would gain almost nothing in hyperthread, but the microcode to handle logical processor splits would most assuredly slow it down. So no hyperthread Macs. AMD FX and Opteron lines finally get up to the processor queues that might gain something from hyperthread, but they are trying desperately to beat Intel to the dual core and skip hyperthread all-together. Thus no hyperthread on AMD.
So back to the question, should you enable disable hyperthread?
A) What are you trying to do? If you are running two high demand multi-tasking operations, or one critical timing operation (like burning a CD) and still doing other things... you want hyperthread on. But each task runs slower only allowed half the CPU total processing capability. If you want one really fast task able to stomp the other tasks into the ground and leave them a pile of mush in your wake, you want hyperthread off.
In the future you won't have a choice. Dual core means two 3ghz processors instead of one 3.2ghz processor. A good programmer can program his code to use both cores, but most software will only use one core. Hyperthread did serve its purpose in showing the path to dual core, and gave programmers a chance to code for dual processors on the cheap.
Now shut off the hyperthread like me, and stop playing doom while burning a CD and mush all the remaining processes into goo. :) enjoy! :)