Title
Redesign the Memory Allocator for Non-Volatile Main Memory.
Abstract
The non-volatile memory (NVM) has the merits of byte-addressability, fast speed, persistency and low power consumption, which make it attractive to be used as main memory. Commonly, user process dynamically acquires memory through memory allocators. However, traditional memory allocators designed with in-place data writes are not appropriate for the non-volatile main memory (NVRAM) due to the limited endurance. In this article, first, we quantitatively analyze the wear-oblivious of DRAM-oriented designed allocator—glibc malloc and the inefficiency of wear-conscious allocator NVMalloc. Then, we propose WAlloc, an efficient wear-aware manual memory allocator designed for NVRAM: (1) decouples metadata and data management; (2) distinguishes metadata with volatility; (3) redirects the data writes around to achieve wear-leveling; (4) redesigns an efficient and effective NVM copy mechanism, bypassing the CPU cache partially and prefetching data explicitly. Finally, experimental results show that the wear-leveling of WAlloc outperforms that of NVMalloc about 30% and 60% under random workloads and well-distributed workloads, respectively. Besides, WAlloc reduces the average data memory writes in 64 bytes block by 1.5 times comparing with glibc malloc. With the fulfillment of data persistency, cache bypassing NVM copy is better than cache line flushing NVM copy with performance improvement circa 14%.
Year
DOI
Venue
2017
10.1145/2997651
JETC
Keywords
Field
DocType
Non-volatile memory,memory allocator,wear-aware,virtual memory
Registered memory,Interleaved memory,Cache pollution,Computer science,Non-volatile random-access memory,Cache-only memory architecture,Real-time computing,Memory management,Non-uniform memory access,Memory map,Operating system
Journal
Volume
Issue
ISSN
13
3
1550-4832
Citations 
PageRank 
References 
2
0.41
37
Authors
5
Name
Order
Citations
PageRank
Songping Yu184.89
Nong Xiao2649116.15
Ming-Zhu Deng383.20
Fang Liu471.52
Wei Chen55710.51