Skip to content
Snippets Groups Projects
Commit 82abea7d authored by Simon Ehrenstein's avatar Simon Ehrenstein
Browse files

Merge branch '48-step-strategy' into 49-add-binary-search-strategy

parents 05ab9f42 bb4b32fd
No related branches found
No related tags found
2 merge requests!39Add Support for Benchmarking Strategies,!36Implement Benchmarking Strategy: Heuristic 2 (Binary Search Strategy)
......@@ -158,9 +158,9 @@ The `./theodolite.sh` is the entrypoint for all benchmark executions. Is has to
* `<duration>`: Duration in minutes subexperiments should be executed for. Optional. Default `5`.
* `<strategy>`: The benchmarking strategy. Can be set to `default` or `step`. For more details see Section _Benchmarking Strategies_. Default `default`.
### <a name="benchmarking-strategies"></a>Benchmarking Strategies
### Benchmarking Strategies
There are the following benchmarking strategies:
* `default`: Execute a subexperiment for each combination of the number of replicas (N), and the number of workload intensities (M). The amount of executed subexperiments is N*M.
* `step`: After each subexperiment, it is checked, whether the application could handle the workload. If the workload could be handled, the workload intensity is increased in the next subexperiment. Otherwise, the workload intensity is kept the same and the number of instances is increased. The amount of executed subexperiments is at most N+M-1.
* `default`: Execute a subexperiment for each combination of the number of replicas (N), and the number of workload intensities (M). The amount of executed subexperiments is always N*M.
* `step`: A heuristic which works as follows: After each subexperiment, it is checked, whether the application could handle the workload. If the workload could be handled, the workload intensity is increased in the next subexperiment. Otherwise, the workload intensity is kept the same and the number of instances is increased. The amount of executed subexperiments is at most N+M-1.
......@@ -68,7 +68,7 @@ def subexperiment_evaluator_execute():
pp.pprint(expected_order[experiment_counter])
assert expected_order[experiment_counter] == last_experiment
print("Index was as expected. Evaluation finished.")
return successful[last_experiment[0]][last_experiment[1]]
return 1 if successful[last_experiment[0]][last_experiment[1]] else 0
subexperiment_evaluator.execute = subexperiment_evaluator_execute
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment