Moderators: phlip, Moderators General, Prelates
phlip wrote:Ha HA! Recycled emacs jokes.
EvanED wrote:Similarities:
- A SMT (simultaneous multithreading, = HT) chip presents itself to the OS as two CPUs
- The SMT chip can sort of run two threads at the same time
akashra wrote:EvanED wrote:Similarities:
- A SMT (simultaneous multithreading, = HT) chip presents itself to the OS as two CPUs
- The SMT chip can sort of run two threads at the same time
This is a myth, it's still a single core processor, with only one simultaneous operation in use.
akashra wrote:EvanED wrote:Similarities:
- A SMT (simultaneous multithreading, = HT) chip presents itself to the OS as two CPUs
- The SMT chip can sort of run two threads at the same time
This is a myth, it's still a single core processor, with only one simultaneous operation in use.
The main difference is the way it provides a much less intensive way of context switching. Internally, what HT does is basically provides a second stack, which can quickly be switched to, on contrast to doing a full context switch, and having to copy around all kinds of data every time a context switch takes place. This massively reduces overhead. In some ways, this can mean HT is actually more efficient than dual-core.
Anpheus wrote:However, in no case will a multithreaded application perform more slowly on the dual core CPU than the hyperthreaded single core CPU.
Anpheus wrote:The control thread / non-control thread core idea is one that you, I believe just invented on the spot.
Anpheus wrote:You would be struggling to find an example where a same-speed set of chips, one single core hyperthreaded, one dual-core natively, would perform better on the former.
Anpheus wrote:You would be struggling to find an example where a same-speed set of chips, one single core hyperthreaded, one dual-core natively, would perform better on the former.
Anpheus wrote:The SPARC T1 and T2 Niagara would suffer from the same problem. Hyperthreading is cheaper in real estate to put on a chip than multiple cores. If they could put 64 hardware cores instead of 8 hardware and 8 threads per core, they'd gain a shitload of performance.
Anpheus wrote:And due to this, there's almost always a case where two applications or two threads can run simultaneously. I would say 'always,' in fact, because I'm confident there exists no working environment which suffers under multicore more than hyperthreading.
Silver2Falcon wrote:Core 2 Duos are a lot more efficient for their clock speed and so it's not an even comparison between the two.
phlip wrote:Ha HA! Recycled emacs jokes.
Anpheus wrote:There's no such comparison. You could, of course, use a specific benchmark, but "beat the shit out of" X is so subjective (based on which benchmark you use) in computing that there exists no baseline. You could use MIPS, FLOPS, but even that is subject to the type of benchmarking, whether that's throughput from disk, memory, cache, if you want to find out performance while running a particular OS, whether it will use SSE or just the FPU, etc.
phlip wrote:Ha HA! Recycled emacs jokes.
phlip wrote:Ha HA! Recycled emacs jokes.
enk wrote:Sorry if it's already answered in the skirmish above, but will the P4 run faster non-HT in some situations?
davean wrote:enk wrote:Sorry if it's already answered in the skirmish above, but will the P4 run faster non-HT in some situations?
Most situations actually ...
phlip wrote:Ha HA! Recycled emacs jokes.
wst wrote:Didn't AMD make 'hypertransport' before Intel di 'hyperthreading', which was basically the same thing? Or am I getting confused due to the initials? I always thought that HT was a benefit 0.o
davean wrote:
HyperThreading, on the other hand, is a way of "dealing" with the fact that your processor and memory are so miss matched your system is coming apart at the seams. You tack on a spare set of extra registers (cheap since x86 systems lack an appreciable number of registers to begin with) and while one instruction stream is waiting for memory to return data, the other set of registers swaps in and that stream processors with data that is (hopefully) loaded to cache.

wst wrote:That sounds like an accident waiting to happen. I never trusted any of the old P4's, but mainly because I heard they lacked in floating point calculation abilities, but just sticking HT on like that? Whoops. Lucky I stuck with AMD for that time then. (I needed floating point for AI simulation)
As you're in the know, can you confirm that floating point issue? (Not that I'd touch a P4 now with C2Q's out and Phenom yet to prove itself, and it being outclassed totally by my single core Athlon 64)
davean wrote:This is fine in theory and some several other CPUs use or have used this quite well (IBM's power, Crays MTA). Those didn't happen to use a craptastic and cheap implementation of it though. Which is really the point; Intel's was tacked on, not designed in.

mosc wrote:wst wrote:That sounds like an accident waiting to happen. I never trusted any of the old P4's, but mainly because I heard they lacked in floating point calculation abilities, but just sticking HT on like that? Whoops. Lucky I stuck with AMD for that time then. (I needed floating point for AI simulation)
As you're in the know, can you confirm that floating point issue? (Not that I'd touch a P4 now with C2Q's out and Phenom yet to prove itself, and it being outclassed totally by my single core Athlon 64)
Intel's netburst was actually pretty good with floating point apps. Don't know where you're getting that. For something like MP3 encoding, they were always very competitive. It's been one of their strengths, not their weakness. HT was also very late to the party. Most P4s don't even have it and many have it turned off. The problem with the P4 was always the netburst architecture.
A fricken' WALL!

mosc wrote:You can't equate them as the same thing. Netburst was largely a dead end (at least in the x86 world) but hyperthreading (really, SMT with a fancy name) is totally different.
Users browsing this forum: No registered users and 1 guest