ChameleonDB: a Key-value Store for Optane Persistent Memory

被引:56
作者
Zhang, Wenhui [1 ]
Zhao, Xingsheng [1 ]
Jiang, Song [1 ]
Jiang, Hong [1 ]
机构
[1] Univ Texas Arlington, Arlington, TX 76019 USA
来源
PROCEEDINGS OF THE SIXTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS '21) | 2021年
基金
美国国家科学基金会;
关键词
key-value store; persistent-memory; Optane DC;
D O I
10.1145/3447786.3456237
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The emergence of Intel's Optane DC persistent memory (Optane Pmem) draws much interest in building persistent key-value (KV) stores to take advantage of its high throughput and low latency. A major challenge in the efforts stems from the fact that Optane Pmem is essentially a hybrid storage device with two distinct properties. On one hand, it is a high-speed byte-addressable device similar to DRAM. On the other hand, the write to the Optane media is conducted at the unit of 256 bytes, much like a block storage device. Existing KV store designs for persistent memory do not take into account of the latter property, leading to high write amplification and constraining both write and read throughput. In the meantime, a direct re-use of a KV store design intended for block devices, such as LSM-based ones, would cause much higher read latency due to the former property. In this paper, we propose ChameleonDB, a KV store design specifically for this important hybrid memory/storage device by considering and exploiting these two properties in one design. It uses LSM tree structure to efficiently admit writes with low write amplification. It uses an in-DRAM hash table to bypass LSM-tree's multiple levels for fast reads. In the meantime, ChameleonDB may choose to opportunistically maintain the LSM multi-level structure in the background to achieve short recovery time after a system crash. ChameleonDB's hybrid structure is designed to be able to absorb sudden bursts of a write workload, which helps avoid long-tail read latency. Our experiment results show that ChameleonDB improves write throughput by 3.3x and reduces read latency by around 60% compared with a legacy LSM-tree based KV store design. ChameleonDB provides performance competitive even with KV stores using fully in-DRAM index by using much less DRAM space. Compared with CCEH, a persistent hash table design, ChameleonDB provides 6.4x higher write throughput.
引用
收藏
页码:194 / 209
页数:16
相关论文
共 40 条
[1]   Persistent B+ - Trees in Non-Volatile Main Memory [J].
Chen, Shimin ;
Jin, Qin .
PROCEEDINGS OF THE VLDB ENDOWMENT, 2015, 8 (07) :786-797
[2]   FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent Memory [J].
Chen, Youmin ;
Lu, Youyou ;
Yang, Fan ;
Wang, Qing ;
Wang, Yang ;
Shu, Jiwu .
TWENTY-FIFTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXV), 2020, :1077-1091
[3]  
Choi Brian, 2020, ARXIVCSDB200202017
[4]  
Conway A, 2020, PROCEEDINGS OF THE 2020 USENIX ANNUAL TECHNICAL CONFERENCE, P49
[5]  
Cooper B. F., 2010, P ACM S CLOUD COMP S, P143, DOI DOI 10.1145/1807128.1807152
[6]   Dostoevsky: Better Space-Time Trade-Offs for LSM-Tree Based Key-Value Stores via Adaptive Removal of Superfluous Merging [J].
Dayan, Niv ;
Idreos, Stratos .
SIGMOD'18: PROCEEDINGS OF THE 2018 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2018, :505-520
[7]   Monkey: Optimal Navigable Key-Value Store [J].
Dayan, Niv ;
Athanassoulis, Manos ;
Idreos, Stratos .
SIGMOD'17: PROCEEDINGS OF THE 2017 ACM INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2017, :79-94
[8]  
Debnath Biplob, 2016, ACM SIGOPS Operating Systems Review, V49, P18
[9]   Reducing DRAM Footprint with NVM in Facebook [J].
Eisenman, Assaf ;
Gardner, Darryl ;
AbdelRahman, Islam ;
Axboe, Jens ;
Dong, Siying ;
Hazelwood, Kim ;
Petersen, Chris ;
Cidon, Asaf ;
Katti, Sachin .
EUROSYS '18: PROCEEDINGS OF THE THIRTEENTH EUROSYS CONFERENCE, 2018,
[10]  
Facebook, 2020, ROCKSDB PERS KEY VAL