jliu9 / KVell

KVell: the Design and Implementation of a Fast Persistent Key-Value Store

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KVell: the Design and Implementation of a Fast Persistent Key-Value Store


NOTE: Switch to the "osdi" branch for the code and README related to "KVell+: Snapshot Isolation Without Snapshots".


Compiling and reproducing results

To run KVell on an Amazon i3.metal instance and reproduce results:

# Create an Ubuntu Server 18.04 LTS instance on an i3.metal machine and install dependencies
sudo apt install make clang autoconf libtool

# Install gpertools (optionnal, but KVell will be slower without TCMalloc):
cd ~
git clone https://github.com/gperftools/gperftools.git
cd gpertools
./autogen.sh
./configure
make -j 36

# Install KVell
cd ~
git clone https://github.com/BLepers/KVell
cd KVell
make -j
sudo ./scripts/config-aws.sh
./script/run-aws.sh

You should get results similar to these stored in ./scripts/sample_results/ (./scripts/parse.pl ./scripts/sample_results/log* to see summary).

Modifying the code and running custom benchmarks

See OVERVIEW.md to understand the logic of the code.

License

This project is licensed under the MIT License - see the LICENSE file for details

Papers

Baptiste Lepers, Oana Balmau, Karan Gupta, and Willy Zwaenepoel. 2019. KVell: the Design and Implementation of a Fast Persistent Key-Value Store. In Proceedings of SOSP’19: ACM Symposium on Operating Systems Principles (SOSP’19) [pdf].

Baptiste Lepers, Oana Balmau, Karan Gupta, and Willy Zwaenepoel. 2021. KVell+: Snapshot Isolation Without Snapshots. In Proceedings of OSDI’20: USENIX Symposium on Operating Systems Design and Implementation (OSDI’20) [pdf].

About

KVell: the Design and Implementation of a Fast Persistent Key-Value Store

License:MIT License


Languages

Language:C 72.8%Language:C++ 22.8%Language:Gnuplot 2.1%Language:Shell 1.7%Language:Makefile 0.3%Language:Perl 0.2%