DFSSBCR0

Module DFSSBCR0 in load module DFSSBIL0 is part of OSAM sequential buffering (OSB). It is the main processing module for OSB.

DFSSBCR0 is invoked by the OSAM buffer handlers (DFSDBH10 and DFSDBH20) for two functions.

The first is to locate a buffer in the OSB buffer sets and move it to the normal OSAM buffer pool. If there is a hit, the program does not have to wait for an I/O. If there is not a hit, the program does the I/O, and DFSSBCR0 decides if additional sequential I/O is required.

The second function is to keep track of database reference patterns. For each database dataset group (and DASD volume if the dataset spans volumes), a chain of sequential references and a chain of random references is maintained. OSB (in module DFSSBEV0) will periodically evaluate these access patterns, and might decide to start or stop reading ahead.

Hints

OSAM sequential buffering has been designed to give the greatest performance benefit for the least amount of overhead, but it is not free. Evaluate the CPU this and other OSB modules use against the benefit of reduced I/O waits, by examining the reports in the //DFSSTAT DD card. If OSB is spending all its CPU analyzing sequential calling patterns but finding none, it should be turned off for the database data sets for which it is not effective.

Reference Sources

More information is available in the IMS DBSOURCE Library Data Set. See your IMS systems programmer.