[Leaplist] Different netbooks ... CPU and GPU limitations (or
not) ...
Bryan J. Smith
b.j.smith at ieee.org
Wed Jan 13 18:14:07 EST 2010
HyperThreading was introduced on the P4 because NetBurst
was the absolute worst x86 design in history. It was a quick
"extend the pipes, make it run faster, just long enough for
Itanium to catch on" design. Intel didn't want to redesign x86
when it felt it was going away soon.
The P4 couldn't keep 50% of its stages full, so HyperThreading
doubled the instruction and other, key registers so the OS could
issue -- nominally -- two mutually exclusive sets of operations.
That had a better change of keeping the stages in those long
pipes more full.
The problem was the overhead, context switching, register renaming
and other things that were either not or minimally implemented in
hardware. After all, AMD had done a redesign and had prediction,
register renaming and other aspects down. Intel thought predication
and EPIC were the future (Itanium), so they didn't bother.
The result was that HyperThreading could utilized up to 30% more
stages over single threads, at a performance cost of 5-25%. So
it was entirely possible to get _worse_ performance -- especially
if the threads were going after the same units heavily while ignoring
others.
Atom is far, far worse than the P4. It is a simple FETCH-EXEC with
no anything. It's 2-issue. The idea here for HyperThreading is not
to make better use of the Atom core, unlike the P4. The idea with
HyperThreading on the Atom is to spread many threads over many
Atom cores -- with any Atom capable of having up to 2 threads
"in-progress" but not necessarily executing. More work done over
time, even if individual Atoms are introducing latency to threads.
On a dual-core or, God help you, single-core Atom -- it is the
absolute _worst_ thing you can turn on. It really requires 4 or
more cores, and I haven't met anyone who has been working on
the Atom target in GCC that disagrees with me. But I'm willing to
be proven wrong.
This is one area where the Engineers put a big asterisk on the tech
and the Sales/Marketing people _ignored_ it.
----- Original Message ----
From: Kevin Korb <kmk at sanitarium.net>
I agree completely about Hyper-Threading. It sucked horribly on the P4
back when it came out. I had actually thought that Intel abandoned it
until I got my EeePC and it had 2 "logical" CPUs. Having the system try
to multi-thread across 2 CPUs that are really the same CPU is worse than a
waste of time.
Picture 2 way traffic on a 1 lane road and you get the idea what HT is.
It isn't quite that bad but it is close.
I can't say I have any experience with it on systems with lots of CPUs
though. I think a dual P4 was the highest system I ever saw HT on and it
ran better with HT turned off.
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the Leaplist
mailing list