The LRU-K page replacement algorithm for database disk buffering

  title={The LRU-K page replacement algorithm for database disk buffering},
  author={Elizabeth J. O'Neil and Patrick E. O'Neil and Gerhard Weikum},
  booktitle={SIGMOD '93},
This paper introduces a new approach to database disk buffering, called the LRU-K method. [] Key Result Furthermore, the LRU-K algorithm adapts in real time to changing patterns of access.

Tables from this paper

A Robust and Self-tuning Page-Replacement Strategy for Spatial Database Systems
A combination of spatial page-replacement strategies with LRU strategies is proposed and experimentally investigated, which is self-tuning and adapts itself to different or changing query distributions and outperforms LRU in respect to the I/O-cost.
Replacement Algorithm for Buffer Management in the Omega Parallel Database System *
A theoretical-probability model for formal description of LFU-K algorithm is proposed, which provides significant improvement over conventional buffering algorithms for the shared-nothing database systems.
The Impact of Buffering on Closest Pairs Queries Using R-Trees
The derivation of the outperforming configuration (in terms of buffer structure, page replacement algorithm and buffering scheme) for CPQs, where both spatial datasets are stored in R-trees, is derived.
An optimality proof of the LRU-K page replacement algorithm
It is proved, under the assumptions of the independent reference model, that LRU-K is optimal, given the times of the (up to) most recent references to each disk page, and no other algorithm making decisions to keep pages in a memory buffer holding n pages based on this infomation can improve on the expected number of I/Os to access pages over theLRU-<italic>K</italic>.
Buffer replacement algorithms for multimedia storage systems
DISTANCE is a very suitable candidate for a buffer replacement scheme in storage systems that deal with continuous media data and incurs an overhead which is comparable to those of the LRU and MRU schemes.
Practical buffer cache management scheme based on simple prefetching
  • H. Jeon
  • Computer Science
    IEEE Transactions on Consumer Electronics
  • 2006
The SA-W2R scheme is proposed that integrates buffer management and prefetching, wherePrefetching is done constantly in aggressive fashion, and is simple to implement making it a feasible solution in real systems.
Managing Multiuser Database Buffers Using Data Mining Techniques
A data-mining-based approach to public buffer management for a multiuser database system, where database buffers are organized into two areas – public and private, indicates that with the help of the discovered knowledge, the public buffer hit ratio can be improved significantly.
Cost-Based Buffer Management Algorithm for Flash Database Systems
An adaptive replacement policy (CBLRU), which assigns to each page a weighted value that combines the IO cost and the influence of pages staying in the buffer, is proposed, which is very efficient when being used for buffer replacement.
Histogram based Analysis of Page Replacement Techniques
Simulation results show that histograms for all policies equalize as the number of frames increases and histogram for optimal policy equalizes more rapidly then other policy's histograms.


Data cache management using frequency-based replacement
A replacement algorithm based on the concept of maintaining reference counts in which locality has been “factored out” is described, which can offer up to 34% performance improvement over LRU replacement.
Fido: A Cache That Learns to Fetch
FIDO is described, an experimental {\em predictive cache} that predicts access for individuals during a session by employing an associative memory to assimilate regularities in the access pattern of an individual over time, and it is concluded that predictive caching holds great promise.
Data caching issues in an information retrieval system
Using a user's local storage capabilities to cache data at the user's site would improve the response time of user queries albeit at the cost ofurring the overhead required in maintaining multiple copies.
Exploiting inheritance and structure semantics for effective clustering and buffering in an object-oriented DBMS
A run-time clustering algorithm is proposed whose initial evaluation indicates that system response time can be improved by a factor of 200% when the read/write ratio is high and there is little performance distinction between limiting reclustering to a few I/Os or many, so a low limit on I/O appears to be acceptable.
Optimal buffer allocation in a multi-query environment
A global optimization strategy using simulated annealing is developed which minimizes the average response time over all queries under the constraint that the total memory consumption rate has to be less than the buffer size.
Predictive Load Control for Flexible Buffer Allocation
Results show that the proposed IISing rnn-l.lion algorithm, to design an ndnp!nhlc hufi’er alloca algorithm that will aut,onlatically optimize itself for t,he specifir query workload, met.
Flexible buffer allocation based on marginal gains
A unified approach for buffer allocation in which both of these considerations are taken into account, based on the notion of marginal gains which specify the expected reduction cm page faults in allocating extra buffers to a query.
Principles of Optimal Page Replacement
A formal model is presented for paging algorithms under /-order nonstationary assumptions about program behavior that is expressed as a dynamic programming problem whose solution yields an optimal replacement algorithm.
A Study of Replacement Algorithms for Virtual-Storage Computer
One of the basic limitations of a digital computer is the size of its available memory; an approach that permits the programmer to use a sufficiently large address range can accomplish this objective, assuming that means are provided for automatic execution of the memory-overlay functions.
Principles of database buffer management
This paper discusses the implementation of a database buffer manager as a component of a DBMS. The interface between calling components of higher system layers and the buffer manager is described;