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.
- 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 ScholarDigital Library
- 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 Scholar
- Jens Axboe. 2005. Flexible I/O tester. https://https://github.com/axboe/fio/Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Intel Corporation. 2014. PMDK, Persistent Memory Development Kit. https://pmem.io/pmdk/Google Scholar
- 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 Scholar
- Jason Evans. 2005. jemalloc, memory allocator. http://jemalloc.net/Google Scholar
- R. Hagmann. 1987. Reimplementing the Cedar File System Using Logging and Group Commit. In Symp. on Operating Systems Principles (SOSP '87).Google Scholar
- Troy D. Hanson. 2004. uthash - a hash table for C structures. https://troydhanson.github.io/uthash/Google Scholar
- Intel. 2015. NVDIMM Namespace Specification. https://pmem.io/documents/NVDIMM_Namespace_Spec.pdfGoogle Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- C. Mohan. 1999. Repeating History Beyond ARIES. In Int'l Conf. on Very Large Data Bases (VLDB '99).Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- Matthew Wilcox. 2014. Add support for NV-DIMMs to ext4. https://lwn.net/Articles/613384/Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
Index Terms
- Libpubl: exploiting persistent user buffers as logs for write atomicity
Recommendations
HiNFS: A Persistent Memory File System with Both Buffering and Direct-Access
Special Issue on NVM and StoragePersistent memory provides data persistence at main memory with emerging non-volatile main memories (NVMMs). Recent persistent memory file systems aggressively use direct access, which directly copy data between user buffer and the storage layer, to ...
DTFS: exploiting the similarity of data versions to design a write-efficient file system in phase-change memory
SAC '14: Proceedings of the 29th Annual ACM Symposium on Applied ComputingPhase-change memory (PCM) has emerged as one of the most promising technologies to incorporate into the storage hierarchy of future computer systems. However, PCM has critical weaknesses in performing write operations. Specifically, the access latency ...
NOVA-Fortis: A Fault-Tolerant Non-Volatile Main Memory File System
SOSP '17: Proceedings of the 26th Symposium on Operating Systems PrinciplesEmerging fast, persistent memories will enable systems that combine conventional DRAM with large amounts of non-volatile main memory (NVMM) and provide huge increases in storage performance. Fully realizing this potential requires fundamental changes in ...
Comments