IP Library Granted Patent US 12,045,208
Granted Patent B2
US 12,045,208 · App. 17/657,347 · Granted Jul 23, 2024

Automatic buffer pool page fix prioritization for database tuning

Inventor: Donnell W. Roach (Houston, TX)
Assignee: BMC Software, Inc.
G06F16/21G06F11/3485G06F11/349G06F16/24552G06F16/24578
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,045,208
App. No.
17/657,347
Granted
Jul 23, 2024
Kind
B2
Abstract

For each database subsystem in a plurality of database subsystems running in a logical partition (LPAR), the systems and techniques include collecting data from buffer pools on a periodic interval, monitoring real storage availability on the LPAR, calculating an input/output (I/O) intensity score for each buffer pool for the periodic interval, ranking the buffer pools based on the I/O intensity score, calculating a cumulative I/O intensity score for each buffer pool across a cycle of multiple periodic intervals, ranking the buffer pools based on the cumulative I/O intensity score, and selecting a buffer pool candidate for page fixing. The buffer pool candidate for page fixing is a highest-ranked buffer pool from the plurality of buffer pools during the cycle based on the cumulative I/O intensity score that satisfies the real storage availability on the LPAR.

Claims (73)

1. A computer-implemented method for identifying a buffer pool for page fixing, the method comprising:

for each database subsystem in a plurality of database subsystems running in a logical partition (LPAR):

collecting data from a plurality of buffer pools on a periodic interval;

monitoring real storage availability on the LPAR;

calculating an input/output (I/O) intensity score for each buffer pool from the plurality of buffer pools for the periodic interval;

ranking the plurality of buffer pools based on the I/O intensity score;

calculating a cumulative I/O intensity score for each buffer pool from the plurality of buffer pools across a cycle of multiple periodic intervals;

ranking the plurality of buffer pools based on the cumulative I/O intensity score;

selecting a buffer pool candidate for page fixing, wherein the buffer pool candidate for page fixing is a highest-ranked buffer pool from the plurality of buffer pools during the cycle based on the cumulative I/O intensity score that satisfies the real storage availability on the LPAR; and

page fixing the buffer pool candidate selected for page fixing.

2. The computer-implemented method as in claim 1 , wherein calculating the cumulative I/O intensity score for each buffer pool from the plurality of buffer pools is based on a number of times the buffer pool was ranked in multiple different top rankings based on the I/O intensity score.

3. The computer-implemented method as in claim 1 , further comprising:

monitoring an availability of frame sizes on the LPAR;

selecting an optimal frame size based on the availability of frame sizes on the LPAR; and

page fixing the buffer pool candidate selected for page fixing using the optimal frame size.

4. The computer-implemented method as in claim 1 , further comprising:

receiving user-configurable thresholds for LPAR parameters; and

calculating default thresholds for the LPAR parameters when the user-configurable thresholds are not received, wherein the buffer pool candidate for page fixing is the highest-ranked buffer pool from the plurality of buffer pools during the cycle based on the cumulative I/O intensity score that satisfies the real storage availability on the LPAR, the user-configurable thresholds for the LPAR parameters, and the default thresholds for the LPAR parameters.

5. The computer-implemented method as in claim 1 , further comprising:

receiving a query for an analysis of a specific buffer pool from the plurality of buffer pools; and

in response to the query, outputting a ranking and an I/O intensity score for the specific buffer pool, wherein the ranking is based on the I/O intensity score for the specific buffer pool.

6. The computer-implemented method as in claim 1 , further comprising:

receiving a query for a ranking of top candidates for page fixing from a specific database subsystem; and

in response to the query, outputting the ranking of the top candidates for page fixing from the specific database subsystem.

7. A computer program product for identifying a buffer pool for page fixing, the computer program product being tangibly embodied on a non-transitory computer-readable medium and including executable code that, when executed, causes a computing device, for each database subsystem in a plurality of database subsystems running in a logical partition (LPAR), to:

collect data from a plurality of buffer pools on a periodic interval;

monitor real storage availability on the LPAR;

calculate an input/output (I/O) intensity score for each buffer pool from the plurality of buffer pools for the periodic interval;

rank the plurality of buffer pools based on the I/O intensity score;

calculate a cumulative I/O intensity score for each buffer pool from the plurality of buffer pools across a cycle of multiple periodic intervals;

rank the plurality of buffer pools based on the cumulative I/O intensity score;

