Register to reply

MULTI CORE CPUs to run many programs ?

by ray b
Tags: core, cpus, multi, programs
Share this thread:
ray b
#1
Aug27-08, 03:02 AM
P: 428
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
Phys.Org News Partner Science news on Phys.org
Law changed to allow 'unlocking' cellphones
Microsoft sues Samsung alleging contract breach
Best evidence yet for coronal heating theory detected by NASA sounding rocket
Borek
#2
Aug27-08, 03:25 AM
Admin
Borek's Avatar
P: 23,406
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
#3
Aug27-08, 05:22 AM
Mentor
P: 22,252
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
#4
Aug27-08, 06:16 AM
P: 6
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
#5
Aug27-08, 07:44 AM
Admin
Borek's Avatar
P: 23,406
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
#6
Aug27-08, 01:00 PM
Emeritus
Sci Advisor
PF Gold
chroot's Avatar
P: 10,428
Quote Quote by russ_watters View Post
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
#7
Aug28-08, 02:08 PM
P: 448
Quote Quote by chroot View Post
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.


Register to reply

Related Discussions
Multi Programs in one bootable Thumb drive Computing & Technology 2
CPU differences: quad core, dual core, etc. for CFD Mechanical Engineering 3
Do you like Intel CPUs more or AMD's? Computing & Technology 11
Replace an Intel processor with an Alpha processor Computing & Technology 3
2 CPUs on a motherboard ? Computing & Technology 10