Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Zallocator: A High Throughput Write-Optimized Persistent Allocator for Non-Volatile Memory

Published: 13 October 2022 Publication History
  • Get Citation Alerts
  • Abstract

    Non-volatile main memory (NVRAM) is likely to break the bottleneck caused by data transferring between main memory and extern storage, and fundamentally change the way applications do data persistence. We can build persistent data structures directly on NVRAM. To do this correctly and efficiently, we need the support of persistent allocators guaranteeing failure-consistency.
    However, existing persistent allocators pay huge persistence overhead for failure-consistency. In this article, we present Zallocator, a write-optimized failure-consistency allocator for NVRAM. Zallocator hardly brings write operations to NVRAM. It keeps all the heap management metadata in DRAM, and rebuild them after a crash. Experimental results show that Zallocator achieves a throughput comparable to state-of-the-art transient allocators, and reduces the average number of NVRAM writes per allocation/deallocation to almost zero.

    References

    [1]
    [n.d.]. Intel and Micron produce breakthrough memory technology. Retrieved 12 Jan. 2021 from http://newsroom.intel.com/community/intel_newsroom/blog/2015/07/28/intel-and-micron-produce-breakthrough-memory-technology.
    [2]
    [n.d.]NVML Library. Retrieved 12 Jan. 2021 from http://pmem.io/nvml.
    [3]
    Ameen Akel, Adrian M. Caulfield, Todor I. Mollov, Rajesh K. Gupta, and Steven Swanson. 2011. Onyx: A protoype phase change memory storage array. In Proceedings of the 3rd USENIX Conference on Hot Topics in Storage and File Systems.
    [4]
    Emery D. Berger, Kathryn S. McKinley, Robert D. Blumofe, and Paul R. Wilson. 2000. Hoard: A Scalable Memory Allocator for Multithreaded Applications. SIGPLAN Not. 35, 11 (nov 2000), 117–128. https://doi.org/10.1145/356989.357000
    [5]
    Kumud Bhandari, Dhruva R. Chakrabarti, and Hans J. Boehm. 2016. Makalu: Fast recoverable allocation of non-volatile memory. In Proceedings of the 2016 ACM SIGPLAN International Conference.
    [6]
    Dhruva R. Chakrabarti, Hansj Boehm, and Kumud Bhandari. 2014. Atlas: Leveraging locks for non-volatile memory consistency. In Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages & Applications.
    [7]
    Shimin Chen and Qin Jin. 2015. Persistent B+-Trees in non-volatile main memory. Proceedings of the Vldb Endowment 8, 7 (2015), 786–797.
    [8]
    Joel Coburn, Adrian M. Caulfield, Ameen Akel, Laura M. Grupp, and Steven Swanson. 2011. NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2011.
    [9]
    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 Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles. 133–146.
    [10]
    [n.d.]. Intel Corp. Intel Architecture Instruction Set Extensions Programming Reference. Retrieved 12 Jan. 2021 from https://software.intel.com/sites/default/files/managed/b4/3a/319433-024.pdf.
    [11]
    [n.d.]. Intel Corp. Intel64 and IA-32 Architectures Software Developers Manuals Combined. Retrieved 12 Jan. 2021 from http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html.
    [12]
    Subramanya R. Dulloor, Sanjay Kumar, Anil Keshavamurthy, Philip Lantz, Dheeraj Reddy, Rajesh Sankaran, and Jeff Jackson. 2014. System software for persistent memory. In Proceedings of the Ninth European Conference on Computer Systems (EuroSys’14). Association for Computing Machinery, New York, NY, USA, Article 15, 1–15. https://doi.org/10.1145/2592798.2592814
    [13]
    J. Evans. 2006. jemalloc: A Scalable Concurrent Malloc(3) Implementation. Retrieved 10 Jan. 2021 from https://github.com/jemalloc/jemalloc.
    [14]
    W. Gloger. 2006. ptmalloc3: Multi-threaded Extension to Dlmalloc. Retrieved 10 Jan. 2021 from http://malloc.de/en/.
    [15]
    Vaibhav Gogte, William Wang, Stephan Diestelhorst, Aasheesh Kolli, Peter M. Chen, Satish Narayanasamy, and Thomas F. Wenisch. 2019. Software wear management for persistent memories. In Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST’19). USENIX Association, 45–63.
    [16]
    Deukyeon Hwang, Wook-Hee Kim, Youjip Won, and Beomseok Nam. 2018. Endurable transient inconsistency in byte-addressable persistent B+-Tree. In Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST’18). USENIX Association, 187–200.
    [17]
    Takayuki Kawahara. 2011. Scalable spin-transfer torque RAM technology for normally-off computing. Design & Test of Computers IEEE 28, 1 (2011), 52–63.
    [18]
    Doug Lea. 1996. A memory allocator called doug lea’s malloc or dlmalloc for short. (March 26, 2010) Retrieved March 26, 2010 from http://gee.cs.oswego.edu/dl/html/malloc.html. (1996).
    [19]
    Benjamin C. Lee, Engin Pek, Onur Mutlu, and Douglas Christopher Burger. 2009. Architecting phase change memory as a scalable DRAM alternative. ACM Sigarch Computer Architecture News 37, 3 (2009), 2–13.
    [20]
    Se Kwon Lee, K. Hyun Lim, Hyunsub Song, Beomseok Nam, and Sam H. Noh. 2017. WORT: Write optimal radix tree for persistent memory storage systems. In Proceedings of the 15th Usenix Conference on File and Storage Technologies (FAST’17). USENIX Association, 257–270.
    [21]
    Paul Liétar, Theodore Butler, Sylvan Clebsch, Sophia Drossopoulou, Juliana Franco, Matthew J. Parkinson, Alex Shamis, Christoph M. Wintersteiger, and David Chisnall. 2019. Snmalloc: A message passing allocator. In Proceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management (ISMM’19). Association for Computing Machinery, New York, 122–135.
    [22]
    Zhulin Ma, Edwin H.-M. Sha, Qingfeng Zhuge, Weiwen Jiang, Runyu Zhang, and Shouzhen Gu. 2020. Towards the design of efficient hash-based indexing scheme for growing databases on non-volatile memory. Future Generation Computer Systems 105, 1 (2020), 1–12. https://doi.org/10.1016/j.future.2019.07.035
    [23]
    Moohyeon Nam, Hokeun Cha, Young-Ri Choi, Sam H. Noh, and Beomseok Nam. 2019. Write-optimized dynamic hashing for persistent memory. In Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST’19). USENIX Association, 31–44.
    [24]
    Jiaxin Ou, Jiwu Shu, and Youyou Lu. 2016. A high performance file system for non-volatile main memory. In Proceedings of the 11th European Conference on Computer Systems (EuroSys’16). Association for Computing Machinery, New York, NY, Article 12, 16 pages.
    [25]
    Ismail Oukid, Daniel Booss, Adrien Lespinasse, Wolfgang Lehner, Thomas Willhalm, and Grégoire Gomes. 2017. Memory management techniques for large-scale persistent-main-memory systems. Proceedings of the VLDB Endowment 10, 11 (2017), 1166–1177.
    [26]
    Ismail Oukid, Johan Lasperas, Anisoara Nica, Thomas Willhalm, and Wolfgang Lehner. 2016. FPTree: A hybrid SCM-DRAM persistent and concurrent B-Tree for storage class memory. In Proceedings of the 2016 International Conference.
    [27]
    Simone Raoux, Geoffrey W. Burr, Matthew J. Breitwisch, Charles T. Rettner, and Chung Hon Lam. 2008. Phase-change random access memory: A scalable technology. Ibm Journal of Research & Development 52, 4.5 (2008), 465–479.
    [28]
    David Schwalb, Tim Berning, Martin Faust, Markus Dreseler, and Hasso Plattner. 2015. nvm malloc: Memory allocation for NVRAM. In Proceedings of the ADMS@VLDB. 61–72.
    [29]
    Peter Snyder. 1990. tmpfs: A virtual memory file system. In Proceedings of the Autumn 1990 EUUG Conference. 241–248.
    [30]
    Volos, Haris, Tack, Andres, Jaan, Swift, Michael, and M.2011. Mnemosyne. ACM SIGARCH Computer Architecture News 39, 1 (2011), 91–91.
    [31]
    M. Wilcox. [n.d.]. Add support for NV-DIMMs to ext4. Retrieved 12 Jan. 2021 from https://lwn.net/Articles/613384/.
    [32]
    Xiao Jian Wu and A. L. Narasimha Reddy. 2011. SCMFS: A file system for storage class memory. In Proceedings of the High Performance Computing, Networking, Storage & Analysis.
    [33]
    Cong Xu, Dimin Niu, Naveen Muralimanohar, Norman P. Jouppi, and Yuan Xie. 2013. Understanding the trade-offs in multi-level cell ReRAM memory design. In Proceedings of the 50th Annual Design Automation Conference (DAC’13). Association for Computing Machinery, New York, NY, Article 108, 6 pages.
    [34]
    Jian Xu and Steven Swanson. 2016. NOVA: A log-structured file system for hybrid volatile/non-volatile main memories. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST’16). USENIX Association, 323–338.
    [35]
    Jun Yang, Qingsong Wei, Cheng Chen, Chundong Wang, Khai Leong Yong, and Bingsheng He. 2015. NV-Tree: Reducing consistency cost for NVM-Based single level systems. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST’15). USENIX Association, 167–181.
    [36]
    Shengan Zheng, Morteza Hoseinzadeh, and Steven Swanson. 2019. Ziggurat: A tiered file system for non-volatile main memories and disks. In Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST’19). USENIX Association, 207–219.
    [37]
    Pengfei Zuo and Yu Hua. 2017. A write-friendly hashing scheme for non-volatile memory systems. In Proceedings of the 33rd International Conference on Massive Storage Systems and Technology (MSST’17).
    [38]
    Per Åke Larson and Murali Krishnan. 1998. Memory allocation for long-running server applications. In Proceedings of the International Symposium on Memory Management.

    Cited By

    View all
    • (2024)Exploring Visual Relationships via Transformer-based Graphs for Enhanced Image CaptioningACM Transactions on Multimedia Computing, Communications, and Applications10.1145/363855820:5(1-23)Online publication date: 22-Jan-2024
    • (2022)A Normalized Slicing-assigned Virtualization Method for 6G-based Wireless Communication SystemsACM Transactions on Multimedia Computing, Communications, and Applications10.1145/354607718:3s(1-18)Online publication date: 1-Nov-2022
    • (2022)A Local-Global Self-attention Interaction Network for RGB-D Cross-Modal Person Re-identificationPattern Recognition and Computer Vision10.1007/978-3-031-18916-6_8(89-102)Online publication date: 14-Oct-2022

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Journal on Emerging Technologies in Computing Systems
    ACM Journal on Emerging Technologies in Computing Systems  Volume 18, Issue 4
    October 2022
    429 pages
    ISSN:1550-4832
    EISSN:1550-4840
    DOI:10.1145/3563906
    • Editor:
    • Ramesh Karri
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Journal Family

    Publication History

    Published: 13 October 2022
    Online AM: 19 July 2022
    Accepted: 01 June 2022
    Revised: 25 January 2022
    Received: 02 April 2021
    Published in JETC Volume 18, Issue 4

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Non-volatile main memory
    2. memory management
    3. allocation
    4. deallocation

    Qualifiers

    • Research-article
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)82
    • Downloads (Last 6 weeks)9
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Exploring Visual Relationships via Transformer-based Graphs for Enhanced Image CaptioningACM Transactions on Multimedia Computing, Communications, and Applications10.1145/363855820:5(1-23)Online publication date: 22-Jan-2024
    • (2022)A Normalized Slicing-assigned Virtualization Method for 6G-based Wireless Communication SystemsACM Transactions on Multimedia Computing, Communications, and Applications10.1145/354607718:3s(1-18)Online publication date: 1-Nov-2022
    • (2022)A Local-Global Self-attention Interaction Network for RGB-D Cross-Modal Person Re-identificationPattern Recognition and Computer Vision10.1007/978-3-031-18916-6_8(89-102)Online publication date: 14-Oct-2022

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    Full Text

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media