Re: Dual Core CPU Issues

Tech-Archive recommends: Fix windows errors by optimizing your registry



And to add to this, even if a given app can really only make meaningful
progress on one CPU at a time, it's rarely the case on an end-user's
computer that there is only one runnable thread at a time - I usually have
iTunes open, for example, and AIM, and my mail client, and....

As long as there are two threads, system-wide, that are ready to run (i.e.
not blocked on a synch object, doing I/O, or whatever), both cores will be
used.

Just look at task manager; if the little CPU graphs are relatively even,
you're using both cores.

But with that said, Dave is exactly right; it's very hard to design well for
concurrency, and a great many apps out there simply won't benefit from more
than one CPU. But that doesn't mean the *system* won't.

-Steve


On 5/7/06 2:33 PM, in article Ofuqa0gcGHA.2404@xxxxxxxxxxxxxxxxxxxx, "David
J. Craig" <Dave@xxxxxxxxxxxxx> wrote:

It is not multiple threads, but a serious design methodology to find ways
for a program to have multiple things done at one time. Let's take a
spread*** program as an example. When the user is clicking on a box and
entering data/formula in the bar not much can be done. When it is complete,
the user may want to click another box and begin inputting there, but the
new info in the previous box might require that many boxes be recomputed.
That recompute thread can be running on a different processor and with a
lock during updating a box, it should not care that the user is still
providing input. Excel does this.

If you are a simple text editor such as notepad what can be done in other
threads? Maybe a date or time display on a status bar, but not much else.
The quickly mentioned 'lock' above is another major design issue that many
in the DOS and Windows world are inadequately equipped to handle. The
problems with SMP are many and device driver writers have been coping for
several years. I began with NT 4 for this world, but had many years of
experience in mainframes earlier.

When converting an avi video to mpeg2 for burning on a DVD, how do you break
up the encoding process so all processors are kept busy without killing
other tasks the user might have running? Nero does it and Adobe too, but it
sure took a lot of design work to get it correct.

"Rich S." <RichS@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:869B6626-4FA0-4B8C-B4E3-1B90654CB53F@xxxxxxxxxxxxxxxx
Hello,

Everybody keeps saying that current software can't take advantage of
dual-core cpu's because it is not designed to use multi-threading. Talk
like
this is all over the hardware message boards.

But am I missing something? When I open my Task Manager, it shows that
the
vast majority of processes on my machine have multiple threads. Heck,
Visual
Studio 2005 is using 20 threads as I write this.

So does this mean that all those people are simply ignorant, with no
understanding of how software works, or is there truth to what they are
saying?

Thanks,
Rich



.


Quantcast