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.
Technology Stocks : Advanced Micro Devices - Moderated (AMD) -- Ignore unavailable to you. Want to Upgrade?


To: milo_morai who wrote (72529)2/26/2002 9:18:59 PM
From: combjellyRead Replies (1) | Respond to of 275872
 
"Software sees them the same correct?"

Yes. But things are not the same when hyperthreading, at least when Prestonia is running it, is enabled. That is the problem, the P4 as currently implemented doesn't have the resources to run those threads transparently to the software. So some higher force (i.e. the programmer) must discriminate...



To: milo_morai who wrote (72529)2/27/2002 4:30:05 AM
From: TGPTNDRRespond to of 275872
 
Milo, Re: <HT= Virtual DP, SMP= physical DP>

Only Msft seems to see them the same in it's environment detection. They are very different.

Threads are 'lightweight', running in the environment of the parent process.

MP duplicates processes(in general), while handling multi threading in the parent processes environment(if correctly implemented).

There are some processes that take lots of resources and some that do nothing for long periods.

Take the case of sequential file processing. The data reads and writes may easily take more time than the file processing. So you can have the compiler build a thread to read the data, one to write the data, and another to process the data. Nope, bad analogy. Easier to do block reads and writes since we know before hand the order in which we're going to process the data.(That's the equivalent of CJ saying the programmer has to figure it out. Clearly the compiler can, but so can the programmer.)

How about browser technology. We want our browser to pay attention to the user - while doing work. build a thread to just pay attention to the user -- and wake it up every 1/8 second or so. That works 'cause we don't know before hand what the user's going to do -- and we already have the environment. The compiler can figure this one out also.

That's also about what lots of server software does. It waits around for a request, then does something about it. The waiting and doing don't have to be in the same process. You can have lots of processes for the doing -- on one or many machines. On one machine, it's frequently called SMP(Though it doesn't have to be). The waiting may look at lots of resources and do widely separated(temporally) things with them -- a candidate for multi threading. Multi threading is a nice way to increase CPU usage where some of the mandatory tasks have very low demands.

In each case it's the Operating System's responsibility to monitor and assign the resources.

Re: <Software sees them the same correct?>

If the OS is what you're calling the software, then the answer, in the case of Microsoft, seems to be 'yes', at least for now. If it's any other software, it's not likely to unless specifically written or recompiled for the environment. That's part of the Msft. problem. It wasn't written for the environment. It works, but sees two processors. Could screw up software billing.(As pointed out in the article PT posted -- which I read after I wrote this response.)

As I see it.

tpgntdr