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.
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Filebench. http://www.solarisinternals.com/wiki/index.php/FileBench.Google Scholar
- 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 ScholarDigital Library
- Katcher, J. 1997. Postmark: A new file system benchmark. Tech. rep. TR-3022, Network Appliance.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Norcutt, W. The IOzone Filesystem benchmark. http://www.iozone.org/.Google Scholar
- Phillips, D. 2007. Zumastor linux storage server. In Proceedings of the Linux Symposium. 135--143.Google Scholar
- 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 ScholarDigital Library
- Pramfs. http://pramfs.sourceforge.net.Google Scholar
- Proctor, A. 2012. Non-volatile memory and its use in enterprise applications. http://www.vikingtechnology.com/uploads/nv_whitepaper.pdf.Google Scholar
- 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 ScholarDigital Library
- Rubin, M. 2011. File systems in the cloud. In Proceedings of the Linux Foundation Collaboration Summit.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- A Unified Buffer Cache Architecture that Subsumes Journaling Functionality via Nonvolatile Memory
Recommendations
Design and Implementation of a Journaling File System for Phase-Change Memory
Journaling file systems are widely used in modern computer systems as they provide high reliability at reasonable cost. However, existing journaling file systems are not efficient for emerging PCM (phase-change memory) storage because they are optimized ...
SRM-buffer: an OS buffer management technique to prevent last level cache from thrashing in multicores
EuroSys '11: Proceedings of the sixth conference on Computer systemsBuffer caches in operating systems keep active file blocks in memory to reduce disk accesses. Related studies have been focused on how to minimize buffer misses and the caused performance degradation. However, the side effects and performance ...
A Hybrid DRAM/PCM Buffer Cache Architecture for Smartphones with QoS Consideration
Special Section of IDEA: Integrating Dataflow, Embedded Computing, and ArchitectureFlash memory is widely used in mobile phones to store contact information, application files, and other types of data. In an operating system, the buffer cache keeps the I/O blocks in dynamic random access memory (DRAM) to reduce the slow flash ...
Comments