Link to home
Start Free TrialLog in
Avatar of sunilswain
sunilswainFlag for India

asked on

Force all 4 Core usage in a QuadCore Server.

Hi,

One of My Customer has raised the following Query:

"From the SRM reports for terminal server sv01 during single-user load testing, it is apparent that the S-Plus application is single-threaded.  Despite running on a quad-core Wintel server, it is only making maximum use of 1 core (>80% processor utilisation on that 1 core, 20-25% utilisation across all cores in the server).

The question for Server Support Team is therefore, is there any technology that can be applied to the server that would allow the application to make more use of the available processing power in the server?"

To my knowledge An application designed to support Quad-Core only can use all the cores efficiently. Any ideas from experts for above issue is welcome!
ASKER CERTIFIED SOLUTION
Avatar of Lee W, MVP
Lee W, MVP
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of sunilswain

ASKER

Well... My Client understands the difference between Single threading and Multi threading applications. He's asking for any new Technology that can help a single threading process to utilize the processing power of all cores available in Quad Core !!!
"He's asking for any new Technology that can help a single threading process to utilize the processing power of all cores available in Quad Core" It doesn't exist, as leew explained you can't make a single threaded app act like a multi-threaded app.
"...My Client understands the difference between Single threading and Multi threading applications..."

To be brutally honest, it would appear not otherwise he wouldn't ask such a question. A good explanation as to the differences between single and multi threading:

A thread is a path of execution through a program. Single threaded programs have one path of execution, and multi-threaded programs have two or more paths of execution. For most programs, one thread of execution is all you need, but sometimes it makes sense to use multiple threads in a program to accomplish multiple simultaneous tasks.

So unless you specifically write a program to be multi-threaded, you cannot take advantage of SMP hardware architectures.

Further reading:

http://en.wikipedia.org/wiki/Symmetric_multiprocessing
http://en.wikipedia.org/wiki/Multithreading
http://en.wikipedia.org/wiki/Thread_(computer_science)

So I take it the B grade was because we couldn't tell you how to do the impossible?
You could install a virtualization solution (VMware Server 2.0, Hyper-V, MS Virtual Server/PC, ..) and run one VM on each CPU. If the host-OS is W2008 Enterprise Edition you are very lucky because it licenses 4 virtual guests and you can use all 4 CPUs without additional costs.
Well ... from the client the question itself was a B-Grade type question!!! I still thought maybe we have some hardware simulation softwares that may make the impossible a possible... but that was not the case..
No such thing as a "B" grade type quesiton.  If you thought the question was easy or impossible, you assign fewer points to it.  If you don't plan on giving an "A" grade, then you need to state that in the question (and watch how few if any responses you get).  Everyone answering your question is a volunteer - appropriate grading is a method of saying THANK YOU for taking your time to answer my question.  If you don't wish to show respect to those helping you, you'll find fewer and fewer people willing to help you.
Leew,

Thanks for that tip.. Will remember that next time.

Sunil