PFtree: Optimizing Persistent Adaptive Radix Tree for PM Systems on eADR Platform.

Rui Zhang,Yao Wu,Shangyi Sun,Lulu Chen,Yibo Huang,Ming Yan,Jie Wu
DOI: https://doi.org/10.1007/978-3-031-30637-2_4
2023-01-01
Abstract:Persistent memory (PM) provides byte-addressability, low latency as well as data persistence. Recently, a new feature called eADR is available on the 3rd generation Intel Xeon Scalable Processors with the 2nd generation Intel Optane PM. eADR ensures that data stored within the CPU caches will be flushed to PM upon the power failure. In the eADR platform, previous PM-based work suffered more read/write amplification and random access problems, and memory allocations on PM are still expensive. The persistence ways on the eADR platform are still unclear. Therefore, we propose PFtree (PM Line Accesses Friendly Adaptive Radix Tree), a persistent index optimized for the eADR platform. PFtree reduces PM line access with two optimizations: stores key-value pair in leaf array directly to reduce pointer chasing and stores necessary metadata with key-value pair closely and auxiliary metadata in DRAM. PFtree reduces memory allocations in critical paths by allocating bulk memory when creating a leaf array. Then, we design an adaptive persistence way based on data block size for PFtree to fully use PM bandwidth. Experimental results show that our proposed PFtree outperforms the radix tree by up to 1.2 × and B+-Trees by 1.1−7 × throughput, respectively, with multi-threads.
What problem does this paper attempt to address?