Control statements that affect performance

Use the HSSRCABP control statements to allocate more buffers to tune the performance of your job. Some control statements that are specified in the HSSROPT data set can also affect the performance of CAB.

HSSRCABP control statements

HSSRCABP data set contains the CAB control statements that are used to change CAB buffering parameters and options for a specified data set or for a specified group of data sets. The statements make it possible to override the default values of the CAB parameters. The following table lists the HSSRCABP control statements.

For an instruction for tuning buffers, see Determining the appropriate CAB parameters. For a detailed description of each control statement, see HSSRCABP control statements.

Table 1. HSSRCABP control statements
Control statement Description
CABDD This control statement defines a data set or a group of data sets to which the succeeding CAB control statements apply.
OCCURRENCE This optional control statement specifies the HSSR PCB to which the specifications of the control statement set apply. It is used when multiple HSSR PCBs refer to the same database.
RANSIZE This optional control statement specifies the size of a range, which is the fixed number of ESDS CIs, OSAM LDS CIs, or OSAM blocks read together in one chained sequential I/O operation.

The default value for RANSIZE is determined from the characteristics of each database data set; the default value is determined as follows:

  • For OSAM, the value is equal to the number of blocks per track
  • For ESDS and OSAM LDS, the value is equal to:
    • Half of the number of CIs per CA if the CI size is greater than 2,048 bytes
    • One-fourth of the number of CIs per CA if the CI size is less than or equal to 2,048 bytes

This default is efficient for relatively well organized databases.

A RANSIZE value smaller than the default can be specified to reduce the buffer space. (In this case, the REFT4 parameter value, if it is coded, must also be reduced.)

NBRSRAN This optional control statement specifies the number of whole ranges to be buffer-resident for look-aside buffering.

The NBRSRAN parameter affects the number of successful look-aside operations, as well as buffer space.

With well-organized databases, NBRSRAN can be reduced to the minimum value of 3 (because look-aside operations are less important with well organized databases) to reduce the buffer space.

With disorganized databases, increasing NBRSRAN can sometimes increase the number of successful look-aside operations. This decreases the number of direct and chained sequential I/Os.

NBRDBUF This optional control statement specifies the number of single blocks or CIs read with direct I/O to be buffer-resident for look-aside buffering.
OVERFLOW This optional control statement affects the buffering of the prime data set group of an HDAM or PHDAM database and describes how the overflow area should be buffered.

The OVERFLOW parameter affects the buffering of HDAM and PHDAM databases. If a large number of I/O operations are performed in the overflow area, either the OVERFLOW CAB option (default) or the OVERFLOW SHR option is recommended, because either of them allows chained sequential I/O in the overflow area. Note that the OVERFLOW CAB option requires more buffer space than OVERFLOW SHR.

The OVERFLOW BB is reasonable if only a few I/O operations are performed in the overflow area. However, it does not allow chained sequential I/O in the overflow area.

REFT4 This optional control statement is used as a reference threshold value to help determine whether chained sequential I/O or direct I/O should be performed.

The default value of REFT4 equals to that of RANSIZE. This value can be decreased or increased, to regulate the number of direct and chained sequential I/O operations.

This parameter does not affect the number of buffers to be allocated by CAB.

INTER This optional control statement activates the CAB inter-PCB look-aside, which enables CAB to attempt to find a requested RBA within buffers of other HSSR PCBs that refer to the same database.
PARTPROC This optional control statement, valid only for HALDB, specifies the access intent for the database or the databases specified on the statement.

For a HALDB, CAB buffers are shared among data sets that belong to the same data set group. If only one partition is accessed at a time, as in the unload utilities such as FABHURG1 or FABHFSU utility, you do not need to use this control statement. If more than one partition is accessed randomly, you must specify the number of partitions that are accessed at a time.

For the detailed description of PARTPROC statement and the buffer sharing for HALDB, refer to CAB buffer sharing for HALDB.

CAB buffer sharing for HALDB

For HALDBs, CAB buffers are shared among data sets that belong to the same data set group.

If only one partition is accessed at a time, as in the unload utilities such as FABHURG1 or FABHFSU utility, do not code the PARTPROC control statement. In this case, the CAB buffer for each data set group is used exclusively for the partition that HSSR buffer handler accesses at that time.

If more than one partition is accessed randomly at a time from your HSSR application program, you must specify a PARTPROC control statement for the HALDB, with R as the second operand and the number of partitions that are accessed at a time as the third operand. CAB buffer handler then calculates the required number of buffers based on the CAB parameters specified for each data sets. It allocates enough buffer space so that CAB buffering requirements specified by the CAB control statement are met for each data set as long as partitions more than the number specified in the PARTPROC statement are not accessed.

The total amount of storage used for the CAB buffer space for the HALDB is reported in the HALDB Buffering Statistics report (see HALDB Buffering Statistics).

HSSROPT control statements

This input data set provides control statements that affect CAB buffering. The following table shows a brief review of the HSSROPT control statements that you might want to consider using with CAB. For a detailed description of these control statements, see Options for HSSR Engine.

Table 2. HSSROPT control statements for CAB
Control statements Description
BUTR This optional control statement activates a trace of CAB buffering activities. The trace is written to the data set defined by the HSSRBUTR DD statement. This data set is used as input to FABHBSIM to simulate CAB buffering in order to tune CAB buffers.

The buffer trace is not taken for HALDBs.

NOFIX This optional control statement prevents page-fixing. Since a noticeable amount of paging might occur when CAB buffers are not page-fixed, this statement is usually omitted.
NOVSAMOPT This optional control statement prevents CAB from using the default read-ahead threshold value used by VSAM.