Brooks Davis wrote:
> You're both right. Optimal performance is achieved by optimizing the
> way Terry described, at that's a direction we need to consider assuming
> hyperthreading stays around, however, when you don't do any of those
> things, Intel lets you pretend you have two CPUs on one die. Performance
> is not identical (if nothing else the two CPUs share memory bandwidth
> and the P4 is seriously bandwidth hungry), but it just works.
The "40%" number is:
o The high end of what you can expect
o Not achievable without those techniques
> When you
> think about it, Intel had to go with that approach for all the reasions
> AMD emulates the Intel SMP programming model on the Athlon. Simply put,
> they have to support NT 4, Win2K, and XP without modification. Heck,
> I'd be slightly suprised if Windows.net supports Hyperthreading nativly.
Windows does not have the necessary affinity support in their scheduler;
if you read the PDF whose reference I posted, you will wee that that is
the case. The only OS with the affinity support is "upcoming Linux 7.1"
at the time of the publication of the PDF -- in other words, Red Hat
Linux 7.1.
Even so, their affinity is broken. You simply can not put affinity
into a scheduler, and solve the problem with a single run queue. In
the non-uniform load case (the common case for UNIX systems running
more than a single process -- e.g. "cron" runs every second), you will
experience starvation deadlock, as the scheduler "prefers" the threads
in the current thread groupm and starves out everything else.
> Of course, since they show up as two CPUs each, you can't run NT Server
> on a dual Xeon box and I think you need Datacenter for a quad so it's
> not nearly as much of a win for Windows users. :-)
It's not much of a win in Windows anyway. See The PDF. Without
the heroic measures I listed, you will be lucky to get 18%. Adding
a second real CPU will give you closer to 90-95%.
-- Terry
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message