select a buffer pool candidate for page fixing, wherein the buffer pool candidate for page fixing is a highest-ranked buffer pool from the plurality of buffer pools during the cycle based on the cumulative I/O intensity score that satisfies the real storage availability on the LPAR; and

page fix the buffer pool candidate selected for page fixing.

8. The computer program product of claim 7 , wherein calculating the cumulative I/O intensity score for each buffer pool from the plurality of buffer pools is based on a number of times the buffer pool was ranked in multiple different top rankings based on the I/O intensity score.

9. The computer program product of claim 7 , further comprising executable code that, when executed, causes the computing device to:

monitor an availability of frame sizes on the LPAR;

select an optimal frame size based on the availability of frame sizes on the LPAR; and

page fix the buffer pool candidate selected for page fixing using the optimal frame size.

10. The computer program product of claim 7 , further comprising executable code that, when executed, causes the computing device to:

receive user-configurable thresholds for LPAR parameters; and

calculate default thresholds for the LPAR parameters when the user-configurable thresholds are not received, wherein the buffer pool candidate for page fixing is the highest-ranked buffer pool from the plurality of buffer pools during the cycle based on the cumulative I/O intensity score that satisfies the real storage availability on the LPAR, the user-configurable thresholds for the LPAR parameters, and the default thresholds for the LPAR parameters.

11. The computer program product of claim 7 , further comprising executable code that, when executed, causes the computing device to:

receive a query for an analysis of a specific buffer pool from the plurality of buffer pools; and

in response to the query, output a ranking and an I/O intensity score for the specific buffer pool, wherein the ranking is based on the I/O intensity score for the specific buffer pool.

12. The computer program product of claim 7 , further comprising executable code that, when executed, causes the computing device to:

receive a query for a ranking of top candidates for page fixing from a specific database subsystem; and

in response to the query, output the ranking of the top candidates for page fixing from the specific database subsystem.

13. A system for identifying a buffer pool for page fixing, the system comprising:

at least one processor; and

a non-transitory computer-readable medium comprising instructions that, when executed by the at least one processor, cause the system to:

for each database subsystem in a plurality of database subsystems running in a logical partition (LPAR):

collect data from a plurality of buffer pools on a periodic interval;

monitor real storage availability on the LPAR;

calculate an input/output (I/O) intensity score for each buffer pool from the plurality of buffer pools for the periodic interval;

rank the plurality of buffer pools based on the I/O intensity score;

calculate a cumulative I/O intensity score for each buffer pool from the plurality of buffer pools across a cycle of multiple periodic intervals;

rank the plurality of buffer pools based on the cumulative I/O intensity score;

select a buffer pool candidate for page fixing, wherein the buffer pool candidate for page fixing is a highest-ranked buffer pool from the plurality of buffer pools during the cycle based on the cumulative I/O intensity score that satisfies the real storage availability on the LPAR; and

page fix the buffer pool candidate selected for page fixing.

14. The system of claim 13 , wherein calculating the cumulative I/O intensity score for each buffer pool from the plurality of buffer pools is based on a number of times the buffer pool was ranked in multiple different top rankings based on the I/O intensity score.

15. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to:

monitor an availability of frame sizes on the LPAR;

select an optimal frame size based on the availability of frame sizes on the LPAR; and

page fix the buffer pool candidate selected for page fixing using the optimal frame size.

16. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive user-configurable thresholds for LPAR parameters; and

calculate default thresholds for the LPAR parameters when the user-configurable thresholds are not received, wherein the buffer pool candidate for page fixing is the highest-ranked buffer pool from the plurality of buffer pools during the cycle based on the cumulative I/O intensity score that satisfies the real storage availability on the LPAR, the user-configurable thresholds for the LPAR parameters, and the default thresholds for the LPAR parameters.

17. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive a query for an analysis of a specific buffer pool from the plurality of buffer pools; and

in response to the query, output a ranking and an I/O intensity score for the specific buffer pool, wherein the ranking is based on the I/O intensity score for the specific buffer pool.

18. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive a query for a ranking of top candidates for page fixing from a specific database subsystem; and

in response to the query, output the ranking of the top candidates for page fixing from the specific database subsystem.

Assignments (3)
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2022
From: ROACH, DONNELL W.
To: BMC SOFTWARE, INC.
Reel/Frame 059537/0968 →