With the availability of APAR PH65562, you can now use two new options, REFPF and VPCLOSET, of the -ALTER BUFFERPOOL command to help you manage cross invalidation of buffer pool pages for specific buffer pools, especially in Db2 data sharing groups.
This repeated invalidation, which occurs when page sets go in and out of GBP-dependency, is often painful for business-critical applications that depend on large indexes that are expected to be mostly in-memory. It sometimes defeats the purpose of having large buffer pools, and increases synchronous reads, impacting online workload performance.
The cross invalidation occurs when Db2 automatically converts updated page sets or partitions from read-write intent to read-only intent state, which is controlled by the pseudo-close mechanism. The interval for the pseudo-close operations is specified by the value of the PCLOSET subsystem parameter. The conversion takes place when elapsed time since a page set or partition was last updated exceeds the time specified in by the PCLOSET value. The page set or partition becomes non-GBP-dependent and the pages in local buffer pools are cross-invalidated.
Thereafter, when read-write activity starts again, the page set or partition switches to GBP dependency and the pages in the buffer pools are cross-invalidated again.
However, with the PTF for APAR PH65562 applied in Db2 13 you have two options to reduce the impact of the cross-invalidation behavior.
If a buffer pool is very large and your applications depend on large objects that are expected to be mostly in memory, you can alter the buffer pool with the new REFPF(YES)option, to specify that pages are refreshed with prefetch after cross invalidation to avoid the synchronous reads. Specifying REFPF(NO) restores the default behavior, where pages are not refreshed after cross invalidation. The REFPF option has no effect for an ALTER BUFFERPOOL command issued in a standalone Db2 subsystem that is not a Db2 data sharing member.
The new VPCLOSET(integer) option change the pseudo-close interval for the altered buffer pool. The integer value in the range 1–32767 specifies the number of minutes that a partition or page set remains read-write after it is last updated. After the specified number of minutes, Db2 converts the page set or partition to read-only.
The initial default value for this option is 0, which means the PCLOSET subsystem parameter value specifies the pseudo-close interval for the buffer pool. For more information, see RO SWITCH TIME field (PCLOSET subsystem parameter).
For NOT LOGGED table spaces, Db2 converts the page set or partition from read-write to read-only after one minute, regardless of the value of VPCLOSET.
The VPCLOSET value has the same effect if the ALTER BUFFERPOOL command is issued in a Db2 data sharing member or a standalone Db2 subsystem.
The DISPLAY BUFFERPOOL command output is also enhanced to report both the REFPF setting, in the DSNB406I message, and the pseudo-close effect interval, in the DSNB404I message, for each buffer pool.
The displayed pseudo close interval can be the VPCLOSET value if it was specified in an ALTER BUFFERPOOL command. However, if a buffer pool has not been altered with the VPCLOSET option, or the VPCLOSET was set back to 0, the PCLOSET subsystem parameter value is displayed instead.
For more information about this new capability, see the following topics in the Db2 product documentation:
#Db2forz/OS