Using the coupling facility for OSAM data caching

The OSAM database coupling facility caching function allows you to optionally specify the caching of OSAM database buffers.

For more information, see the description of the caching option (co) parameter under Defining OSAM subpools.

When you specify the cache only changed data option and an application program modifies data in a subpool, changed data is written first to DASD then to the coupling facility. If you select the cache all data option and an application program requests data that is not already in a subpool or in the coupling facility, that data is either read from DASD or copied from the SB buffer into the subpool and then written to the coupling facility.

Performance varies, depending upon:
  • The cache option you choose.
  • The number of databases utilized.
  • The database blocksizes.
  • The number of sharing IMS/z/OS images.

The cache only changed data option probably provides greater performance improvement than the cache all data option. If you specify the cache only changed data option, each data block from the selected database, once read from DASD, must be written to system memory. This action requires additional path length and cycles. The specific use of the database by your application program dictates whether this option is beneficial.

Data caching initialization processing is dependent upon the proper environment and the specification of the caching option in the subpool definition statement. The following actions are performed:
  • Establish an element size of 2 KB for the coupling facility.
  • Allocate a buffer prefix extension for caching subpools. The extension resides as a non-contiguous area and is anchored from the prefix. It consists of two parts:
    • A fixed-length section for asynchronous processing.
    • A variable length section for data transfer buffer lists. The number of buffer lists is dependent upon the subpool buffer size.

    Example: A subpool buffer size of 6 KB requires three buffer lists and a subpool size of 0.5 KB, or 1 KB requires one buffer list. A single buffer list accommodates 2 KB of subpool buffer.

  • Establish miscellaneous values for coupling facility data transfer parameters including:
    • Element and directory ratios
    • Buffer increment number (number of 256 byte segments)
    • Number of buffers in the buffer list.

The write data option is supported at the subpool level and permits the definition of each subpool with a write cache option.

Restriction: When using sequential buffering and the coupling facility for OSAM data caching, the OSAM database block size must be defined in multiples of 256 bytes (decimal). Failure to define the block size accordingly can result in ABENDS0DB PIC15 from the coupling facility. This condition exists even if the IMS system using sequential buffering is accessing the database in read-only mode.