-
Download YCSB
curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.11.0/ycsb-0.11.0.tar.gz tar xfvz ycsb-0.11.0.tar.gz mv ycsb-0.11.0 YCSB
-
Create Workload Spec
The default workload a-f are in ./workload_spec
You can of course generate your own spec and put it in this folder.
-
Modify workload_config.inp
The workload configuration file is a csv file containing the following two columns:
workload: workload spec name keytype: key type (randint = random integer; monoint = monotonically increasing integer; email = email keys with host name reversed)
For each line (except the header line) in the workload configuration file a workload is generated. The generated workload ares stored in the folder ./workloads. Each workload consists of the following two files: ./workloads/_load.dat and ./workloads/_txn.dat
-
Generate
make generate_workload
The generated workload files will be in ./workloads
-
NOTE: To generate email-key workloads, you need an email list (list.txt)
-
Ensure papi is available
e.g. on centos
sudo dnf install papi papi-devel
-
Build
-
Using make
make all
- Using cmake
mkdir build
cd build
cmake ..
make
- Running
To run ensure that your working directory is the root of the index-microbench project.
<path-to-executable>/workload <workload_name> <index_structure_name>
The workload_name is the name of a workload generated using the workload generator. The index_structure_name is either art or btree.