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.
Author supplied keywords
Cite
CITATION STYLE
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.