B Vance posted <[EMAIL PROTECTED]>,
excerpted below,  on Wed, 25 Jan 2006 11:16:24 -0500:

>> virtual cpus?
>> 
>> intel has hyperthreading, if you mean that, not amd.
>> 
>> the rule of thumb is cores+1
>> 
>> but it is totally personal taste, what you set for jX.
>> 1,2,3,4,5 just try it and choose the number where the result is most to your 
>> liking.
> 
> Cool, thanks.  Must of been thinking of something else that AMD had
> licenced from Intel for core CPU use.  Could have sworn that AMD had a
> version of Hyperthreading.

Maybe you are thinking about (the unrelated) HyperTransport?  That's an
all-AMD thing, the reason they seem to have such good performance compared
to Intel, which is stuck with legacy front-side-bus architecture for the
moment, with it throwing a /serious/ wrench into their upgrade plans ATM.

As for Hyperthreading, AMD hasn't used it and really doesn't need or want
to.  Hyperthreading works its magic by working around the extremely deep
pipeline that Intel had used, in ordered to get their clock rates so high.
Such a deep pipeline forces a *HUGE* penalty when there's a branch
miss-prediction and the CPU has to throw away several cycles worth of work
and let the bottom end of the pipeline idle while it loads the correct
instructions from the top of the pipeline again.  Hyperthreading is a
rather neat solution that avoids the severe penalty by having a second
task ready and waiting to execute while the first one gets loaded into the
pipeline once again.

AMD has a somewhat shorter pipeline, and uses some other technologies to
improve the branch prediction and lessen the severity of mis-prediction
hits, both.  It isn't /that/ much shorter a pipeline, the branch
prediction isn't /that/ much better, and the miss-prediction penalty not
/that/ much less, but put all three together, and add in the effect of the
front-side-bus vs hypertransport on memory latency, and the individual
single-digit improvements begin to add-up to something rather bigger. 
Hyperthreading only yields an approximate 30% increase in performance,
best-case, anyway, compared to a theoretical 100% increase if it were a
real CPU.  Thus, AMD doesn't have to cover as much ground with their
individual "minor" improvements as one might think, and because
hyperthreading has certain downsides (effectively halving the available
cache per thread, and certain thread-cache-access security issues where
the hyperthread has access to the memory of the other thread), they
believe they do better without hyperthreading.

I believe AMD does better without hyperthreading as well, from a technical
viewpoint, altho Intel has the PR game won with hyperthreading, as it's
simply not possible to explain in two sentences why AMD doesn't need
hyperthreading, as opposed to the relatively simple concept Intel has to
get across, of pretending there are two CPUs so the second task can get
some work done when the first task is waiting for something.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman in
http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_interview.html


-- 
[email protected] mailing list

Reply via email to