SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Pastimes : Dream Machine ( Build your own PC ) -- Ignore unavailable to you. Want to Upgrade?


To: Michelino who wrote (303)2/27/1998 4:51:00 PM
From: Spots  Respond to of 14778
 
Getting 60% out of an additional processor is close to the
top of what you can practically expect. In fact, I'd
be surprised if it is that good except in rare cases
where you've got hefty compute-bound things to do on
separate threads.

Don't expect this kind of increase for day to day stuff.
You really have to have applications that support it.

And yes, the OS determines it, but there is also queueing
around shared resources, which is vastly underaccounted
for in most measurements. Real world apps with Win NT
will be lucky to get 30% improvement, in my guestimate.
This is a no-kidding guess on my part based on experience
with tightly and loosely coupled systems rather than on
any specific inside or benchmark info, though some SUN
workstation benchmarks have shown only about a 20% improvement
from dual processors. I'd be delighted to find out I'm
pessimistic. Does anyone have ACTUAL experience on this
(versus somebody or other's parallel-stone benchmark or
whatever)?

You said earlier you were interested in scientific
computing, and IF you can spin off a thread with a compute-
bound task which will last awhile, and IF you can convince
the OS to schedule it in the other processor for you,
then you may be able to achieve a 60-70% improvement.

Just be aware that these are special circumstances that
aren't generally applicable. You wouldn't see anything like
this increase if were to spin off an I/O bound thread for
a database update, for instance (unless it competed against
a cpu-bound main thread).