HP OpenVMS Systems

ask the wizard
Content starts here

Parallel Processing (SMP) Coding?

» close window

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?
Thank you

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.

answer written or last revised on ( 13-AUG-2002 )

» close window