skip to main content
research-article

A Unified Buffer Cache Architecture that Subsumes Journaling Functionality via Nonvolatile Memory

Published:01 January 2014Publication History
Skip Abstract Section

Abstract

Journaling techniques are widely used in modern file systems as they provide high reliability and fast recovery from system failures. However, it reduces the performance benefit of buffer caching as journaling accounts for a bulk of the storage writes in real system environments. To relieve this problem, we present a novel buffer cache architecture that subsumes the functionality of caching and journaling by making use of nonvolatile memory such as PCM or STT-MRAM. Specifically, our buffer cache supports what we call the in-place commit scheme. This scheme avoids logging, but still provides the same journaling effect by simply altering the state of the cached block to frozen. As a frozen block still provides the functionality of a cache block, we show that in-place commit does not degrade cache performance. We implement our scheme on Linux 2.6.38 and measure the throughput and execution time of the scheme with various file I/O benchmarks. The results show that our scheme improves the throughput and execution time by 89% and 34% on average, respectively, compared to the existing Linux buffer cache with ext4 without any loss of reliability.

References

  1. Baek, S., Hyun, C., Choi, J., Lee, D., and Noh, S. H. 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. Baek, S., Choi, J., Lee, D., and Noh, S. H. 2013. Energy-efficient and high-performance software architecture for storage class memory. ACM Trans. Embed. Comput. Syst. 12, 3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Chen, P. M., Ng, W. T., Chandra, S., Aycock, C., Rajamani, G., and Lowell, D. 1996. The Rio file cache: Surviving operating system crashes. In Proceedings of the 7th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-VII). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Condit, J., Nightingale, E. B., Frost, C., Ipek, E., Lee, B., Burger, D., and Coetzee, D. 2009. Better I/O through byte-addressable, persistent memory. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP). ACM, New York, 133--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Denali Memory Report. 2012. 44Tbyte Skyera Skyhawk SSD employs Everspin MRAM as write cache. http://denalimemoryreport.com/2012/08/20/44tbyte-skyera-skyhawk-ssd-employs-everspin-mram-as-write-cache/.Google ScholarGoogle Scholar
  6. Edel, N. K., Tuteja, D., Miller, E. L., and Brandt, S. A. 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
  7. Fang, R., Hsiao, H., He, B., Mohan, C., and Wang, Y. 2011. High performance database logging using storage class memory. In Proceedings of the 27th IEEE International Conference on Data Engineering. 11--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Filebench. http://www.solarisinternals.com/wiki/index.php/FileBench.Google ScholarGoogle Scholar
  9. Ipek, E., Condit, J., Nightingale, E. B., Burger, D., and Moscibroda, T. 2010. Dynamically replicated memory: Building reliable systems from nanoscale resistive memories. In Proceedings of the 15th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Katcher, J. 1997. Postmark: A new file system benchmark. Tech. rep. TR-3022, Network Appliance.Google ScholarGoogle Scholar
  11. Kim, H., Agrawal, N., and Ungureanu, C. 2012. Revisiting storage for smartphones. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kim, Y., Doh, I. H., Kim, E., Choi, J., Lee, D., and Noh, S. H. 2010. Design and implementation of transactional write buffer cache with storage class memory. J. Korean Inst. Inf. Sci. Eng. 16, 2, 247--251.Google ScholarGoogle Scholar
  13. Lee, B. C., Ipek, E., Mutlu, O., and Burger, D. 2009. Architecting phase change memory as a scalable DRAM alternative. In Proceedings of the 36th ACM/IEEE International Symposium on Computer Architecture (ISCA). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lee, B. C., Ipek, E., Mutlu, O., and Burger, D. 2010. Phase change memory architecture and the quest for scalability. Commun. ACM 53, 7, 99--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lee, E., Yoo, S., Jang, J., and Bahn, H. 2012. 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
  16. Lee, S., Bahn, H., and Noh, S. H. 2011. Characterizing memory write references for efficient management of hybrid PCM and DRAM memory. In Proceedings of the 19th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS). 168--175. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Mogul, J. C., Argollo, E., Shah, M., and Faraboschi, P. 2009. Operating system support for NVM+DRAM hybrid main memory. In Proceedings of the 12th USENIX Workshop on Hot Topics in Operating Systems (HotOS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Nirschl, T., Philipp, J. B., Happ, T. D., Burr, G. W., Rajendran, B., Lee, M. H., Schrott, A., Yang, M., Breitwisch, M., Chen, C. F., Joseph, E., Lamorey, M., Cheek, R., Chen, S.-H., Zaidi, S., Raoux, S., Chen, Y. C., Zhu, Y., Bergmann, R., Lung, H. L., and Lam, C. 2008. Write strategies for 2 and 4-bit multi-level phase-change memory. In Proceedings of the IEEE International Electron Devices Meeting. IEEE, 461--464.Google ScholarGoogle Scholar
  19. Norcutt, W. The IOzone Filesystem benchmark. http://www.iozone.org/.Google ScholarGoogle Scholar
  20. Phillips, D. 2007. Zumastor linux storage server. In Proceedings of the Linux Symposium. 135--143.Google ScholarGoogle Scholar
  21. Prabhakaran, V., Arpaci-Dusseau, A. C., and Arpaci-Dusseau R. H. 2005. Analysis and evolution of journaling file systems. In Proceedings of the USENIX Annual Technical Conference (ATC). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Pramfs. http://pramfs.sourceforge.net.Google ScholarGoogle Scholar
  23. Proctor, A. 2012. Non-volatile memory and its use in enterprise applications. http://www.vikingtechnology.com/uploads/nv_whitepaper.pdf.Google ScholarGoogle Scholar
  24. Qureshi, M. K., Srinivasan, V., and Rivers, J. A. 2009. Scalable high performance main memory system using phase-change memory technology. In Proceedings of the 36th ACM/IEEE International Symposium on Computer Architecture (ISCA). 24--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Rubin, M. 2011. File systems in the cloud. In Proceedings of the Linux Foundation Collaboration Summit.Google ScholarGoogle Scholar
  26. Wu, X. and Reddy, A. L. N. 2011. SCMFS: A file system for storage class memory. In Proceedings of the ACM International Conference on Supercomputing (ICS). 1--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Yang, B.-D., Lee, J.-E., Kim, J.-S., Cho, J., Lee, S.-Y., and Yu, B.-G. 2007. A low power phase-change random access memory using a data-comparison write scheme. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS). 3014--3017.Google ScholarGoogle Scholar
  28. Zhou, P., Zhao, B., Yang, J., and Zhang, Y. 2009. A durable and energy efficient main memory using phase change memory technology. In Proceedings of the 36th ACM/IEEE International Symposium on Computer Architecture (ISCA). 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Unified Buffer Cache Architecture that Subsumes Journaling Functionality via Nonvolatile Memory

        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 1
          January 2014
          94 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/2578042
          • Editor:
          • Darrell Long
          Issue’s Table of Contents

          Copyright © 2014 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 January 2014
          • Accepted: 1 June 2013
          • Received: 1 May 2013
          Published in tos Volume 10, Issue 1

          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