The Question is:
Can Cobol application take advantage of SMP?
Cobol application runs on an ES40. There are 4 CPUs in SMP configuration. The
application uses 1 CPU only.
What do I need to do or is it possible for the application to make use of the
other 3 processors?
The Answer is :
Per Amdahl's law, the benefit of adding additional processors into
an SMP system is directly proportional to the amount of code that
can be run in parallel.
The COBOL compiler does not itself parallelize application code.
COBOL applications and applications in other languages can certainly
be coded to operate across multiple processors, and you are probably
already utilizing multiple processors simply by having several
application processes running in parallel. OpenVMS SMP and the
OpenVMS process scheduling mechanisms provide this by default, and
the typical timesharing workloads do tend to parallelize nicely.
As for explicitly using DECthreads or the OpenVMS kernel threads
support from a COBOL application to code the application to operate
in parallel at a threading level, this is quite possible but is not
as easy to code as it might be from C or another language. As for
using shared memory or message-passing or files as part of parallel
processing using multiple processes, this is all obviously also
entirely and easily possible -- and this is one of the more common
programming techniques for performing parallel operations.
Please take the time to review the Programming Concepts manual and
related documentation, and please review topics here in the Ask The
Wizard area starting with topic (1661). As for the mixed-language
capabilities of OpenVMS, please see the calling standard manual in
the OpenVMS documentation set.