Browse Prior Art Database

Minimize CPU Utilization for Buffer Pool Status Update when Calculating Minimum Log Sequence Number Values on a Buffer

IP.com Disclosure Number: IPCOM000037514D
Original Publication Date: 1989-Mar-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Levine, FE: AUTHOR

Abstract

Disclosed is a process for avoiding the buffer status update operation in the performance critical routine that unfixes a buffer. When a buffer is fixed with an X-latch (suggesting possible modification of the buffer), then the buffer status is checked to see if the page has already been modified. If it has not already been modified, then its minimum LSN status is set to the next available LSN. When the page is unfixed, but has not yet been changed, then instead of updating this status to zero the not valid LSN, the status information is not changed. This status information is not cleaned up until a request to find the minimum LSN of all the buffers is received.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 73% of the total text.

Page 1 of 1

Minimize CPU Utilization for Buffer Pool Status Update when Calculating Minimum Log Sequence Number Values on a Buffer

Disclosed is a process for avoiding the buffer status update operation in the performance critical routine that unfixes a buffer. When a buffer is fixed with an X-latch (suggesting possible modification of the buffer), then the buffer status is checked to see if the page has already been modified. If it has not already been modified, then its minimum LSN status is set to the next available LSN. When the page is unfixed, but has not yet been changed, then instead of updating this status to zero the not valid LSN, the status information is not changed. This status information is not cleaned up until a request to find the minimum LSN of all the buffers is received.

This process provides for the enhancement of recovery performance due to keeping track of the minimum log sequence number (LSN) for each buffer and returning the minimum LSN of all buffers when requested. This minimum LSN indicates the position of the log in which to restart the redo operation.

In one embodiment, the Buffer Pool Services (BPS) routine minlsn, which finds the minimum of all non-zero buffer minlsn values, checks for the condition of pages which were X-latched and unfixed clean. It not only avoids using these pages(s) minimum LSN value(s), but also cleans up their minimum LSN values.

The following pseudocode defines the algorithm: sqlbmlsn (return_status,return_lsn) return_s...