Science China Information Sciences

, Volume 55, Issue 1, pp 191–199 | Cite as

Dual queues cache replacement algorithm based on sequentiality detection

Research Paper

Abstract

Caching is one of the most effective and commonly used mechanisms to improve performance of storage servers. Replacement policies play a critical role in the cache design due to the limited cache capacity. Recent researchers devote themselves to achieve high hit ratios, but rarely pay attention to reducing miss penalty during the design of a replacement policy. To address the issue, this paper presents a novel algorithm, called dual queues cache replacement algorithm based on sequentiality detection, which prefers to drop sequential blocks and protect random blocks. The buffer cache can serve more subsequent random read requests, so the cache miss penalty could be decreased significantly. Moreover, the algorithm makes use of two queues separately maintaining new blocks and old blocks to avoid the degradation of hit ratios. Our trace-driven simulation results show that it performs better than LRU and ARC for a wide range of cache sizes and workloads.

Keywords

caching mechanism replacement policy hit ratio miss penalty sequentiality detection 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Hu Y, Nightingale T, Yang Q. Rapid-cache-a reliable and inexpensive write cache for high performance storage systems. IEEE Trans Parall Distrib Syst, 2002, 13: 290–307CrossRefGoogle Scholar
  2. 2.
    Muntz D, Honeyman P. Multi-level caching in distributed file systems-or-your cache ain’t nuthin’ but trash. In: Proceedings of the Winter 1992 USENIX Conference. San Francisco, 1992. 305–313Google Scholar
  3. 3.
    Adelsonveslkii G M, Landisand Y M. An algorithm for the organization of Information. Doklady Akademi Nauk, 1962, 16: 263–266Google Scholar
  4. 4.
    Aho A V, Denning P J, Ullman J D. Principles of optimal page replacement. J ACM, 1971, 18: 80–93CrossRefMATHMathSciNetGoogle Scholar
  5. 5.
    O’Neil E J, O’Neil P E, Weikum G. The LRU-K page replacement algorithm for database disk buffering. In: Proceedings of the 1993 ACM SIGMOD International Conference. Washington, 1993. 297–306Google Scholar
  6. 6.
    Lee D, Choi J, Kim J H, et al. LRFU: a spectrum of policies that subsumes the least recently used and least frequently used policies. IEEE Trans Comput, 2001, 50: 1352–1360CrossRefMathSciNetGoogle Scholar
  7. 7.
    Belady L. A study of replacement algorithms for a virtual-storage computer. IBM Syst J, 1966, 5: 78–101CrossRefGoogle Scholar
  8. 8.
    Zhao Y J, Xiao N. Bargain cache: using file-system metadata to reduce the cache miss penalty. In: Proceedings of the 9th PDCAT Conference. Dunedin, 2008. 177–184Google Scholar
  9. 9.
    Chu R, Xiao N, Zhuang Y Z, et al. A distributed paging RAM grid system for wide-area memory sharing. In: Proceedings of the 20th IPDPS Conference. Rhodes Island, 2006. 10–17Google Scholar
  10. 10.
    Mattson R L, Gecsei J, Slutz D R, et al. Evaluation techniques for storage hierarchies. IBM Syst J, 1970, 9: 78–117CrossRefGoogle Scholar
  11. 11.
    Megiddo N, Modha D S. ARC: a self-tuning, low overhead replacement cache. In: Proceedings of the 2nd FAST Conference. San Francisco, 2003. 115–130Google Scholar
  12. 12.
    Johnson T, Shasha D. 2Q: a low overhead high performance buffer management replacement algorithm. In: Proceedings of the 20th VLDB Conference. Santiago de Chile, 1994. 297–306Google Scholar
  13. 13.
    Zhou Y Y, Philbin J F. The multi-queue replacement algorithm for second level buffer caches. In: Proceedings of USENIX Annual Technology Conference. Boston, 2001. 91–104Google Scholar
  14. 14.
    Jiang S, Zhang X D. LIRS: an efficient low inter-reference recency set replacement policy to improve buffer cache performance. In: Proceedings of the ACM SIGMETRICS Conference. Marina Del Rey, 2002. 31–42Google Scholar
  15. 15.
    Jiang S, Zhang X D. ULC: a file block placement and replacement protocol to effectively exploit hierarchical locality in multi-level buffer caches. In: Proceedings of the 24th ICDCS Conference. Tokyo, 2004. 168–177Google Scholar
  16. 16.
    Factor M, Schuster A, Yadgar G. Karma: know-it-all replacement for a multilevel cache. In: Proceedings of the 5th FAST Conference. San Jose, 2007. 169–184Google Scholar
  17. 17.
    Wong T M, Wilkes J. My cache or yours? Making storage more exclusive. In: Proceedings of the USENIX Annual Technical Conference. Monterey, 2002. 161–175Google Scholar
  18. 18.
    Gill B S. On multi-level exclusive caching: offline optimality and why promotions are better than demotions. In: Proceedings of the 6th FAST Conference. San Jose, 2008. 49–65Google Scholar
  19. 19.
    Liang S, Jiang S, Zhang X D. STEP: sequentiality and thrashing detection based prefetching to improve performance of networked storage servers. In: Proceedings of the 27th ICDCS Conference. Toronto, 2007. 550–559Google Scholar
  20. 20.
    Gill B S, Modha D S. SARC: sequential prefetching in adaptive replacement cache. In: Proceedings of the USENIX Annual Technical Conference. Anaheim, 2005. 293–308Google Scholar

Copyright information

© Science China Press and Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  1. 1.Department of Computer ScienceNational University of Defense TechnologyChangshaChina

Personalised recommendations