HPE Community read-only access December 15, 2018
This is a maintenance upgrade. You will be able to read articles and posts, but not post or reply.
Hours:
Dec 15, 4:00 am to 10:00 am UTC
Dec 14, 10:00 pm CST to Dec 15, 4:00 am CST
Dec 14, 8:00 pm PST to Dec 15, 2:00 am PST
Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

Use more than 1 CPU.

 
Eloy Andrade
Occasional Visitor

Use more than 1 CPU.

Hi :

I have 3 computer's in cluster, and they have 4 CPU's each one, and i have a process that use a CPU 100 %, is possible to configure the computer for any process use more than one CPU ?...

regards
Eloy
5 REPLIES
Ian Miller.
Honored Contributor

Re: Use more than 1 CPU.

VMS since V7 has kernel threads where an application can have multiple threads which are scheduled on separate CPUs. Your application has to be written to be multithreaded to take advantage ofthis.
____________________
Purely Personal Opinion
Jan van den Ende
Honored Contributor

Re: Use more than 1 CPU.

Eloy,

Welcome to the VMS forum!

Of course, Ian gave the most directly correct answer.
However, _IF_ (and that is a big if) the application IS suited to handle parts of its task in parallel (for instance, if multiple users can request things that can be handled independant of one another) _IF that is the case, THEN it would be possible to have multiple copies of the program (on the same node, or on different nodes) EACH running simultaniously on multiple CPUs.
If that applies to your situation, only you can judge!

hth

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.
John Abbott_2
Esteemed Contributor

Re: Use more than 1 CPU.

You don't say what hardware you're using, if it's an in house app, a server process or for how long you're using 100% cpu.

If you're using a more recent generation of Alpha chip (assumed Alpha hw)... you should look at the documentation for the /OPTIMIZE /ARCHITECTURE switch for when you compile the source code.

You can get gains on EV6 67 & 68 by re-compiling with the most suitable switches. This may not be possible if your cluster has a mix EVn level and you point to the same image, in that case you have two options, seperate images for each EV level or one image compiled at the lowest EV level you operate.

I have seen gains (reduced elapsed time) by simply re-compiling.

John.
Don't do what Donny Dont does
Robert Gezelter
Honored Contributor

Re: Use more than 1 CPU.

Eloy,

Whether you can get more than full utilization of a single processor depends on the nature of your workload.

If your application is a single calculation run by a single user as a single image, the simple answer is no, unless the application makes use of system facilities (e.g. the lock manager) that can be processed asynchronously in other threads on different CPUs.

On the other hand, if your application is multithreaded, or is a single threaded application that can be used simultaneously by several different users, then efficient use of multiple processors can occur (this is perhaps the most common OpenVMS situation).

More information about your environment would make it easier to offer constructive suggestions.

- Bob Gezelter, http://www.rlgsc.com
comarow
Trusted Contributor

Re: Use more than 1 CPU.

What everyone is getting at is.... it's not the computer configuation that needs to altered or a system management setting.

It is the application design that needs to be considered. If it is a single thread, you are out of luck.

However, if the program can split into a number of
threads or jobs, they will naturally be spread between mulitple CPUs.

VMS Version 5 introduced Symetric Multi Processing. With the introduction of Symetric Multi Processing, VMS added a number of RTL calls that will allow a single job to split up into multiple tasks that run in parallel while synchronizing their activity.

If you type Help rtl ppl you will see the calls. These are tools that will do things like multiple search of arrays that would otherwise be more complicated to code.

An example as stated would have synchronization techiques that when one of the threads find the information, the other processes would unit and continue.

Other applications could create their own detached processes independent of any special tools.

The point being, there is no magic. It is thus application design, not system management that will provide the
processing you need.

Have fun.

Bob Comarow