Skip to content
Snippets Groups Projects
Commit 9cdfc3be authored by Jan Waller's avatar Jan Waller
Browse files

updated Readme

parent 97ac6c3d
No related branches found
No related tags found
No related merge requests found
...@@ -7,23 +7,33 @@ Contact: moobench@notme.de ...@@ -7,23 +7,33 @@ Contact: moobench@notme.de
The MooBench micro-benchmarks can be used to quantify the performance The MooBench micro-benchmarks can be used to quantify the performance
overhead caused by monitoring framework components. overhead caused by monitoring framework components.
Currenly supported monitoring frameworks include: Currenly (directly) supported monitoring frameworks include:
* Kieker (http://kieker-monitoring.net) * Kieker (http://kieker-monitoring.net)
* inspectIT (http://inspectit.eu/) * inspectIT (http://inspectit.eu/)
* SPASSmeter * SPASS-meter (https://github.com/SSEHUB/spassMeter.git)
An ant script (build.xml) is provided to prepare the benchmark for the An ant script (build.xml) is provided to prepare the benchmark for the
respective monitoring framwork. Corresponding build targets, providing respective monitoring framwork. Corresponding build targets, providing
preconfigured build for each supported framework, are available. preconfigured builds for each supported framework, are available.
For instance, the target "build-kieker" prepares a jar for Kieker For instance, the target "build-kieker" prepares a jar for Kieker
benchmarking experiments. benchmarking experiments.
The relevant build targets are:
* build-all (framework independant benchmark)
* build-kieker (Kieker)
* build-inspectit (inspectIT)
* build-spassmeter (SPASS-meter)
All experiments are started with the provided "External Controller" All experiments are started with the provided "External Controller"
scripts. These scripts are available inside the respective bin/ scripts. These scripts are available inside the respective bin/
directory. Currently only shell (.sh) scripts are provided. directory. Currently only shell (.sh) scripts are provided. These
scripts have been developed on Solaris environments. Thus, minor
adjustments might be required for common Linux operatong systems,
such as Ubuntu. Additionally, several Eclipse launch targets are
provided for debugging purposes.
The default execution of the benchmark requires a 64Bit JVM! The default execution of the benchmark requires a 64Bit JVM!
This can be changed in the respective .sh scripts. However, this behavior can be changed in the respective .sh scripts.
Initially, the following steps are required: Initially, the following steps are required:
1. You should check whether you installed ant (http://ant.apache.org/), 1. You should check whether you installed ant (http://ant.apache.org/),
...@@ -37,19 +47,30 @@ Initially, the following steps are required: ...@@ -37,19 +47,30 @@ Initially, the following steps are required:
Execution of the micro-benchmark: Execution of the micro-benchmark:
All benchmarks are started with calls of .sh scripts in the bin folder. All benchmarks are started with calls of .sh scripts in the bin folder.
The top of the files include some configuration parameters, such as The top of the files include some configuration parameters, such as
* SLEEPTIME between executions * SLEEPTIME between executions (default 30 seconds)
* NUM_LOOPS number of repetitions * NUM_LOOPS number of repetitions (default 10)
* THREADS concurrent benchmarking threads * THREADS concurrent benchmarking threads (default 1)
* MAXRECURSIONDEPTH recursion up to this depth * MAXRECURSIONDEPTH recursion up to this depth (default 10)
* TOTALCALLS the duration of the benchmark * TOTALCALLS the duration of the benchmark (deafult 2,000,000 calls)
* METHODTIME the time per monitored call * METHODTIME the time per monitored call (default 0 ns or 500 us)
Furthermore some JVM arguments can be adjusted: Furthermore some JVM arguments can be adjusted:
* JAVAARGS JVM Arguments * JAVAARGS JVM Arguments (e.g., available memory)
Typical call: Typical call (using Solaris):
$ nohup ./benchmark.sh & sleep 1;tail +0cf nohup.out $ nohup ./benchmark.sh & sleep 1;tail +0cf nohup.out
Experiments (outdated):
Analyzing the data:
===================
In the folder /bin/r are some R scripts provided to generate graphs to
visualize the results. In the top the files, one can configure the
required paths and the configuration used to analyze the data.
(Outdated) Documentation of additional experiments:
===================================================
Different recursion depth (with MAXRECURSIONDEPTH=1 without recursion) Different recursion depth (with MAXRECURSIONDEPTH=1 without recursion)
-> bin/run-benchmark-recursive.sh -> bin/run-benchmark-recursive.sh
...@@ -65,8 +86,3 @@ The experiments run-cycle*.sh and their used files ...@@ -65,8 +86,3 @@ The experiments run-cycle*.sh and their used files
run-benchmark-cycle-*.sh are currently only supporting Solaris run-benchmark-cycle-*.sh are currently only supporting Solaris
environments and require pfexec permissions to assign subsets of cores environments and require pfexec permissions to assign subsets of cores
to the benchmarking system. to the benchmarking system.
Analyzing the data:
in the folder /bin/r are some R scripts provided to generate
graphs to visualize the results. In the top the files, one can configure
the required paths and the configuration used to analyze the data.
...@@ -10,5 +10,5 @@ ...@@ -10,5 +10,5 @@
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="mooBench.benchmark.Benchmark"/> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="mooBench.benchmark.Benchmark"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-d 10 -h 1 -m 0 -t 1000 -o tmp/test.txt -q"/> <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-d 10 -h 1 -m 0 -t 1000 -o tmp/test.txt -q"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="MooBench"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="MooBench"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-javaagent:frameworks/Kieker/lib/kieker-1.9-SNAPSHOT_aspectj.jar&#13;&#10;-Dorg.aspectj.weaver.loadtime.configuration=META-INF/kieker.aop.xml&#13;&#10;-Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.verbose=true"/> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-javaagent:frameworks/Kieker/lib/kieker-1.10-SNAPSHOT_aspectj.jar&#13;&#10;-Dorg.aspectj.weaver.loadtime.configuration=META-INF/kieker.aop.xml&#13;&#10;-Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.verbose=true"/>
</launchConfiguration> </launchConfiguration>
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