Building blocks for persistent memory
- PDF / 1,922,462 Bytes
- 19 Pages / 595.276 x 790.866 pts Page_size
- 73 Downloads / 221 Views
SPECIAL ISSUE PAPER
Building blocks for persistent memory How to get the most out of your new memory? Alexander van Renen1
· Lukas Vogel1
· Viktor Leis2 · Thomas Neumann1
· Alfons Kemper1
Received: 29 January 2020 / Revised: 6 July 2020 / Accepted: 15 July 2020 © The Author(s) 2020
Abstract I/O latency and throughput are two of the major performance bottlenecks for disk-based database systems. Persistent memory (PMem) technologies, like Intel’s Optane DC persistent memory modules, promise to bridge the gap between NAND-based flash (SSD) and DRAM, and thus eliminate the I/O bottleneck. In this paper, we provide the first comprehensive performance evaluation of PMem on real hardware in terms of bandwidth and latency. Based on the results, we develop guidelines for efficient PMem usage and four optimized low-level building blocks for PMem applications: log writing, block flushing, in-place updates, and coroutines for write latency hiding. Keywords Persistent memory · Systems · Databases
1 Introduction Today, data management systems mainly rely on solid-state drives (NAND flash) or magnetic disks to store data. These storage technologies offer persistence and large capacities at low cost. However, due to the high access latencies, most systems also use volatile main memory in the form of DRAM as a cache. This yields the traditional two-layered architecture, as DRAM cannot solely be used due to its volatility, high cost, and limited capacity. Novel storage technologies, such as Phase Change Memory, are shrinking this fundamental gap between memory and storage. Specifically, Intel’s Optane DC Persistent Memory Modules (Optane DC PMM) offer an amalgamation of the
B
Alexander van Renen [email protected] Lukas Vogel [email protected] Viktor Leis [email protected]
best properties of memory and storage—though as we show in this paper, with some trade-offs. This Persistent Memory (PMem) is durable, like storage, and directly addressable by the CPU, like memory. The price, capacity, and latency lies between DRAM and flash. PMem promises to greatly improve the latency of storage technologies, which in turn would greatly increase the performance of data management systems. However, because PMem is fundamentally different from existing, well-known technologies, it also has different performance characteristics to DRAM and flash. While we perform our evaluation in a database context, these introduced techniques are transferable to other systems, as evidenced by the fact that they are also implemented by the Persistent Memory Development Kit (PMDK) [43]. This paper is an extended version of an originally released paper at DaMoN 2019 [47]. While the experiments in the original paper were conducted on a prototype of Intel’s PMem hardware, all numbers in this paper are measured on commercially available PMem hardware. Our contributions can be summarized as follows1 :
Thomas Neumann [email protected]
– We provide the first analyses of actual (not prototyped or simulated) PMem based on Intel’s Optane DC Persistent Memory M
Data Loading...