ZBTree: A Write Optimized High Performance B+-Tree for Persistent Memory
Please follow their guidence to install related dependecies.
Our system requires Optane Persistent memory device to run. If you're new to this field, please refer to this link to properly config your PMem device before the next steps. First, you need to mount your PMem to your system:
sudo mkdir /mnt/pmem
sudo mkfs.ext4 /dev/pmem0
sudo mount -o dax /dev/pmem0 /mnt/pmem
Now, tape the commond to show mounted list and you should see the output like this.
sudo mount -l|grep pmem
/dev/pmem0 on /mnt/pmem type ext4 (rw,relatime,dax=always)
If you use different PMem path, you should also change the path in all_tree.hpp
call make to generate dynamic lib for ZBTree and binary for benchmark.
change indices name in command line: For example, if you want to compile FP-Tree:
make fptree
after generate workload follow YCSB, please change the path in main.cpp to your workload's path
sudo ./main {workload_type} {threads}
To run in different workloads and threads, just change the args in command line.
Add defination during make:
-DLATENCY : tail latency test
-DVAR_TEST : long value test
-DPCMM : bandwidth and cache hit rate test
-DRUN_SIMPLE : simple test that insert key[1-1000] and search them
See .sh
files for more details.