Sepideh Roghanchi, Jakob Eriksson, Nilanjana Basu (SOSP '17)
This file has instuctions on how to use the benchmarks provided in this repository, for more information, please send an email to [email protected].
The ffwd code and the benchmarks are developed and tested on 4 different machines. To get the best result compatibility the machine specifications and dependencies are provided below:
uname -a: Linux 3.8.0-29-generic #42~precise1-Ubuntu SMP Wed Aug 14 16:19:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux gcc version: gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 2.4 GHz
uname -a: Linux 4.0.7 #2 SMP Wed Jul 1 19:50:57 CDT 2015 x86_64 x86_64 x86_64 GNU/Linux gcc version: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 2.20 GHz
uname -a: Linux 2.6.37.6 #408 SMP Sun Oct 9 22:07:58 PDT 2016 x86_64 x86_64 x86_64 GNU/Linux gcc version: gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3 2.00 GHz
uname -a: Linux 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux gcc version: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 2.20 GHz
libnuma and PAPI need to be installed prior to compile the benchmarks.
The include directory contains the ffwd library and a simple sample code called "ffwd_sample.c": to compile: make ffwd_sample to run: ./ffwd_sample -t NUM_THREADS -s NUM_SERVERS -d DURATION_IN_MS
For memcached benchmarks, run './configure.sh' in the current directory for once In order to compile all the benchmarks, run 'make' or run 'make BENCHMARK_NAME' to compile a specific benchmark.
In the scripts directory, you can find scripts to run and plot the results. For each benchmark the results will be stored a directory named "results/" under the benchmarks directory.