PSB, PSBW, and DMB pool tuning

These guidelines for the program specification block (PSB) pool, PSB work (PSBW) pool, and data management block (DMB) pool can resolve pool space failures.

PSB pool and intent list considerations

The PSB pool holds all PSBs for scheduled application programs. A PSB remains in the pool until space is needed to load another PSB. Then, if all space is used, the least-referenced inactive PSB is freed. PSBs that are made resident and are not parallel scheduled are exceptions to this rule. These PSBs do not take from the pool allocation and are usually designated for highly referenced (usually preloaded) programs. You can page fix resident PSBs by including load list area DFSPSBRS in the module fix list coded for member DFSFIXxx in the IMS.PROCLIB data set.

If the DL/I address space option is used, two resident PSB pools exist, one in the z/OS® common area (DFSPSBRS) and one in the DL/I address space (DFSDLIRS).

Similarly, resident-intent lists can be page fixed with the inclusion of DFSINTRS in the DFSFIXxx member. Make intent lists resident.

Storage for the PSB work pool

A portion of the PSB work pool is required by each active PSB, but the total size need not be larger than the maximum.

When you use the technique of starting large and reducing to some value greater than the maximum amount used, scheduling stops when any pool space failures occur.

DMB pool considerations in DB/DC and DBCTL environments

Make the DMB pool large enough to contain all IMS database DMBs. Each time you load a DMB into the pool, the database must be opened, and another database must be closed to free space. This activity increases the elapsed time that is required for DL/I calls. Limited page faulting is preferable to using OPEN and CLOSE. Make DMBs for active databases resident. These DMBs are good candidates to be page fixed. If all of the DMB pool is not being used, reduce the size until IWAIT for DMBs begin to occur. The IMS Monitor Region IWAIT report shows the DMB pool size is too small by the presence of DMB= entries. You can then increase the specification of the DMB parameter on the BUFPOOLS macro.

PSB pool, PSB work pool, and DMB pool space failures

Pool space failures occur when space in any pool is insufficient to sustain the current number of concurrently executing dependent regions. Each application program requires its PSB, the PSBW, the intent list, and the DMBs to be scheduled. Ensure that all pools are large enough to eliminate pool space failures. The general rule is to allow sufficient space for the (2R + 1) largest blocks that are part of the set DMB, PSB, or PSBW as appropriate, where R is the number of active dependent regions. This guidance allows for fragmentation in the pool space. Pool space requirements can be reduced by eliminating unnecessary PCBs from PSBs.