FlatStore: An efficient log-structured key-value storage engine for persistent memory

186Citations
Citations of this article
117Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Emerging hardware like persistent memory (PM) and high-speed NICs are promising to build efficient key-value stores. However, we observe that the small-sized access pattern in key-value stores doesn't match with the persistence granularity in PMs, leaving the PM bandwidth underutilized. This paper proposes an efficient PM-based key-value storage engine named FlatStore. Specifically, it decouples the role of a KV store into a persistent log structure for efficient storage and a volatile index for fast indexing. Upon it, FlatStore further incorporates two techniques: 1) compacted log format to maximize the batching opportunity in the log; 2) pipelined horizontal batching to steal log entries from other cores when creating a batch, thus delivering low-latency and high-throughput performance. We implement FlatStore with the volatile index of both a hash table and Masstree. We deploy FlatStore on Optane DC Persistent Memory, and our experiments show that FlatStore achieves up to 35 Mops/s with a single server node, 2.5 - 6.3 times faster than existing systems.

Cite

CITATION STYLE

APA

Chen, Y., Lu, Y., Yang, F., Wang, Q., Wang, Y., & Shu, J. (2020). FlatStore: An efficient log-structured key-value storage engine for persistent memory. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 1077–1091). Association for Computing Machinery. https://doi.org/10.1145/3373376.3378515

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free