Posted Oct 4, 2007 20:10 UTC (Thu) by anton
In reply to: 64 processors?
Parent article: What every programmer should know about memory, Part 1
But I think the usual reason for hyperthreading slowdown
is just the overhead of switching threads.
In SMT (and that includes hyperthreading), there is no thread
switching overhead. The execution core just executes instructions
from different contexts at the same time (but in different resources).
I don't know why the Pentium 4 variant of SMT performs as badly as
it does; cache thrashing may contribute, but I don't think that this
is the main reason. The main reasons are probably some obscure
microarchitectural details, maybe the replay system,
maybe something else.
to post comments)