speedskater / index-microbench

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

index-microbench

Generate Workloads

  1. 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
  2. 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.

  3. 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

  4. Generate

    make generate_workload

    The generated workload files will be in ./workloads

  5. NOTE: To generate email-key workloads, you need an email list (list.txt)

  6. Ensure papi is available

e.g. on centos

sudo dnf install papi papi-devel
  1. Build

  2. Using make

make all 
  1. Using cmake
mkdir build
cd build
cmake ..
make
  1. 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.

About


Languages

Language:C++ 97.6%Language:Python 1.8%Language:CMake 0.4%Language:Makefile 0.3%