An Effective, Low-Overhead, Improved Replacement Algorithm for Mail Service Applications in Storage System

This paper analyzed the performance characteristics of classic 2Q algorithm when it was performed on mail-service workloads, and proposes an improved algorithm, called 2Q*. The simulation results show that 2Q* algorithm can outperform the other replacement algorithms, including the classic 2Q algorithm, for all the cache sizes and various mail-service workloads. To verify the simulation results in real system, we integrated the algorithm into FlexiCache, a partitioned buffer cache system, and joined it with a popular adaptive sequential pre-fetch policy properly. The experiment results verify the effectiveness of 2Q* algorithm for mail service applications. By joint with the pre-fetch policy, the performance is further improved. Moreover, its runtime overhead is also fairly low.

[1]  Chengxiang Si,et al.  P-Cache: Providing Prioritized Caching Service for Storage System , 2009, 2009 IEEE International Symposium on Parallel and Distributed Processing with Applications.

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

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

[4]  Xu Lu Network Storage System Using Out-of-band Virtualization Approach , 2009 .

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

[6]  Y. Charlie Hu,et al.  The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms , 2007, IEEE Trans. Computers.

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

[8]  Xu Lu Storage Service-oriented Buffer Management Model , 2009 .

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

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

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

[12]  Luis Angel D. Bathen,et al.  AMP: Adaptive Multi-stream Prefetching in a Shared Cache , 2007, FAST.

[13]  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.