DFSMPLxx member of the IMS PROCLIB data set

Use the DFSMPLxx member of the IMS PROCLIB data set to make z/OS®, IMS, or user-written program modules that are not automatically preloaded into the IMS control region resident in IMS regions.

Making some modules resident can improve throughput and response time for transactions frequently referred to if sufficient virtual storage is available with high-performance paging DASD. Ordinarily, preloading modules is advantageous only for MPPs and for message-driven Fast Path regions, and only when the preloaded modules are reentrant.

Notes:
  • If CANCEL_PGM=Y is specified, the program modules that are specified on the DFSMPLxx member are deleted from working storage areas after the program has run. For the program modules that are specified on the DFSMPLxx member to remain loaded when CANCEL_PGM=Y is specified, use the EXCLUDE=proclib_member_name parameter with CANCEL_PGM=Y to exclude the program modules from the delete process.
  • Pseudo wait- for-input (PWFI) and wait-for-input (WFI) application programs that are resident in IMS dependent regions cannot be refreshed dynamically. For details, see the UPDATE PGM command.

Program modules can be made resident in either an IMS region or LINKPACK. This topic explains how to make program modules permanently resident and provide some rules for doing so.

Making modules resident in a region

When making modules resident in a region, consider the following:
  • Only serially reusable z/OS, IMS, or user-written program modules can be resident in a region.
  • Only program modules used for transactions serviced by the region involved, should be made resident in that region. Program modules should be resident for only the duration of the region.
  • z/OS and IMS modules that execute in a dependent region can reside in that dependent region.

Modules made resident in a region are in the region JOBPACK and are called without repeating the overhead of searching STEPLIB/JOBLIB, LINKPACK, and SYS1.LINKLIB. The overhead of fetching the module into virtual storage is encountered only at region initialization time.

Making modules resident in LINKPACK

In an operating environment where there are several batch regions or a combination of online and batch regions, it can be advantageous to place some of the frequently used IMS and access method modules in the operating system LPA. Programs made resident in LPA should be those that can be shared among all regions. This saves virtual storage space. The modules to be included must exist in either a LNKLSTxx member of SYS1.PARMLIB (or its concatenations, one of which should be IMS.SDFSRESL) or SYS1.SVCLIB.

Initial access of LPA resident program modules can be slow, because the region JOBPACK and STEPLIB/JOBLIB are searched before LPA is searched. Subsequent access can be at CPU speeds if the region JOBPACK has not been purged by z/OS virtual storage management (as when sufficient virtual storage is not available to satisfy a user GETMAIN for space). Although the modules are physically residing in LPA (and are shared among multiple regions), the overhead involved in searching program libraries and LPA is only experienced at region initialization time.

Although some real storage can be saved by putting the DL/I action modules into LPA, it is not recommended that an installation place IMS modules into the LPA. Doing so makes it difficult to execute different versions of IMS concurrently. Also, when maintenance is applied to modules in LPA, another initial program load of the z/OS system is required.

The IMS module preload function

The z/OS task under which modules are preloaded varies based on the IMS region type. Table 1 shows IMS region types and associated z/OS tasks.

Table 1. IMS region types and associated z/OS tasks
IMS region type z/OS task
Control (CTL) Physical Log
Message (MSG) non-reentrant modules Program Control
Message MSG reentrant modules Region Control
Batch Message (BMP) Region/Program Control
Batch (DLI) Region/Program Control
Fast Path (IFP) Region/Program Control
Java batch processing region (JBP region) Region/Program Control
Java message processing region (JMP region) Region/Program Control

DFSMPLxx control statement

Complete the following steps to use this function to make program modules resident in a region or LINKPACK.
  1. Use the IMS PROCLIB data set allocated before Stage 2 of IMS system definition and the z/OS utility IEBUPDTE to create members of the IMS PROCLIB data set that identify modules to be preloaded.

    Related reading: See z/OS MVS™ Data Administration: Utilities.

    Member names must be DFSMPLxx. The record format is:
    Position
    Contents
    1-71
    Module names, separated by a comma
    72-80
    Ignored

    The first name on a record can have leading blanks. The last name on a record is denoted by a comma followed by one or more blanks; the last name on the last record is followed by one or more blanks.

    No limit exists for the number of module names that can be specified. If a preloaded module has ALIAS names that are ordinarily invoked by z/OS LINK (that is, application programs in DLI BMPs and MPPs), those ALIAS names should also be specified for preload.

  2. Bind the application program modules using the IMS reentrant DL/I language interface. The true attributes must be specified; for example, if reusable only, do not specify RENT.

    The IMS DL/I language interface is not reentrant. Any IMS application programs that were designed to be reentrant or serially reusable can use the module preload function after being bound with the IMS language interface.

  3. In the step execution JCL, do both of the following:
    • Insert a DD statement for IMS.PROCLIB with the ddname PROCLIB.
    • Specify the correct member of the IMS.PROCLIB data set in the EXEC statement parameter.

If an invalid member name is specified, or if the record format is incorrect, no modules are loaded but a message is issued and initialization continues.

The member name should be unique unless overridden by the IMS procedure.

For a description of the EXEC statement parameters, see DFSMPR procedure.