Skip to Main Content
IBM Data and AI Ideas Portal for Customers


This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:


Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,


Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Employees should enter Ideas at https://ideas.ibm.com


Status Not under consideration
Workspace Db2 for z/OS
Created by Guest
Created on Feb 21, 2019

CLOSE NEVER - Avoid pseudo-close for active datasets and in-memory objects, to avoid sync I/O due to XI

PROBLEM:

 

Our shop has an active 10-way data-sharing environment and we have been fighting for some time to get our group bufferpool Sync/XI hit ratios up above 90%. We appear to be fighting "pseudo-close" in this endeavor.

 

According to our conversations with IBM, during pseudo-close, Db2 cross-invalidates large swaths of pages from local bufferpools...they do this because serialization during externalization can cause concurrency issues. However, these invalid pages lead to large numbers of Sync-for-XI misses (and thus sync I/Os) for data sharing. Two examples:

 

SCENARIOS:

 

1) We have a large index bufferpool, about 8GB in each subsystem, with a 20GB group bufferpool. Based on update rates, the GBP should have plenty of pages to cache XI'd pages for long periods of time...yet our Sync XI hit ratios fall down to 70% or below. In discussion with IBM, we were advised to set PCLOSET higher to avoid pseudo-close. We set it to 60 minutes, and this appeared to help for a while, but now Sync/XI hit ratios are drifting down again. Setting PCLOSET much higher could compromise recovery for objects, and many objects in the environment do NOT require this level of performance.

 

2) We are operating an "in-memory" (PGSTEAL NONE) bufferpool 20GB in size. The storage is MORE than enough to cache all objects assigned to it...yet after a while we start seeing sync I/O "trickles" and "bursts". After discussion with IBM, we found that pseudo-close on an infrequent-updating member was forcing XIs on all members, resulting in sync I/O to retrieve pages from disk.

 

THE PROPOSED SOLUTION:

 

Offer a "CLOSE NEVER" setting for tablespaces and indexes, in addition to CLOSE NO and CLOSE YES. This would instruct Db2 not to close these pagesets for write (not pseudo-close) unless they were either quiesced/started RO or DB2 was shut down.

 

CLOSE NEVER objects would never pseudo-close, so pages would stay resident in the GBP until "stolen" and we we would not need to incur sync I/O due to pseudo-close cross-invalidations. This should allow for higher Sync XI hit ratios for heavily used objects.

This would be especially useful for "in-memory" data in PGSTEAL(NONE) bufferpools. Eliminating the XIs due to pseudoclose/RO conversion would eliminate much of the I/O and allow the GBPs to cover those pages that were XI'd due to normal write activity, keeping in-memory data actually "in-memory".

 

CONSIDERATIONS:

 

Users would need to be notified in documentation for CLOSE NEVER:

* Keep a close eye on DSMAX, as these datasets would reduce the number of DSCBs available for other data.

* Make sure to have a good backup/recovery strategy, as SYSLGRNX intervals may not close. (alternately, give users the ability to close a SYSLGRNX interval manually for CLOSE NEVER data without XI-ing the GBPs, but that could be tricky)

 

  • Guest
    Reply
    |
    Mar 5, 2019

    3 minute period on a Tuesday morning:

     

               Sync XI Reads
             -----------------
    GBP       Sync XI   Sync XI
    Name     Reads/Sec Hit Rat
             -----------------
                              

    GBP19       1149.39   0.02

     

    Yes, that is over 1,000 sync reads per second for cross-invalidation refresh. And yes, that is a hit ratio of 0.02%, meaning none were present in GBP and almost all of those I/Os ended up going to disk. And that is an in-memory, PGSTEAL(NONE) pool, that was "primed" only 24 hours ago when Db2 came up after IPL. (data collected from DSNDQBGL in SMF 002)

     

    The XI at pseudo-close has a BRUTAL impact on in-memory data.

  • Guest
    Reply
    |
    Mar 4, 2019

    One comment - If this is implemented, it might also be beneficial to add a field to DSNDQTST to indicate number of CLOSE NEVER datasets currently open...it could be helpful in diagnosing an issue of too many CLOSE NEVER pagesets.