A High-Performance Persistent Memory Key-Value Store with Near-Memory Compute Daniel G. Waddington daniel.waddington@ibm.com IBM Research Almaden Clem Dickey dickeycl@us.ibm.com IBM Research Almaden Luna Xu xuluna@ibm.com IBM Research Almaden Moshik Hershcovitch moshikh@il.ibm.com IBM Research Almaden Sangeetha Seshadri seshadrs@us.ibm.com IBM Research Almaden Abstract MCAS (Memory Centric Active Storage) is a persistent memory tier for high-performance durable data storage. It is designed from the ground-up to provide a key-value capability with low-latency guarantees and data durability through memory persistence and replication. To reduce data movement and make further gains in performance, we provide support for user-defined “push-down” operations (known as Active Data Objects) that can execute directly and safely on the value-memory associated with one or more keys. The ADO mechanism allows complex pointer-based dynamic data structures (e.g., trees) to be stored and operated on in persistent memory. To this end, we examine a real-world use case for MCAS-ADO in the handling of enterprise storage system metadata for Continuous Data Protection (CDP). This requires continuously updated complex metadata that must be kept consistent and durable. In this paper, we i.) present the MCAS-ADO system architecture, ii.) show how the CDP use case is implemented, and finally iii.) give an evaluation of system performance in the context of this use case. 1 Introduction While the notion of persistent memory has been around for many decades, its widespread avail- ability had not arisen until recently. By 2021, Intel’s Optane 3D-Xpoint Persistent Memory (PM) DIMM market is projected to reach $1B in revenue [3]. Its value proposition, compared to DRAM, is centered around lower-cost per GB, larger capacity, lower-energy consumption through refresh elimination, and data retention (persistence) in power-failure and reset events. PM is byte-addressable in that it is directly accessed via load-store instructions of the CPU. The current generation of Intel’s Optane PM operates at a read-write latency of around 300ns [7, 16]. Even though this is slower than DRAM access latencies (100ns) it is at least 30x faster than state-of-the-art storage (e.g., NVMe SSD). Capacity of PM is also about 8x that of DRAM 1 . As with storage, in order to enable data shar- ing and availability PM must also be provi- sioned as a network-attached resource. Today, a growing number of key-value stores use mem- ory for performance and replication for reliabil- ity [12, 18, 19, 21, 22, 24, 27, 30]. More recently, key-value stores that support PM are emerging in academia [10, 17, 32]. However, this existing 1 At least for 3D-XPoint, which is based on lattice- arranged Phase Change Memory (PCM). 1 arXiv:2104.06225v1 [cs.DB] 12 Apr 2021