Physics Forums

Physics Forums (http://www.physicsforums.com/index.php)
-   Computers (http://www.physicsforums.com/forumdisplay.php?f=190)
-   -   MULTI CORE CPUs to run many programs ? (http://www.physicsforums.com/showthread.php?t=252199)

ray b Aug27-08 03:02 AM

MULTI CORE CPUs to run many programs ?
 
the wife does printing grafixs and wants to have several programs open at the same time
like photo shop, illustrator, paint and others
will a 4 core CPU be better or a faster 2 core CPU be better

I have heard that most programs do NOT use more then one core at a time
but will each open program use a core or will they all try to run thru one core

so where should the cash be spent a faster CPU or a 4 core unit

I am think of a core 2 dual with a fast bus speed and 800 ram at max levels
with a sata 2 HD

Borek Aug27-08 03:25 AM

Re: MULTI CORE CPUs to run many programs ?
 
I suppose it depends on the version, but the newest versions of graphic programs that tend to be heavy on the processor (like Photoshop) are most likely using more than one core (to some extent it is just a matter of recompiling them). And if you are doing some printing in the background, several cores will be helpfull.

In my personal epxrience two cores are definitely faster and easier to work with then one core. At least that's what I observe when developing my programs. The logic behind seems to be that one core updates API while the other does the background job, this way you get immediate response from the API and program doesn't look sluggish. It also means that one program can easily use several cores, even if compiled with a decade old compiler. My understanding is that that's because of the way event driven OS/API works.

russ_watters Aug27-08 05:22 AM

Re: MULTI CORE CPUs to run many programs ?
 
Programs only use processor when they are doing something. So if you can have 4 cores half the speed of two cores (for equal total processing power), go with two cores.

iamhere Aug27-08 06:16 AM

Re: MULTI CORE CPUs to run many programs ?
 
I would like this clarified - does the *OS* have something to do with how many cores are used?
eg. Linux has a Normal kernel, and it has a SMP kernel, which will make it run across 2 CPUs - how does it do this? The programs instructions are independent of the kernel, how does Linux know which chip to send it to, if it is indeed, possible!

Borek Aug27-08 07:44 AM

Re: MULTI CORE CPUs to run many programs ?
 
These are not individual instructions executed by separate cores, but whole threads. To some extent number of cores doesn't matter - OS switches between threads, assigning them processor time. Whether threads are assigned time slices on the same processor or different ones doesn't matter for the program, although it may change overall efficiency.

chroot Aug27-08 01:00 PM

Re: MULTI CORE CPUs to run many programs ?
 
Quote:

Quote by russ_watters (Post 1849703)
Programs only use processor when they are doing something. So if you can have 4 cores half the speed of two cores (for equal total processing power), go with two cores.

This is false. A multi-threaded program may have its threads spread across multiple CPUs. These days, virtually all programs are multi-threaded. That doesn't mean that all the threads have equal computational demands, though -- Photoshop might have one very computationally intensive thread performing an image manipulation, and another relatively light thread displaying the user interface.

In general, you will see a larger improvement with more cores than with faster individual processors.

- Warren

shoehorn Aug28-08 02:08 PM

Re: MULTI CORE CPUs to run many programs ?
 
Quote:

Quote by chroot (Post 1850051)
In general, you will see a larger improvement with more cores than with faster individual processors.

This is true only if the application has been threaded to take advantage of multiple cores. There's a vast difference between simple multithreading in code (so as to ensure, say, that a GUI remains responsive while the program does some intensive computations in a different thread) and ensuring that the multithreading translates to threads being passed and evaluated efficiently on several cores.

Generally, unless you've designed your code from the ground up to do mutexing and race conditioning in a smart manner, you'll see better performance from fewer, faster cores than with more cores. A good example is the current line of Core2 Duos versus the Core2 Quads; in almost all cases -- and certainly in real-world applications with typical desktop software -- the two-core processors are a better bet than the four-core processors.


All times are GMT -5. The time now is 12:15 PM.

Powered by vBulletin Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
© 2014 Physics Forums