{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,11]],"date-time":"2026-03-11T01:41:10Z","timestamp":1773193270013,"version":"3.50.1"},"reference-count":38,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2022,10,13]],"date-time":"2022-10-13T00:00:00Z","timestamp":1665619200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["J. Emerg. Technol. Comput. Syst."],"published-print":{"date-parts":[[2022,10,31]]},"abstract":"<jats:p>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.<\/jats:p>\n          <jats:p>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.<\/jats:p>","DOI":"10.1145\/3549528","type":"journal-article","created":{"date-parts":[[2022,7,19]],"date-time":"2022-07-19T12:10:49Z","timestamp":1658232649000},"page":"1-20","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Zallocator: A High Throughput Write-Optimized Persistent Allocator for Non-Volatile Memory"],"prefix":"10.1145","volume":"18","author":[{"given":"You","family":"Wu","sequence":"first","affiliation":[{"name":"University of Electronic Science and Technology of China, Chengdu, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lin","family":"Li","sequence":"additional","affiliation":[{"name":"University of Electronic Science and Technology of China, Chengdu, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,10,13]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"[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."},{"key":"e_1_3_1_3_2","unstructured":"[n.d.]NVML Library. Retrieved 12 Jan. 2021 from http:\/\/pmem.io\/nvml."},{"key":"e_1_3_1_4_2","volume-title":"Proceedings of the 3rd USENIX Conference on Hot Topics in Storage and File Systems","author":"Akel Ameen","year":"2011","unstructured":"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."},{"key":"e_1_3_1_5_2","doi-asserted-by":"crossref","unstructured":"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\u2013128. https:\/\/doi.org\/10.1145\/356989.357000","DOI":"10.1145\/356989.357000"},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/2983990.2984019"},{"key":"e_1_3_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/2660193.2660224"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.14778\/2752939.2752947"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950380"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629589"},{"key":"e_1_3_1_11_2","unstructured":"[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."},{"key":"e_1_3_1_12_2","unstructured":"[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."},{"key":"e_1_3_1_13_2","doi-asserted-by":"crossref","unstructured":"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\u201914) . Association for Computing Machinery New York NY USA Article 15 1\u201315. https:\/\/doi.org\/10.1145\/2592798.2592814","DOI":"10.1145\/2592798.2592814"},{"key":"e_1_3_1_14_2","unstructured":"J. Evans. 2006. jemalloc: A Scalable Concurrent Malloc(3) Implementation. Retrieved 10 Jan. 2021 from https:\/\/github.com\/jemalloc\/jemalloc."},{"key":"e_1_3_1_15_2","unstructured":"W. Gloger. 2006. ptmalloc3: Multi-threaded Extension to Dlmalloc. Retrieved 10 Jan. 2021 from http:\/\/malloc.de\/en\/."},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","DOI":"10.5555\/3323298.3323303"},{"key":"e_1_3_1_17_2","first-page":"187","volume-title":"Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST\u201918)","author":"Hwang Deukyeon","year":"2018","unstructured":"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\u201918). USENIX Association, 187\u2013200."},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","DOI":"10.1109\/MDT.2010.97"},{"key":"e_1_3_1_19_2","article-title":"A memory allocator called doug lea\u2019s malloc or dlmalloc for short","author":"Lea Doug","year":"1996","unstructured":"Doug Lea. 1996. A memory allocator called doug lea\u2019s malloc or dlmalloc for short. (March 26, 2010) Retrieved March 26, 2010 from http:\/\/gee.cs.oswego.edu\/dl\/html\/malloc.html. (1996).","journal-title":"(March 26, 2010)"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/1555815.1555758"},{"key":"e_1_3_1_21_2","first-page":"257","volume-title":"Proceedings of the 15th Usenix Conference on File and Storage Technologies (FAST\u201917)","author":"Lee Se Kwon","year":"2017","unstructured":"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\u201917). USENIX Association, 257\u2013270."},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3315573.3329980"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2019.07.035"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.5555\/3323298.3323302"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/2901318.2901324"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.14778\/3137628.3137629"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915251"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.524.0465"},{"key":"e_1_3_1_29_2","first-page":"61","volume-title":"Proceedings of the ADMS@VLDB","author":"Schwalb David","year":"2015","unstructured":"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\u201372."},{"key":"e_1_3_1_30_2","first-page":"241","volume-title":"Proceedings of the Autumn 1990 EUUG Conference","author":"Snyder Peter","year":"1990","unstructured":"Peter Snyder. 1990. tmpfs: A virtual memory file system. In Proceedings of the Autumn 1990 EUUG Conference. 241\u2013248."},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/1961295.1950379"},{"key":"e_1_3_1_32_2","unstructured":"M. Wilcox. [n.d.]. Add support for NV-DIMMs to ext4. Retrieved 12 Jan. 2021 from https:\/\/lwn.net\/Articles\/613384\/."},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063436"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/2463209.2488867"},{"key":"e_1_3_1_35_2","first-page":"323","volume-title":"Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST\u201916)","author":"Xu Jian","year":"2016","unstructured":"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\u201916). USENIX Association, 323\u2013338."},{"key":"e_1_3_1_36_2","first-page":"167","volume-title":"Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST\u201915)","author":"Yang Jun","year":"2015","unstructured":"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\u201915). USENIX Association, 167\u2013181."},{"key":"e_1_3_1_37_2","first-page":"207","volume-title":"Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST\u201919)","author":"Zheng Shengan","year":"2019","unstructured":"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\u201919). USENIX Association, 207\u2013219."},{"key":"e_1_3_1_38_2","volume-title":"Proceedings of the 33rd International Conference on Massive Storage Systems and Technology (MSST\u201917)","author":"Zuo Pengfei","year":"2017","unstructured":"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\u201917)."},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/286860.286880"}],"container-title":["ACM Journal on Emerging Technologies in Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3549528","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3549528","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:00:11Z","timestamp":1750186811000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3549528"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,10,13]]},"references-count":38,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2022,10,31]]}},"alternative-id":["10.1145\/3549528"],"URL":"https:\/\/doi.org\/10.1145\/3549528","relation":{},"ISSN":["1550-4832","1550-4840"],"issn-type":[{"value":"1550-4832","type":"print"},{"value":"1550-4840","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,10,13]]},"assertion":[{"value":"2021-04-02","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-10-13","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}