Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / src / dmclock / benchmark / README.md
1 # dmclock benchmarking
2
3 **IMPORTANT**: now that K_WAY_HEAP is no longer allowed to have the
4 value 1, the shell and Python scripts that generate the PDFs no longer
5 work exactly correctly. Some effort to debug is necessary.
6
7 This directory contains scripts to evaluate effects of different
8 branching-factors (k=1 to k=11) in the IndirectIntrusiveHeap
9 data-structure. IndirectIntrusiveHeap is now a k-way heap, so finding
10 an ideal value for k (i.e., k=2 or k=3) for a particular work-load is
11 important. Also, it is well-documented that the right choice of
12 k-value improves the caching behaviour [Syed -- citation needed
13 here]. As a result, the overall performance of an application using
14 k-way heap increases significantly [Syed -- citation needed here].
15
16 A rule of thumb is the following:
17         if number of elements are <= 6, use k=1
18         otherwise, use k=3.
19
20 ## Prerequisites
21
22 requires python 2.7, gnuplot, and awk.
23   
24 ## Running benchmark
25
26 ./run.sh [name_of_the_output] [k_way] [repeat] # [Syed -- last two command line args do not work]
27
28 The "run.sh" script looks for config files in the "configs" directory,
29 and the final output is generated as
30 "name_of_the_output.pdf". Internally, "run.sh" calls other scripts
31 such as data_gen.sh, data_parser.py, and plot_gen.sh.
32
33 ## Modifying parameters
34
35 To modify k-value and/or the amount of times each simulation is
36 repeated, modify the following two variables in "run.sh" file:
37
38     k_way=[your_value]
39     repeat=[your_value]
40
41 For example, k_way=3 means, the benchmark will compare simulations
42 using 1-way, 2-way, and 3-way heaps.