skip to main content
research-article

Caching Strategies for High-Performance Storage Media

Published:07 August 2014Publication History
Skip Abstract Section

Abstract

Due to the large access latency of hard disks during data retrieval in computer systems, buffer caching mechanisms have been studied extensively in database and operating systems. By storing requested data into the buffer cache, subsequent requests can be directly serviced without accessing slow disk storage. Meanwhile, high-speed storage media like PCM (phase-change memory) have emerged recently, and one may wonder if the traditional buffer cache will be still effective for these high-speed storage media. This article answers the question by showing that the buffer cache is still effective in such environments due to the software overhead and the bimodal data access characteristics. Based on this observation, we present a new buffer cache management scheme appropriately designed for the system where the speed gap between cache and storage is narrow. To this end, we analyze the condition that caching will be effective and find the characteristics of access patterns that can be exploited in managing buffer cache for high performance storage like PCM.

References

  1. S. Baek, C. Hyun, J. Choi, D. Lee, and S. H. Noh. 2006. Design and analysis of a space conscious nonvolatile-RAM file system. In Proceedings of IEEE Region 10 Conference (TENCON). 1--4.Google ScholarGoogle Scholar
  2. S. Baek, K. Sun, J. Choi, E. Kim, D. Lee, and S. H. Noh. 2009. Taking advantage of storage class memory technology through system software support. In Proceedings of the Workshop on the Interaction between Operating Systems and Computer Architecture (WIOSCA).Google ScholarGoogle Scholar
  3. K. Bailey, L. Ceze, S. D. Gribble, and H. M. Levy. 2011. Operating system implications of fast, cheap, non-volatile memory, In Proceedings of the 13th Workshop on Hot Topics in Operating Systems (HotOS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. M. Caufield, A. De, J. Coburn, T. I. Mollov, R. K. Gupta, and S. Swanson. 2010. Moneta: A high-performance storage array architecture for next-generation, non-volatile memories. In Proceedings of the 43nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee. 2009. Better I/O through byte-addressable, persistent memory. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP). 133--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. Dhiman, R. Ayoub and T. Rosing 2009. PDRAM: A hybrid PRAM and DRAM main memory system. In Proceedings of the 46th ACM/IEEE Design Automation Conference (DAC). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. N. K. Edel, D. Tuteja, E. L. Miller, and S. A. Brandt. 2004. MRAMFS: A compressing file system for non-volatile RAM. In Proceedings of the 12th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS). 596--603. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Faloutsos, R. Ng and T. Sellis. 1995. Flexible and adaptable buffer management techniques for database management systems. IEEE Trans. Comput. 44, 4, 546--560. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. F. Freitas and W. W. Wilcke. 2008. Storage-class memory: The next storage system technology. IBM J. Res. Develop. 52, 4, 439--447. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. Ipek, J. Condit, E. B. Nightingale, D. Burger, and T. Moscibroda. 2010. Dynamically replicated memory: Building reliable systems from nanoscale resistive memories. In Proceedings of the 15th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Jiang and X. Zhang. 2005. Making LRU friendly to weak locality workloads: A novel replacement algorithm to improve buffer cache performance. IEEE Trans. Comput. 5, 8, 939--952. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Jiang, X. Ding, F. Chen, E. Tan and X. Zhang. 2005. DULO: An effective buffer cache management scheme to exploit both temporal and spatial locality. In Proceedings of the 4th Conference on USENIX Conference on File and Storage Technologies (FAST). 101--114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. Jo, J. Kang, S. Park, J. Kim, and J. Lee. 2006. FAB: Flash-aware buffer management policy for portable media players. IEEE Trans. Consumer Electron. 52, 2, 485--493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. T. Johnson and D. Shasha. 1994. 2Q: A low overhead high performance buffer management replacement algorithm. In Proceedings of the 20th International Conference on Very Large Data Bases (VLDB). 439--450. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. H. Jung, H. Shim, S. Park, S. Kang, and J. Cha. 2008. LRU-WSR: Integration of LRU and writes sequence reordering for flash memory. IEEE Trans. Consumer Electron. 54, 3, 1215--1223. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Kang, S. Park, H. Jung, H. Shim, and J. Cha. 2009. Performance trade-offs in using NVRAM write buffer for flash memory-based storage devices. IEEE Trans. Consumer Electron. 58, 6, 744--758. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. H. Kim and S. Ahn. 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of the 6th USENIX Conference File and Storage Technologies (FAST). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. M. Kim, J. Choi, J. Kim, S. H. Noh, S. L. Min, Y. Cho, and C. S. Kim. 2000. A low-overhead, high-performance unified buffer management scheme that exploits sequential and looping references. In Proceedings of USENIX Symposium on Operating System Design and Implementation (OSDI). 119--134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. O. Kwon, K. Koh, J. Lee, and H. Bahn. 2011. FeGC: An efficient garbage collection scheme for flash memory based storage systems. J. Syst. Softw. 84, 9, 1507--1523. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. B. C. Lee, E. Ipek, O. Mutlu, and D. Burger. 2010. Phase change memory architecture and the quest for scalability. Commun. ACM 53, 7, 99--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Lee, J. Choi, J. H. Kim, S. H. Noh, S. L. Min, Y. Cho, and C. S. Kim. 2001. LRFU: A spectrum of policies that subsumes the least recently used and least frequently used policies. IEEE Trans. Comput. 50, 12, 1352--1361. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. E. Lee, S. Yoo, J. Jang, and H. Bahn. 2012a. WIPS: A write-in-place snapshot file system for storage-class memory. IET Electron. Letters 48, 17, 1053--1054.Google ScholarGoogle ScholarCross RefCross Ref
  23. E. Lee, S. Yoo, J. Jang, and H. Bahn. 2012b. Shortcut-JFS: A write efficient journaling file system for phase change memory. In Proceedings of the 28th IEEE International Conference on Massive Data Storage (MSST). 1--6.Google ScholarGoogle Scholar
  24. S. Lee, H. Bahn and S. H. Noh. 2011. Characterizing memory write references for efficient management of hybrid PCM and DRAM memory. In Proceedings of the 19th IEEE/ACM International Symposium on Modeling, Analysis, and Simulation of Computer and Telecomm. Systems (MASCOTS). 168--175. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. N. Megiddo and D. S. Modha. 2003. ARC: A self-tuning, low overhead replacement cache. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies. 115--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. C. Mogul, E. Argollo, M. Shah, and P. Faraboschi. 2009. Operating system support for NVM+DRAM hybrid main memory. In Proceedings of the 12th Workshop on Hot Topics in Operating Systems (HotOS). 14--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. E. J. O'Neil, P. E. O'Neil, and G. Weikum. 1993. The LRU-K page replacement algorithm for database disk buffering. In Proceedings of ACM SIGMOD International Conference on Management of Data. 297--306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Park, D. Jung, J. Kang, J. Kim, and J. Lee. 2006. CFLRU: Replacement algorithm for flash memory. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES). 234--241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. PRAMFS, Retrieved from http://pramfs.sourceforge.net.Google ScholarGoogle Scholar
  30. M. K. Qureshi, V. Srinivasan, and J. A. Rivers. 2009. Scalable high performance main memory system using phase-change memory technology. In Proceedings of the 36th International Symposium on Computer Architecture (ISCA). 24--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. N. H. Seong, D. H. Woo, and H. S. Lee. 2010. Security refresh: Prevent malicious wear-out and increase durability for phase-change memory with dynamically randomized address mapping. In Proceedings of the 37th International Symposium on Computer Architecture (ISCA). 383--394. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. S. Venkataraman, S. Tolia, P. Ranganathan, and R. H. Campbell. 2011. Consistent and durable data structures for non-volatile byte-addressable memory. In Proceedings of the 9th USENIX Conference File and Storage Technologies (FAST). Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. C. D. Wright, M. M. Aziz, M. Armand, S. Senkader, and W. Yu. 2006. Can we reach Tbit/sq.in. storage densities with phase-change media? In Proceedings of the European Phase Change and Ovonics Symposium (EPCOS). 1--14.Google ScholarGoogle Scholar
  34. X. Wu. and A. L. N. Reddy. 2011. SCMFS: A file system for storage class memory. In Proceedings of the International Conference on Supercomputing (SC). 1--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Zhou, Y. Du, B. Childers, R. Melhem, and D. Mosse. 2012. Writeback-aware partitioning and replacement for last-level caches in phase change main memory systems. ACM Trans. Archit. Code Optimiz. 8, 4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. P. Zhou, B. Zhao, J. Yang, and Y. Zhang. 2009. A durable and energy efficient main memory using phase change memory technology. In Proceedings of the 36th International Symposium on Computer Architecture (ISCA). 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Caching Strategies for High-Performance Storage Media

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Storage
          ACM Transactions on Storage  Volume 10, Issue 3
          July 2014
          113 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/2661087
          • Editor:
          • Darrell Long
          Issue’s Table of Contents

          Copyright © 2014 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 7 August 2014
          • Accepted: 1 November 2013
          • Revised: 1 April 2013
          • Received: 1 January 2013
          Published in tos Volume 10, Issue 3

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!