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.

Highlights

  • Today, data management systems mainly rely on solid-state drives (NAND flash) or magnetic disks to store data

  • – We provide the first analyses of actual PMem based on Intel’s Optane DC Persistent Memory Modules (PMM)

  • By combining a copy-on-write method with temporary delta files, we achieve significant speedups (Sect. 3.2). – We introduce an algorithm for persisting small data chunks that reduces the latency by 2× compared to state-of-the-art algorithms (Sect 3.3). – We introduce a new abstraction on top of PMem, called Failure-Atomic Memory (FAM) that allows for fast inplace updates on PMem (Sect. 3.4). – We show how synchronous persistent writes to PMem can be interleaved using fibers to avoid stalling on the relatively high PMem latencies (Sect. 3.5)

Read more

Summary

Introduction

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. Due to the high access latencies, most systems 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. Technical University of Munich, Munich, Germany 2 Friedrich Schiller University Jena, Jena, Germany 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.

Setup and configuration
Latency
Bandwidth
Interference
Failure atomicity
Page propagation
Failure-atomic page propagation
Copy-on-write
Micro log
Experiments
Logging
Algorithms
In-place updates
CoW-based
Log-based
Coroutines
Lookup implementation
Insert implementation
Related work
Conclusion
Findings
A FAM implementation details
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call