An Initial Performance Analysis of Persistent Memory Allocators
ResumoPersistent Memory (PM) has recently resurfaced with the advent of new technologies that make it a competitive option in terms of performance compared to traditional storage, adding the benefit of durability. Because it is byte-addressable, the use of PM is similar to that of volatile RAM (DRAM). However, there are some differences related to data consistency and read/write latency, which makes it necessary to have special memory allocators. This paper presents an initial performance analysis of the impact of two persistent memory allocators, PMDK and Ralloc, using three typical data structures, namely, i) Linked List, ii) Skip List, and iii) Hash Map. Although the study is in its initial phase, we could observe the impact of PM allocator in performance.
Bhandari, K., Chakrabarti, D. R., and Boehm, H.-J. (2016). Makalu: Fast recoverable allocation of non-volatile memory. SIGPLAN Not., 51(10):677–694.
Cai, W. and Wen, e. (2020). Understanding and optimizing persistent memory allocation. In Proc. of the ISMM, page 60–73.
Izraelevitz, J. et al. (2019). Basic performance measurements of the Intel Optane DC persistent memory module. CoRR, abs/1903.05714.
Jung, M. (2022). Hello bytes, bye blocks: PCIe storage meets compute express link for memory expansion (CXL-SSD). In Proc. of the 14th ACM Hotstorage, page 45–51.
Leite, R. and Rocha, R. (2019). Lrmalloc: A modern and competitive lock-free dynamic memory allocator. In Proc. of the 13th VECPAR, pages 230–243.
Scargall, S. (2020). Programming Persistent Memory A Comprehensive Guide for Developers. Apress, 1st edition.
Tiwari, D., Lee, S., Tuck, J., and Solihin, D. (2010). MMT:exploiting fine-grained parallelism in dynamic memory management. In Proc. of IPDPS, pages 1–12.
Tyson, M. (2019). Intel Optane DC PMEM launched. Retrieved from [link].
Yu, S., Xiao et al. (2015). WAlloc: An efficient wear-aware allocator for non-volatile main memory. In Proc. of the 2015 IEEE IPCCC, pages 1–8.