2Q*: an effective, low-overhead, improved replacement algorithm for mail service applications in storage system

Any one algorithm cannot be effective for all applications; therefore, choosing one appropriate for one special application is very meaningful. In this article, we analyzed access patterns for mail service application, and acquired an algorithm appropriate for it. Moreover, based on analysis of performance characteristics for the current algorithm, we proposed an improved algorithm, called 2Q*, which behaves better than others for a full range of sizes. We also verify the effectiveness of 2Q* in a real buffer system, and join it with the main stream pre-fetch policy. The experimental results show that 2Q* can improve IO performance of mail service application effectively.

[1]  Y. Charlie Hu,et al.  The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms , 2005, IEEE Transactions on Computers.

[2]  Jiwu Shu,et al.  Design and Implementation of an Out-of-Band Virtualization System for Large SANs , 2007, IEEE Transactions on Computers.

[3]  Xiaoming Han,et al.  A Replacement Algorithm Designed for the Web Search Engine and Its Application in Storage Cache , 2009, 2009 IEEE International Symposium on Parallel and Distributed Processing with Applications.

[4]  Song Jiang,et al.  LIRS: an efficient low inter-reference recency set replacement policy to improve buffer cache performance , 2002, SIGMETRICS '02.

[5]  Yale N. Patt,et al.  Utility-Based Cache Partitioning: A Low-Overhead, High-Performance, Runtime Mechanism to Partition Shared Caches , 2006, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06).

[6]  Yuanyuan Zhou,et al.  Second-level buffer cache management , 2004, IEEE Transactions on Parallel and Distributed Systems.

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

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

[9]  John Wilkes,et al.  My Cache or Yours? Making Storage More Exclusive , 2002, USENIX Annual Technical Conference, General Track.

[10]  Xuhui Li,et al.  CLIC: CLient-Informed Caching for Storage Servers , 2009, FAST.

[11]  Hiroaki Kobayashi,et al.  Power-Aware Dynamic Cache Partitioning for CMPs , 2011, Trans. High Perform. Embed. Archit. Compil..

[12]  Chengxiang Si,et al.  A Flexible Two-Layer Buffer Caching Scheme for Shared Storage Cache , 2009, 2009 11th IEEE International Conference on High Performance Computing and Communications.

[13]  Francisco J. Cazorla,et al.  Explaining Dynamic Cache Partitioning Speed Ups , 2007, IEEE Computer Architecture Letters.

[14]  Nimrod Megiddo,et al.  ARC: A Self-Tuning, Low Overhead Replacement Cache , 2003, FAST.

[15]  Ali R. Butt,et al.  FlexiCache: a flexible interface for customizing Linux file system buffer cache replacement policies , 2007 .

[16]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .