A set of algorithms and benchmarks for persistent memory (PMem). The algorithms are described in two research papers:
- There is a short version published at DaMoN.
- And an extended version that appeared in the VLDBJ 2020.
Each algorithm and experiment has a benchmark script to compile and run it in the reproduce/ folder. If, for example, you are interested in measuring the read latency of your PMem device, have a look at reproduce/latency_read.sh. These file also contain instructions (already in executable bash syntax) on how to compile and use the code.
The source code of the algorithms and experiments are contained in the respective their folders on the root level of the project. For example, the read latency experiment can be found in latency.
The benchmark scripts (in reproduce/) print their results to stdout
and also create a log file in results/ using tee
.
The output is in an easy to parse format and can be used for creating plots (not included in the repository as the ones in the paper are pgfplots).
Note that the source code is a prototype implementation for a research paper. There might be bugs and other limitations. If you find an issue or run into troubles feel free to contact me via an issue in this repository.
You are free to choose any of the above licences when using the source code. However, I encourage you in a non binding way to follow the blessing from the SQLite folks:
May you do good and not evil.
May you find forgiveness for yourself and forgive others.
May you share freely, never taking more than you give.
Alexander van Renen