On Debian/Ubuntu Linux, execute below statement or bootstrap_apt.sh.
$ sudo apt update -y
$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev cmake cmake-curses-gui libboost-filesystem-dev
$ git clone this_repository
$ cd ccbench
$ git submodule init
$ git submodule update
$ "run some (bootstrap*.sh) files"
- Processing of bootstrap.sh :
Build third_party/masstree. - Processing of bootstrap_mimalloc.sh :
Build third_party/mimalloc. - Processing of bootstrap_tbb.sh :
Build third_party/tbb
Export LD_LIBRARY_PATH to appropriate paths.
Each protocols has own Makefile(or CMakeLists.txt), so you should build each.
Prepare gflags for command line options.
$ cd third_party/gflags
$ mkdir build
$ cd build
$ ccmake ..
- Press 'c' to configure the build system and 'e' to ignore warnings.
- Set CMAKE_INSTALL_PREFIX and other CMake variables and options.
- Continue pressing 'c' until the option 'g' is available.
- Then press 'g' to generate the configuration files for GNU Make.
$ make -j && make install
Prepare glog for command line options.
./autogen.sh && ./configure && make -j && make install
This is a submodule.
usage:
git submodule init
git submodule update
tanabe's wrapper is include/masstree_wrapper.hpp
https://github.com/thawk105/ccdata
This system uses third_party/gflags and third_party/glog.
So you can use without runtime arguments, then it executes with default args.
You can also use runtime arguments like below.
Note that args you don't set is used default args.
$ ./cicada.exe -tuple_num=1000000 -thread_num=224
- It uses xoroshiro128plus which is high performance random generator.
- It is friendly to Linux vertual memory system.
- It uses high performance memory allocator mimalloc/tbd appropriately.
- It reduces memory management cost by our original technique.
- It refrain from creating temporary objects to improve performance as much as possible.
- It fixed bug of original cicada.
- It modifies almost protocols appropriately to improve performance.
Welcom pull request about
- Improvement of performance in any workloads.
- Bug fix.
- Improvement about comments (doxygen style is recommended).
- Improvement of versatile.
- Extending CCBench
- Reference materials : #7
- doxygen
- Jenkins
- google test
- improve software architecture
Takayuki.T dedicates special thanks to ...
- Cybozu Labs Youth 8th term supported this activity. (2018/4/10 - 2019/4/10)
- Takashi Hoshino who is very kind advisor from Cybozu Labs Youth.
- Hideyuki Kawashima/Osamu Tatebe who is very kind supervisor.