Skip to content

zhongjie-wu/MatrixKV

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MatrixKV

1 Introduction

This is the implementation of the paper "MatrixKV: Reducing Write Stalls and Write Amplification in LSM-tree Based KV Stores with a Matrix Container in NVM" appeared in ATC 2020. We implement MatrixKV based on RocksDB and evaluate it on a hybrid DRAM/NVM/SSD system using Intel's latest 3D Xpoint NVM device Optane DC PMM.

2 Compilation and Run

2.1 Tools

MatrixKV acesses NVM via PMDK. To run MatrixKV, please install PMDK first.

2.2 Compilation

We only support Makefile instead of cmake currently.

> make -j64   

2.3 Run

To run MatrixKV, please modify the configuration in include/rocksdb/option.h.

std::shared_ptr<NvmSetup> nvm_setup = nullptr;

To learn more about NvmSetup, please refer to include/rocksdb/nvm_option.h.

To test with db_bench, please refer to the test script test_sh/matrixkv_test_4value.sh and follow the next two steps:

> ./tesh_sh/matrixkv_test_4value.sh
> nohup ./tesh_sh/matrixkv_test_4value.sh >out.out 2>&1 &     ##Run in the background

3 MatrixKV's differences with RocksDB

MatrixKV is implemented based on RocksDB Version v5.18.3. If you want to have RocksDB under the same version, do:

> git checkout 641fae60f63619ed5d0c9d9e4c4ea5a0ffa3e253

To check the difference between RocksDB and MatrixKV, please do:

> git reset --mixed 641fae60f63619ed5d0c9d9e4c4ea5a0ffa3e253

4 Acknowledgement

We appreciate PingCap and Intel for the hardware support and maintenance.

5 Contributors

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 81.6%
  • Java 10.6%
  • Perl 1.8%
  • Python 1.6%
  • Shell 1.5%
  • C 1.4%
  • Other 1.5%