FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent Memory

被引:137
作者
Chen, Youmin [1 ,2 ]
Lu, Youyou [1 ,2 ]
Yang, Fan [1 ,2 ]
Wang, Qing [1 ,2 ]
Wang, Yang [3 ]
Shu, Jiwu [1 ,2 ]
机构
[1] Tsinghua Univ, Dept Comp Sci & Technol, Beijing, Peoples R China
[2] Beijing Natl Res Ctr Informat Sci & Technol BNRis, Beijing, Peoples R China
[3] Ohio State Univ, Columbus, OH 43210 USA
来源
TWENTY-FIFTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXV) | 2020年
基金
中国国家自然科学基金;
关键词
key-value store; log structure; persistent memory; batching; PHASE-CHANGE MEMORY;
D O I
10.1145/3373376.3378515
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:1077 / 1091
页数:15
相关论文
共 60 条
[1]  
Ahmed A, 2012, 2012 4TH CONFERENCE ON DATA MINING AND OPTIMIZATION (DMO), P121, DOI 10.1109/DMO.2012.6329809
[2]  
[Anonymous], 2018, INTELS APACHE PASS
[3]  
[Anonymous], 2017, PRODUCT BRIEF CONNEC
[4]  
[Anonymous], 2010, HotCloud
[5]  
[Anonymous], 2017, P 2017 USENIX ANN TE
[6]  
Atikoglu Berk, 2012, Performance Evaluation Review, V40, P53, DOI 10.1145/2318857.2254766
[7]   Highly scalable non-volatile resistive memory using simple binary oxide driven by asymmetric unipolar voltage pulses [J].
Baek, IG ;
Lee, MS ;
Seo, S ;
Lee, MJ ;
Seo, DH ;
Suh, DS ;
Park, JC ;
Park, SO ;
Kim, HS ;
Yoo, IK ;
Chung, UI ;
Moon, JT .
IEEE INTERNATIONAL ELECTRON DEVICES MEETING 2004, TECHNICAL DIGEST, 2004, :587-590
[8]  
Berger ED, 2000, ACM SIGPLAN NOTICES, V35, P117, DOI 10.1145/384264.379232
[9]   Makalu: Fast Recoverable Allocation of Non-volatile Memory [J].
Bhandari, Kumud ;
Chakrabarti, Dhruva R. ;
Boehm, Hans-J. .
ACM SIGPLAN NOTICES, 2016, 51 (10) :677-694
[10]  
Carbone P., 2015, Bull. Tech. Comm. Data Eng., V38, P28, DOI DOI 10.1109/IC2EW.2016.56