A transaction-conscious multi-version cache replacement and prefetching policy for hybrid data delivery environments

This paper introduces MICP, a novel multi-version integrated cache replacement and prefetching algorithm designed for efficient cache and transaction management in hybrid data delivery networks. MICP achieves this by taking into account the dynamically and sporadically changing cost/benefit ratios of cached and/or disseminated object versions by making cache replacement and prefetching decisions sensitive to the objects’ access probabilities, their position in the broadcast cycle, and their update frequency. Additionally, to eliminate the issue of a newly created or outdated, but re-cacheable, object version replacing a version that may not be re-acquired from the server, MICP logically divides the client cache into two variable-sized partitions, namely the REC and the NON-REC partitions for maintaining re-cacheable and non-re-cacheable object versions, respectively. Besides judiciously selecting replacement victims, MICP selectively prefetches popular object versions from the broadcast channel in order to further improve transaction response time. A simulation study compares the MICP algorithm with one offline and two online cache replacement and prefetching algorithms. Performance results for the workloads and system settings considered demonstrate that MICP improves transaction throughput rates by about 18.9% compared to the best performing online algorithm and it performs only 40.8% worse than an adapted version of the offline algorithm P.

[1]  Alan Jay Smith,et al.  Disk cache—miss ratio analysis and design considerations , 1983, TOCS.

[2]  Paul M. Bober,et al.  On mixing queries and transactions via multiversion locking , 1992, [1992] Eighth International Conference on Data Engineering.

[3]  Goetz Graefe,et al.  The five-minute rule ten years later, and other computer storage rules of thumb , 1997, SGMD.

[4]  Tomasz Imielinski,et al.  Sleepers and workaholics: caching strategies in mobile environments , 1994, SIGMOD '94.

[5]  Sanjay Ghemawat,et al.  The Modified Object Buffer: A Storage Management Technique for Object-Oriented Databases , 1995 .

[6]  Sanjeev Khanna,et al.  On broadcast disk paging , 1998, STOC '98.

[7]  Leandros Tassiulas,et al.  Optimal Memory Management Strategies for a Mobile User in a Broadcast Data Delivery System , 1997, IEEE J. Sel. Areas Commun..

[8]  Liuba Shrira,et al.  Opportunistic log: efficient installation reads in a reliable storage server , 1994, OSDI '94.

[9]  Randy H. Katz,et al.  Exploiting inheritance and structure semantics for effective clustering and buffering in an object-oriented DBMS , 1989, SIGMOD '89.

[10]  Marc H. Scholl,et al.  Processing Read-Only Transactions in Hybrid Data Delivery Environments with Consistency and Currency Guarantees , 2003, Mob. Networks Appl..

[11]  Tomasz Imielinski,et al.  Data on Air: Organization and Access , 1997, IEEE Trans. Knowl. Data Eng..

[12]  Miron Livny,et al.  Priority-Hints: An Algorithm for Priority-Based Buffer Management , 1990, VLDB.

[13]  Sang Lyul Min,et al.  On the existence of a spectrum of policies that subsumes the least recently used (LRU) and least frequently used (LFU) policies , 1999, SIGMETRICS '99.

[14]  Anna R. Karlin,et al.  Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling , 1996, TOCS.

[15]  Alan Jay Smith,et al.  Analysis of the Characteristics of Production Database Workloads and Comparison with the TPC Benchmarks , 1999 .

[16]  Gottfried Vossen,et al.  Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery , 2002 .

[17]  Rafael Alonso,et al.  Broadcast disks: data management for asymmetric communication environments , 1995, SIGMOD '95.

[18]  Gerhard Weikum,et al.  The LRU-K page replacement algorithm for database disk buffering , 1993, SIGMOD Conference.

[19]  Alan Jay Smith,et al.  Sequential Program Prefetching in Memory Hierarchies , 1978, Computer.

[20]  Giovanni Maria Sacco,et al.  Buffer management in relational database systems , 1986, TODS.

[21]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[22]  Vincenzo Liberatore,et al.  Caching and Scheduling for Broadcast Disk Systems , 2001, JEAL.

[23]  Anna R. Karlin,et al.  A study of integrated prefetching and caching strategies , 1995, SIGMETRICS '95/PERFORMANCE '95.

[24]  Wolfgang Effelsberg,et al.  Principles of database buffer management , 1984, TODS.

[25]  Andrew Tomkins,et al.  Informed multi-process prefetching and caching , 1997, SIGMETRICS '97.

[26]  Jianliang Xu,et al.  SAIU: an efficient cache replacement policy for wireless on-demand broadcasts , 2000, CIKM '00.

[27]  Alan Jay Smith,et al.  I/O reference behavior of production database workloads and the TPC benchmarks—an analysis at the logical level , 1999, TODS.

[28]  Stanley Zdonik,et al.  Prefetching from a broadcast disk , 1996, Proceedings of the Twelfth International Conference on Data Engineering.

[29]  J. T. Robinson,et al.  Data cache management using frequency-based replacement , 1990, SIGMETRICS '90.

[30]  Stanley B. Zdonik,et al.  Balancing push and pull for data broadcast , 1997, SIGMOD '97.

[31]  Dennis Shasha,et al.  2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm , 1994, VLDB.

[32]  Stanley B. Zdonik,et al.  Fido: A Cache That Learns to Fetch , 1991, VLDB.

[33]  David J. DeWitt,et al.  A Study of Three Alternative Workstation-Server Architectures for Object Oriented Database Systems , 1990, VLDB.

[34]  Virgílio A. F. Almeida,et al.  Characterizing reference locality in the WWW , 1996, Fourth International Conference on Parallel and Distributed Information Systems.

[35]  Sam H. Noh,et al.  A database disk buffer management algorithm based on prefetching , 1998, CIKM '98.