Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Efficient Periodic Database Buffer Flushing Policy to Optimize Recovery and On-Line Write Input/Output Costs

IP.com Disclosure Number: IPCOM000116851D
Original Publication Date: 1995-Nov-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 2 page(s) / 100K

Publishing Venue

IBM

Related People

Dan, A: AUTHOR [+3]

Abstract

Disclosed is a method to identify hot and cold dirty pages in a database buffer and to selectively propagate them to achieve a lower recovery cost without significantly increasing the on-line write I/O overhead per access.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Efficient Periodic Database Buffer Flushing Policy to Optimize Recovery
and On-Line Write Input/Output Costs

      Disclosed is a method to identify hot and cold dirty pages in a
database buffer and to selectively propagate them to achieve a lower
recovery cost without significantly increasing the on-line write I/O
overhead per access.

      In a database environment, propagation of updated pages to the
disks can be deferred to accumulate multiple updates on the same page
before it is propagated, and hence, to reduce the number of write I/O
operations.  However, upon a failure this may cause a large recovery
time since recreating the state before failure requires old copies of
a large number of dirty pages to be read from the disks and
appropriate log entries applied on them.  Therefore, a balance
between the recovery time and the write I/O overhead during normal
operation can be struck by periodically flushing the dirty pages
(i.e., propagating the copies of the dirty pages to the disks and
hence, making them clean).  The choice of pages to be flushed, the
periodicity or the number of dirty pages that are allowed to be
accumulated before they are flushed, and the number of pages flushed
in each period play a critical role in striking this balance.  A
flushing policy that propagates only the dirty pages from the bottom
of the LRU chain is inherently unstable in terms of recovery time.
Such a scheme is used by DB2 buffer manager.  On the other hand,
keeping track of the number of pending updates  on a page, and
flushing only those pages whose pending update count reaches a
threshold, called clipping age  can bound this recovery time however,
without striking a good balance between recovery time and on-line I/O
overhead.  The cold dirty pages continue to stay for a long time
under this policy reducing the buffer hit probability and increasing
the recovery time.  Therefore, both the above schemes suffer from
serious disadvantages.

      The disclosed scheme combines the strengths of the above
mentioned policies to achieve both the low recovery time and the low
on-line write I/O overhead.  It first identifies the hot and cold
dirty pages and uses different criteria for propagating these pages.
The intent is to remove the cold pages as early as possible, since
very little write I/O reduction is achieved by their continued
presence.  However, the early flushing of the cold pages do reduce
the recovery time significantly.  The hot pages should be flushed
neither too early nor too late.  Early flushing of hot pages
decreases recovery time at the expense of increased write I/O
overhead.  On the other hand, a large number of updates on a hot page
before it is removed implies a large reduction of write I/O overhead
at the e...