Hi!
BTW this is going to be an issue even on normal (non-HT)This is definitely the case but there is one huge difference. If you have 2x1Ghz non HT processors then the fastest a single threaded task can run is at 1Ghz. If you have 1x2Ghz HT processor the fastest a single threaded task can run is 2Ghz.
systems. Imagine memory-bound scientific task on CPU0 and nice -20
memory-bound seti&home at CPU1. Even without hyperthreading, your
scientific task is going to run at 50% of speed and seti&home is going
to get second half. Oops.
Something similar can happen with disk, but we are moving out of
cpu-scheduler arena with that.
[I do not have SMP nearby to demonstrate it, anybody wanting to
benchmark a bit?]
Well, gigaherz is not the *only* important thing.
On 2x1GHz, 2GB/sec RAM bandwidth, fastest a single threaded task can
run is 1GHz, 2GB/sec. If you run two of them, it is 1GHz,
*1*GB/sec. So you still have effect similar to hyperthreading. And
yes, it can be measured.