Giter VIP home page Giter VIP logo

index-microbench's Introduction

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

    1st arg: workload spec file name 2nd arg: key type (randint = random integer; monoint = monotonically increasing integer; email = email keys with host name reversed)

  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)# index-microbench

Publications

This index benchmarking framework has been used as the experimental environment for the following research papers:

Ziqi Wang, Andrew Pavlo, Hyeontaek Lim, Viktor Leis, Huanchen Zhang, Michael Kaminsky, and David G. Andersen. 2018. Building a Bw-Tree Takes More Than Just Buzz Words. In Proceedings of 2018 International Conference on Management of Data (SIGMOD’18). ACM, New York, NY, USA, 16 pages. https://doi.org/10.1145/3183713.3196895

index-microbench's People

Contributors

hyeontaek avatar wangziqi2013 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

index-microbench's Issues

Script not working

I get an error when I run the script.

I put these two lines in workload_config.inp:

workloade
randint

But then when I run make generate_workload
I get the following error:

$ make generate_workload
python gen_workload.py workload_config.inp
workload = workloade
key type = randint
sh: workloads/ycsb_load_randint_workloade: No such file or directory
sh: workloads/ycsb_txn_randint_workloade: No such file or directory
Traceback (most recent call last):
  File "gen_workload.py", line 65, in <module>
    f_load = open (out_ycsb_load, 'r')
IOError: [Errno 2] No such file or directory: 'workloads/ycsb_load_randint_workloade'
make: *** [generate_workload] Error 1

How should I generate the workloads/ycsb_* files that the script is asking for?

ARTOLC segfaults for workload a

I am using a fork of the branch (https://github.com/ajitmathew/index-microbench) to benchmark ART. The modification to the fork consists of commits to fix some compile errors. For workload A, art segfaults even for one thread.

  ./workload a rand artolc 1
 Error: unsupported processor. Only Intel(R) processors are supported (Atom(R) and microarchitecture codename Nehalem/Nehalem-EP, Atom(tm), Westmere/Clarkdale, Sandy Bridge, Westmere-EP, Sandy Bridge-EP/Jaketown, Nehalem-EX, Westmere-EX, Ivy Bridge, Haswell, Broadwell, Ivy Bridge-EP/EN/EX/Ivytown, Haswell-EP/EN/EX, Broadwell-EP/EX, Broadwell-DE, Knights Landing, Skylake, Kabylake). CPU model number: 85 Brand: "Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz"
Number of threads: 1
  BwTree will collect statistics
Leaf delta chain threshold: 24; Inner delta chain threshold: 2
  BTree element pair count: 255
Loaded 50001 keys
Finished loading workload file (mem = 1415576)
Populating the index with 50001 keys using 1 threads
insert 3.54819
# of Txn: 10000000
Segmentation fault (core dumped)

I am using Fedora 28 and all the dependency are installed using dnf.

Changing value sizes

Hi,
I am using index-microbench for my evaluations, I wanted to generate 8-byte keys and 64-byte values.
when I changed the field length parameter (field length=1 to fieldlength=64) in the workload file still the value generated is 8 bytes. Can some help me with this? any help is appreciated.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.