Modifying the server configuration member for IMS Direct

To optionally configure IMS Direct, configure IMS Direct parameters in your Accelerator Loader server configuration file.

About this task

Use this procedure to configure optional IMS Direct parameters in your Accelerator Loader server configuration file.

IMS Direct supports access to multiple IMS subsystems and calls to compression exits and Guardium encryption and decryption exits, each of which requires additional configuration.

Using exits

If you use compression exits or Guardium encryption and decryption exits, you can configure the server to call these exits, providing optimization.

For compression exits, the default mode of operation is to call them in TCB mode with a serialization latch held and a PST address of 0. This can be inefficient since most of the IMS Direct processing takes place in SRB mode on a zIIP. If you know enough about your compression exit, you can optimize performance of the exit by specifying it in either the IMSDIRCMPTCBn, or IMSDIRCMPSRBn statements, which are described in the procedure below. All exits are called for INIT and TERM in TCB mode.

  • Decompression calls may be made in TCB mode, without serialization by specifying the name in an IMSDIRCMPTCBn statement. This will allow parallel threads to run without serialization, improving performance.

  • Decompression calls may also be made in SRB mode, without serialization, by specifying the name in an IMSDIRCMPSRBn statement. This will avoid a task switch for each compressed segment, improving performance. Note that the supplied IMS compression DFSCMPX0 exits and DFSKMPX0 will run in SRB mode.

Guardium decryption exits require a PST and PST work area. A dummy PST with a PST work area is passed to these exits when they are specified in an IMSDIRDECXITn statement, which is described in the procedure. Guardium decryption exits can run in SRB mode, without serialization.

Procedure

  1. In data set hlq.SHLVEXEC, locate member hlvidIN00, where hlvid represents the name of the Accelerator Loader server started task that was customized by using Tools Customizer.
  2. In the hlvidIN00 member, locate the comment “Enable IMS Direct Map Reduce.”
  3. (Optional) To access additional IMS subsystems with IMS Direct, add a DEFINE IMSDBINFO statement for each additional IMS subsystem.
      "DEFINE IMSDBINFO", 
             "IMSID(xxxx)",
             "SUFFIX(x)",
             "MODBLKS(your.MODBLKS)",
             "ACBLIB(your.ACBLIB)",
             "DFSRESLB(your.SDFSRESL)",
             "IMSDALIB(your.dynamic.allocation.lib)",
             "RECON1(your.RECON1)",
             "RECON2(your.RECON2)",
             "RECON3(your.RECON3)"
    end
    The following table lists the parameters used to define the IMS database:
    Parameter Description Valid values
    IMSID The IMS subsystem identification. Up to 4-character ID.
    SUFFIX The setting of the SUF= keyword used in the IMS Control Region. One character. Default value is I.
    ACBLIB ACBLIB data sets contain the application control blocks (ACBs), which describe IMS applications, and data management blocks (DMBs), which describe databases and the applications that can access them. your.ACBLIB
    DFSRESLB Load library that contains the major IMS modules. your.SDFSRESL
    IMSDALIB Dynamic Allocation Library for IMSDBs and RECONs. your.dynamic.allocation.lib
    MODBLKS Used to support dynamic resource definition. Contains the APPLCTN, DATABASE, RTCODE, and TRANSACT macros. your.MODBLKS
    RECON1 Primary RECONciliation dataset, which holds all of the resource information and event tracking information that is used by IMS. your.RECON1
    RECON2 An active copy of RECON1. your.RECON2
    RECON3 Spare RECON to be used when RECON1 or RECON2 are not useable. your.RECON3
  4. (Optional) Add the following statements to configure additional IMS Direct parameters:
    "MODIFY PARM NAME(IMSDIRECTCYLBUF) VALUE(3)"
    "MODIFY PARM NAME(IMSDIRECTOSAMRECSRD) VALUE(2)"
    Parameter Description Valid values
    IMSDIRECTCYLBUF Specifies the number of cylinders of data to buffer for each file processed in an IMS Direct task. 1-50. Default value is 3.
    IMSDIRECTOSAMRECSRD Specifies the number of records to read in each OSAM I/O operation. For random reads, a large number may lead to unnecessary blocks read. For sequential reads, small numbers may give decreased performance. 1-50. Default value is 2.
  5. To call a compression exit, perform one of the following steps as appropriate:
    • If your compression exit must be called in TCB mode but can run properly without serialization, specify your exit name in the following statement:
      "MODIFY PARM NAME(IMSDIRCMPXITTCBn) VALUE(exitname)"
      where n is a number from 1 to 10 and exitname is the name of the compression exit routine.
    • If your exit can run properly in SRB mode without serialization, specify your exit name in the following statement:
      "MODIFY PARM NAME(IMSDIRCMPXITSRBn) VALUE(exitname)"
      where n is a number from 1 to 10 and exitname is the name of the compression exit routine.
    If neither of these conditions apply, do not specify the name of your compression exit.
    Note: Review "Using exits" for more information about configuring calls to compression exits.
    Parameter Description Valid values
    IMSDIRCMPXITTCBn Specifies the name of a compression exit that can be safely called without serialization. Up to 10 exit names can be specified, where n is a number from 1 to 10. Since the server runs multiple threads in parallel, this feature provides optimization by eliminating the possible serialization conflicts between threads. Name of compression exit routine
    IMSDIRCMPXITSRBn Specifies the name of a compression exit that can be safely called without serialization and in SRB mode. Up to 10 exit names can be specified, where n is a number from 1 to 10. Since multiple exit names can be called without serialization and without switching off the zIIP (SRB mode) into TCB mode (GP processor), this feature provides optimization by eliminating the need to switch tasks for each exit call.

    The IBM supplied compression exits DFSCMPX0 and DFSKMPX0 will run safely in SRB mode. They can be specified in IMSDIRCMPXITSRB1 and IMSDIRCMPXITSRB2.

    Name of compression exit routine
  6. To call Guardium encryption and decryption exits, add the following statement:
    "MODIFY PARM NAME(IMSDIRDECXITSRBn) VALUE(exitname)"
    where n is a number from 1 to 20 and exitname is the name of the Guardium exit routine.
    Note: Review "Using exits" for more information about configuring calls to Guardium encryption and decryption exits.
    Parameter Description Valid values
    IMSDIRDECXITSRBnn Specifies the name of the Guardium encryption and decryption exit routine. Up to 20 exit names can be specified, where nn is a value from 1 to 20. Name of Guardium exit routine