skip to main content
10.1145/3465332.3470874acmconferencesArticle/Chapter ViewAbstractPublication PageshotstorageConference Proceedingsconference-collections
research-article

Libpubl: exploiting persistent user buffers as logs for write atomicity

Published:27 July 2021Publication History

ABSTRACT

With recent advancement in NVM technologies, non-volatile main memory(NVMM) has been highlighted as promising systems for large scale data centers. By utilizing memory-mapped IO, researchers have attempted to provide fast IOs without kernel mode switches and complex kernel IO layers. Even though they improve the performance by taking advantage of NVMM characteristics, memory-mapped IOs still require additional user-level logging techniques to guarantee write atomicity and file system integrity. We propose a user-level library file system, Libpubl, which is designed to minimize the write amplification overhead of traditional logging by exploiting persistent user buffers as logs. Libpubl ensures atomic updates of data and improves the performance and the scalability. Compared to the state-of-the-art NVM file systems, Libpubl increases the performance by 50~120% in Fio benchmark.

References

  1. Jaehyung Ahn, Dongup Kwon, Youngsok Kim, Mohammadamin Ajdari, Jaewon Lee, and Jangwoo Kim. 2015. DCS: A Fast and Scalable Device-Centric Server Architecture. In Int'l Symposium on Microarchitecture (MICRO-48).Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Joy Arulraj, Andrew Pavlo, and Subramanya R. Dulloor. 2015. Let's Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems. In ACM SIGMOD Int'l Conf. on Management of Data (SIGMOD '15).Google ScholarGoogle Scholar
  3. Jens Axboe. 2005. Flexible I/O tester. https://https://github.com/axboe/fio/Google ScholarGoogle Scholar
  4. Adrian M. Caulfield, Todor I. Mollov, Louis Alex Eisner, Arup De, Joel Coburn, and Steven Swanson. 2012. Providing Safe, User Space Access to Fast, Solid State Disks. In Int'l Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS XVII).Google ScholarGoogle Scholar
  5. Jungsik Choi, Joonwook Ahn, Jiwon Kim, Sungtae Ryu, and Hwansoo Han. 2016. In-memory file system with efficient swap support for mobile smart devices. IEEE Trans. Consum. Electron. 62, 3 (2016), 275--282.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jungsik Choi, Jaewan Hong, Youngjin Kwon, and Hwansoo Han. 2020. Libnvmmio: Reconstructing Software IO Path with Failure-Atomic Memory-Mapped Interface. In USENIX Annual Technical Conference (USENIX ATC '20).Google ScholarGoogle Scholar
  7. Jungsik Choi, Jiwon Kim, and Hwansoo Han. 2017. Efficient Memory Mapped File I/O for In-Memory File Systems. In USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage '17).Google ScholarGoogle Scholar
  8. Jeremy Condit, Edmund B. Nightingale, Christopher Frost, Engin Ipek, Benjamin Lee, Doug Burger, and Derrick Coetzee. 2009. Better I/O through Byte-Addressable, Persistent Memory. In Symp. on Operating Systems Principles (SOSP '09).Google ScholarGoogle Scholar
  9. Intel Corporation. 2014. PMDK, Persistent Memory Development Kit. https://pmem.io/pmdk/Google ScholarGoogle Scholar
  10. Subramanya R. Dulloor, Sanjay Kumar, Anil Keshavamurthy, Philip Lantz, Dheeraj Reddy, Rajesh Sankaran, and Jeff Jackson. 2014. System Software for Persistent Memory. In European Conf. on Computer Systems (EuroSys '14).Google ScholarGoogle Scholar
  11. Jason Evans. 2005. jemalloc, memory allocator. http://jemalloc.net/Google ScholarGoogle Scholar
  12. R. Hagmann. 1987. Reimplementing the Cedar File System Using Logging and Group Commit. In Symp. on Operating Systems Principles (SOSP '87).Google ScholarGoogle Scholar
  13. Troy D. Hanson. 2004. uthash - a hash table for C structures. https://troydhanson.github.io/uthash/Google ScholarGoogle Scholar
  14. Intel. 2015. NVDIMM Namespace Specification. https://pmem.io/documents/NVDIMM_Namespace_Spec.pdfGoogle ScholarGoogle Scholar
  15. Rohan Kadekodi, Se Kwon Lee, Sanidhya Kashyap, Taesoo Kim, Aasheesh Kolli, and Vijay Chidambaram. 2019. SplitFS: Reducing Software Overhead in File Systems for Persistent Memory. In Symp. on Operating Systems Principles (SOSP '19).Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Juno Kim, Yun Joon Soh, Joseph Izraelevitz, Jishen Zhao, and Steven Swanson. 2020. SubZero: Zero-Copy IO for Persistent Main Memory File Systems. In ACM SIGOPS Asia-Pacific Workshop on Systems (APSys '20).Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Wook-Hee Kim, Jinwoong Kim, Woongki Baek, Beomseok Nam, and Youjip Won. 2016. NVWAL: Exploiting NVRAM in Write-Ahead Logging. In Int'l Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS '16).Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Youngjin Kwon, Henrique Fingler, Tyler Hunt, Simon Peter, Emmett Witchel, and Thomas Anderson. 2017. Strata: A Cross Media File System. In Symp. on Operating Systems Principles (SOSP '17).Google ScholarGoogle Scholar
  19. E. Kültürsay, M. Kandemir, A. Sivasubramaniam, and O. Mutlu. 2013. Evaluating STT-RAM as an energy-efficient main memory alternative. In IEEE Int'l Symp. on Performance Analysis of Systems and Software (ISPASS '13).Google ScholarGoogle Scholar
  20. Benjamin C. Lee, Engin Ipek, Onur Mutlu, and Doug Burger. 2009. Architecting Phase Change Memory as a Scalable Dram Alternative. In Int'l Symp. on Computer Architecture (ISCA '09).Google ScholarGoogle Scholar
  21. Benjamin C. Lee, Ping Zhou, Jun Yang, Youtao Zhang, Bo Zhao, Engin Ipek, Onur Mutlu, and Doug Burger. 2010. Phase-Change Technology and the Future of Main Memory. IEEE Micro 30, 1 (Jan. 2010), 131--143.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Eunji Lee, Hyokyung Bahn, and Sam H. Noh. 2013. Unioning of the Buffer Cache and Journaling Layers with Non-volatile Memory. In USENIX Conf. on File and Storage Technologies (FAST '13).Google ScholarGoogle Scholar
  23. C. Mohan. 1999. Repeating History Beyond ARIES. In Int'l Conf. on Very Large Data Bases (VLDB '99).Google ScholarGoogle Scholar
  24. Daejun Park and Dongkun Shin. 2017. iJournaling: Fine-Grained Journaling for Improving the Latency of Fsync System Call. In USENIX Annual Technical Conference (USENIX ATC '17).Google ScholarGoogle Scholar
  25. Stan Park, Terence Kelly, and Kai Shen. 2013. Failure-Atomic Msync(): A Simple and Efficient Mechanism for Preserving the Integrity of Durable Data. In European Conf. on Computer Systems (EuroSys '13).Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. N. Perrissin, S. Lequeux, N. Strelkov, L. Vila, L. Buda-Prejbeanu, S. Auffret, R. C. Sousa, I. L. Prejbeanu, and B. Dieny. 2018. Spin transfer torque magnetic random-access memory: Towards sub-10 nm devices. In Int'l Conf. on IC Design Technology (ICICDT '18).Google ScholarGoogle Scholar
  27. Thanumalayan Sankaranarayana Pillai, Ramnatthan Alagappan, Lanyue Lu, Vijay Chidambaram, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2017. Application Crash Consistency and Performance with CCFS. In USENIX Conf. on File and Storage Technologies (FAST '17).Google ScholarGoogle Scholar
  28. Thanumalayan Sankaranarayana Pillai, Vijay Chidambaram, Ramnatthan Alagappan, Samer Al-Kiswany, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2014. All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications. In USENIX Symp. on Operating Systems Design and Implementation (OSDI '14).Google ScholarGoogle Scholar
  29. S. Raoux, G. W. Burr, M. J. Breitwisch, C. T. Rettner, Y.-C. Chen, R. M. Shelby, M. Salinga, D. Krebs, S.-H. Chen, H.-L. Lung, and C. H. Lam. 2008. Phase-Change Random Access Memory: A Scalable Technology. IBM J. Res. Dev. 52, 4 (July 2008), 465--479.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Ohad Rodeh, Josef Bacik, and Chris Mason. 2013. BTRFS: The Linux B-Tree Filesystem. ACM Trans. Storage 9, 3 (Aug. 2013), 9:1--9:32.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Haris Volos, Sanketh Nalli, Sankarlingam Panneerselvam, Venkatanathan Varadarajan, Prashant Saxena, and Michael M. Swift. 2014. Aerie: Flexible File-System Interfaces to Storage-Class Memory. In European Conf. on Computer Systems (EuroSys '14).Google ScholarGoogle Scholar
  32. Matthew Wilcox. 2014. Add support for NV-DIMMs to ext4. https://lwn.net/Articles/613384/Google ScholarGoogle Scholar
  33. Xiaojian Wu and A. L. Narasimha Reddy. 2011. SCMFS: A File System for Storage Class Memory. In Int'l Conf. for High Performance Computing, Networking, Storage and Analysis (SC '11).Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Jian Xu, Juno Kim, Amirsaman Memaripour, and Steven Swanson. 2019. Finding and Fixing Performance Pathologies in Persistent Memory Software Stacks. In Int'l Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS '19).Google ScholarGoogle Scholar
  35. Jian Xu and Steven Swanson. 2016. NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main Memories. In USENIX Conf. on File and Storage Technologies (FAST '16).Google ScholarGoogle Scholar
  36. Jian Xu, Lu Zhang, Amirsaman Memaripour, Akshatha Gangadharaiah, Amit Borase, Tamires Brito Da Silva, Steven Swanson, and Andy Rudoff. 2017. NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System. In Symp. on Operating Systems Principles (SOSP '17).Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Jian Yang, Juno Kim, Morteza Hoseinzadeh, Joseph Izraelevitz, and Steve Swanson. 2020. An Empirical Guide to the Behavior and Use of Scalable Persistent Memory. In USENIX Conf. on File and Storage Technologies (FAST '20).Google ScholarGoogle Scholar

Index Terms

  1. Libpubl: exploiting persistent user buffers as logs for write atomicity

        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
        • Published in

          cover image ACM Conferences
          HotStorage '21: Proceedings of the 13th ACM Workshop on Hot Topics in Storage and File Systems
          July 2021
          119 pages
          ISBN:9781450385503
          DOI:10.1145/3465332

          Copyright © 2021 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: 27 July 2021

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          HotStorage '21 Paper Acceptance Rate15of40submissions,38%Overall Acceptance Rate34of87submissions,39%

          Upcoming Conference

          HOTSTORAGE '24
        • Article Metrics

          • Downloads (Last 12 months)40
          • Downloads (Last 6 weeks)1

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader