• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 610
  • Last Modified:

do all programs take advantage of all processor cores?

I'm using a windows 2008 SBS server and a colleague has told me that not all programs take advantage of all the cores within the computer.  We have 8 cores in 2 seperate processors. Can anyone confirm this ?
0
resolver1
Asked:
resolver1
  • 6
  • 5
  • 3
  • +2
8 Solutions
 
Nol888Commented:
Only programs that are coded for and optimized to run multiple threads can fully take advantage of a multi-core processor. Most desktop applications do not use multiple threads, but most server programs (IIS, Apache, etc) are written to take advantage of the extra processing power.
0
 
resolver1Author Commented:
what determines whether a program uses multiple threads? is it the compiler?
0
 
Nol888Commented:
No, it's the program itself. If the program is written to use multiple threads, then it will. Otherwise it is just single-threaded.
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
SantiagoACommented:
There's a difference between multiple processes distributed in multiple cores (one process in one core) and "parallel procesing" in wich a single process in split between multiple cores or CPUs.
Only VERY specialized software runs using parallel processing, like rendering Pixar movies, or reservoir simulation for the oil industry. Some of this application can use even 1,000 CPUs (called clusters) at the same time. They are designed to split one computation in multiple blocks and assigng each to one CPU, then put all the results together and come out with the unified result.
Multi core CPUs are used to distribute all the big list of processes running in a regular PC, but each process is onlo located in one particular core. This helps to reduce the load that implies one core to do all the job.
0
 
Nol888Commented:
I wouldn't say VERY specialized software uses your so-called parallel processing; video encoders as well as even some video decoders run using multiple threads, in which one process can split its workload across multiple CPUs.

Getting back to the original question though, multiple cores = more threads executing tasks simultaneously. Even if one program cannot split its load between the cores, you can then execute multiple processes simultaneously.
0
 
kenmerryCommented:
As I understand it the multi-core  or CPUs are mainly for games programs
0
 
resolver1Author Commented:
OK. so if a program has been written to make uses of multiple threads, it will use all the processors availible to the operating system?
0
 
kenmerryCommented:
Not necessarily, as I understand multi-thread/processors. It will depend on how the program has been written. Unless you have access to the code/programmer I'm not sure hpw you can find out. Most prograams are written for single processor. If you write a progrm and throw enough threads the OS will take care of how many processors to use. I'm not sure where you are trying to go? If I watch one of my SBS 2003 servers with 8 CPU Cores in twin Xeons the majority of the processing is done in one or two cores. If I look at BOINC (climate prediction software) on my PC it uses all four cores to the same level.
0
 
resolver1Author Commented:
i'm trying to understand why i would want and also why manafacturers are all making pc's with multiple cores if developers are not using them all.  i'm also trying to understand why developers dont make use of the cores if it will make their app faster.  if anyone can help me understand it would be appreciated.
0
 
kenmerryCommented:
Hi. It takes a lot more effort for the programmer to use threads/multi CPUs and I guess the buck is king. So if you are paying a programmer £100,000 p.a. and you have a team of 40 and it takes 2 years to write the program. Extending that time frame will cost more and probably not recoup the costs for making it multi core/threading?
0
 
_Commented:
>> ...why i would want and also why manafacturers are all making pc's with multiple cores...

The biggest reason is for heavy multi-tasking.
Let's say you are converting a video file from .AVI to .VOB, so you can burn it to DVD, That's fairly cpu intensive.
With a single core, your system is pretty much useless until it is done. But with a multi-core, you can still do email, browse the web, play music, crunch a database, etc., without hardly noticing the difference. It still has to share memory, so there is some impact. Which is why everyone is going to gobs of memory, also.
0
 
resolver1Author Commented:
Thanks for your Answers guys.  I understand what you are saying but it doesnt make sence to me.  It seams that the hardware isnt being utilised to its full potential.  Alot of PC's are not being supplied with 2 cores, sometimes 4 cores now but a lot (or even most) of programs are not taking advantage of this fact.
0
 
_Commented:
Thank you much.    : )

>> ...but a lot (or even most) of programs are not taking advantage of this fact.

This is currently true, but the software and OSs are coming around.
But some kind of "killer app" needs to show up to give them a good push (maybe something like using the computer as a 'distribution box' to run everything your house. think Media Center on a larger scale)
0
 
resolver1Author Commented:
Yeah agreed.  I'm still interested in how developers take advantage of multiple cpus. iguess thats a question for the developers rather than hardware and opoerating systems
0
 
kenmerryCommented:
I have a son involved in writing programs and he says it does his head in to write a multi-thread program so they all leave it alone. The reason manufacturers are making multi-core chips is that they have hit a brick wall with speed and are now trying to improve performance by more cores and more cache on the CPU chip. This also makes it look good when you advertise how many cores you have etc. But as most people don't understand what makes a PC go faster they just buy what they are told. For instance manufactureres of NBs are still installing 4200 rpm and 5400 rpm drives to make the battery last longer rather than put a 7200 rpm drive in which gives a good third increase in speed. Or you go solid state drives for speed. An E8600 Intel CPU does very nicely in the office environment and will beat most rival in the i range. Check it out with the Intel site.
0
 
resolver1Author Commented:
interesting.  why that model of processor over other models?
0
 
kenmerryCommented:
Because it's twin CPU Core, has a fair amount of cache and runs at 3.33 GHz, about as fast as I have seen at a reasonable price. I have 10 PCs installed with this in an office environment and linked to a standard 2003 server and they do the job very well. They are Dell Optiplex 780 PCs but if you build your own with a suitable Intel motherboard they go just as well.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 6
  • 5
  • 3
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now