[vmkit-commits] [vmkit] r183675 - Adding Incinerator feature to J3. Moving tests.

Koutheir Attouchi koutheir at gmail.com
Mon Jun 10 09:11:39 PDT 2013


Author: koutheir
Date: Mon Jun 10 11:11:39 2013
New Revision: 183675

URL: http://llvm.org/viewvc/llvm-project?rev=183675&view=rev
Log:
Adding Incinerator feature to J3. Moving tests.

Added:
    vmkit/branches/incinerator/tests/dacapo/2006-10-MR2/Makefile   (with props)
    vmkit/branches/incinerator/tests/dacapo/2006-10/Makefile   (with props)
    vmkit/branches/incinerator/tests/dacapo/9.12-bach/Makefile   (with props)
    vmkit/branches/incinerator/tests/dacapo/Makefile   (with props)
    vmkit/branches/incinerator/tests/dacapo/Makefile.inc   (with props)
    vmkit/branches/incinerator/tests/dacapo/README   (with props)
    vmkit/branches/incinerator/tests/dacapo/augment-dacapo-data.sh   (with props)
    vmkit/branches/incinerator/tests/dacapo/dacapo-avg-overhead.csv   (with props)
    vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on-overhead.plot   (with props)
    vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on.plot   (with props)
    vmkit/branches/incinerator/tests/dacapo/dacapo-tablet-avg-overhead.csv   (with props)
    vmkit/branches/incinerator/tests/dacapo/float.sh   (with props)
    vmkit/branches/incinerator/tests/dacapo/jars/download.sh   (with props)
    vmkit/branches/incinerator/tests/dacapo/reduce-logs.sh   (with props)
    vmkit/branches/incinerator/tests/dacapo/run-all.sh   (with props)
    vmkit/branches/incinerator/tests/dacapo/run-bench.sh   (with props)
    vmkit/branches/incinerator/tests/dacapo/stats-incinerator-dacapo-2006-10-MR2.csv   (with props)
    vmkit/branches/incinerator/tests/dacapo/stats-j3-dacapo-2006-10-MR2.csv   (with props)
    vmkit/branches/incinerator/tests/dacapo/stats-tablet-incinerator-dacapo-2006-10-MR2.csv   (with props)
    vmkit/branches/incinerator/tests/dacapo/stats-tablet-j3-dacapo-2006-10-MR2.csv   (with props)
    vmkit/branches/incinerator/tests/dacapo/synth-avg-overhead.sh   (with props)
    vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-min-max-avg.awk   (with props)
    vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-std-dev.awk   (with props)
    vmkit/branches/incinerator/tests/dacapo/synth-logs.sh   (with props)
Removed:
    vmkit/branches/incinerator/tests/dacapo/tablet-incinerator-dacapo-2006-10-MR2.logs/
    vmkit/branches/incinerator/tests/dacapo/tablet-j3-dacapo-2006-10-MR2.logs/
    vmkit/branches/incinerator/tests/ijvm.isolate.IsolateManager/
    vmkit/branches/incinerator/tests/ijvm.tests.A/
    vmkit/branches/incinerator/tests/ijvm.tests.AImpl/
    vmkit/branches/incinerator/tests/ijvm.tests.BImpl/
    vmkit/branches/incinerator/tests/ijvm.tests.BundleMgmtStress/
    vmkit/branches/incinerator/tests/ijvm.tests.C/
    vmkit/branches/incinerator/tests/ijvm.tests.CImpl/
    vmkit/branches/incinerator/tests/ijvm.tests.DImpl/
    vmkit/branches/incinerator/tests/ijvm.tests.Runner/
    vmkit/branches/incinerator/tests/ijvm.tests.StaticClient/
    vmkit/branches/incinerator/tests/ijvm.tests.StaticExposer/
    vmkit/branches/incinerator/tests/ijvm.tests.loopClient/
    vmkit/branches/incinerator/tests/ijvm.tests.looper/
    vmkit/branches/incinerator/tests/ijvm.tests.tier/
    vmkit/branches/incinerator/tests/ijvm.tests.tierImpl/

Added: vmkit/branches/incinerator/tests/dacapo/2006-10-MR2/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/2006-10-MR2/Makefile?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/2006-10-MR2/Makefile (added)
+++ vmkit/branches/incinerator/tests/dacapo/2006-10-MR2/Makefile Mon Jun 10 11:11:39 2013
@@ -0,0 +1,7 @@
+LEVEL := ..
+DACAPO_VERSION := 2006-10-MR2
+DACAPO_ARGS := -s default
+DECAPO_BENCHMARKS := hsqldb
+# DECAPO_BENCHMARKS := antlr bloat chart eclipse fop hsqldb jython luindex lusearch pmd xalan
+
+include ../Makefile.inc

Propchange: vmkit/branches/incinerator/tests/dacapo/2006-10-MR2/Makefile
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/2006-10/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/2006-10/Makefile?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/2006-10/Makefile (added)
+++ vmkit/branches/incinerator/tests/dacapo/2006-10/Makefile Mon Jun 10 11:11:39 2013
@@ -0,0 +1,6 @@
+LEVEL := ..
+DACAPO_VERSION := 2006-10
+DACAPO_ARGS := -s default
+DECAPO_BENCHMARKS := antlr bloat chart eclipse fop hsqldb jython luindex lusearch pmd xalan
+
+include ../Makefile.inc

Propchange: vmkit/branches/incinerator/tests/dacapo/2006-10/Makefile
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/9.12-bach/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/9.12-bach/Makefile?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/9.12-bach/Makefile (added)
+++ vmkit/branches/incinerator/tests/dacapo/9.12-bach/Makefile Mon Jun 10 11:11:39 2013
@@ -0,0 +1,6 @@
+LEVEL := ..
+DACAPO_VERSION := 9.12-bach
+DACAPO_ARGS := -s default
+DECAPO_BENCHMARKS := avrora batik eclipse fop h2 jython luindex lusearch pmd sunflow tomcat tradebeans tradesoap xalan
+
+include ../Makefile.inc

Propchange: vmkit/branches/incinerator/tests/dacapo/9.12-bach/Makefile
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/Makefile?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/Makefile (added)
+++ vmkit/branches/incinerator/tests/dacapo/Makefile Mon Jun 10 11:11:39 2013
@@ -0,0 +1,9 @@
+LEVEL	:= .
+DIRS	:= 2006-10 2006-10-MR2 9.12-bach
+
+default: all
+
+$(DIRS)::
+	$(MAKE) -C $@ $(MAKECMDGOALS)
+
+all clean: $(DIRS)

Propchange: vmkit/branches/incinerator/tests/dacapo/Makefile
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/Makefile.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/Makefile.inc?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/Makefile.inc (added)
+++ vmkit/branches/incinerator/tests/dacapo/Makefile.inc Mon Jun 10 11:11:39 2013
@@ -0,0 +1,30 @@
+ifdef DEBUG
+	BUILD_MODE	:= Debug+Asserts
+else
+	BUILD_MODE	:= Release+Asserts
+endif
+
+TEMP_LEVEL	:= ../..
+RUN_BENCH	:= $(PWD)/$(LEVEL)/run-bench.sh
+DACAPO		:= $(PWD)/$(LEVEL)/jars/dacapo-$(DACAPO_VERSION).jar
+TMP_DIR		:= $(LEVEL)/tmp
+LOG_DIR		:= $(LEVEL)/logs
+JVM1_PATH	:= $(PWD)/../$(TEMP_LEVEL)/$(LEVEL)/incinerator/$(BUILD_MODE)_NoIncinerator/bin/j3
+JVM2_PATH	:= $(PWD)/../$(TEMP_LEVEL)/$(LEVEL)/incinerator/$(BUILD_MODE)/bin/j3
+
+ifndef ENABLE_JVM1
+	ENABLE_JVM1 := 1
+endif
+
+ifndef ENABLE_JVM2
+	ENABLE_JVM2 := 1
+endif
+
+all: $(VM) $(DECAPO_BENCHMARKS)
+
+$(DECAPO_BENCHMARKS): $(DACAPO)
+	@-$(RUN_BENCH) "$(ENABLE_JVM1)" "jvm1" "$(DACAPO_VERSION)" "$(JVM1_PATH)" "$(DACAPO)" "$(DACAPO_ARGS)" "$@"
+	@-$(RUN_BENCH) "$(ENABLE_JVM2)" "jvm2" "$(DACAPO_VERSION)" "$(JVM2_PATH)" "$(DACAPO)" "$(DACAPO_ARGS)" "$@"
+
+clean:
+	@-rm -rf "$(TMP_DIR)" "$(LOG_DIR)" 2>/dev/null

Propchange: vmkit/branches/incinerator/tests/dacapo/Makefile.inc
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/README
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/README?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/README (added)
+++ vmkit/branches/incinerator/tests/dacapo/README Mon Jun 10 11:11:39 2013
@@ -0,0 +1,12 @@
+* Run benchmarks:
+	./run-all.sh 40 12 2006-10-MR2 'make ENABLE_IJVM=0'
+* The log files describing benchmarks results are in "logs" directory, rename it if desired to keep it for later.
+* Synthesize the logs, augment their statistical data and remove useless data:
+	./reduce-logs.sh logs > stats-logs.csv
+* Modify the file "dacapo-incinerator-off-on.plot" to reflect you new stats file name, then plot charts:
+	./dacapo-incinerator-off-on.plot
+
+* If you have another engine to compare to the first, do the same as above, then generate overhead data:
+	./synth-avg-overhead.sh stats-ref-engine.csv stats-new-engine.csv > dacapo-new-feature-avg-overhead.csv
+* Then plot the results after altering "dacapo-incinerator-off-on-overhead.plot":
+	./dacapo-incinerator-off-on-overhead.plot

Propchange: vmkit/branches/incinerator/tests/dacapo/README
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/augment-dacapo-data.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/augment-dacapo-data.sh?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/augment-dacapo-data.sh (added)
+++ vmkit/branches/incinerator/tests/dacapo/augment-dacapo-data.sh Mon Jun 10 11:11:39 2013
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+# Augment input data with statistical data about them: min, max, average, standard deviation
+
+# Augment statistical data with min, max and average
+data=$(awk -f synth-dacapo-data-min-max-avg.awk)
+header=$(echo "$data" | head -1)
+
+# Integrate augmented information into given input
+data=$(echo "$data" | tail -n $(( $(echo "$data" | wc -l) - 1)) )
+added_data=$(echo "$data" | grep -v ',-,-,-,-')
+
+augmented_data=$header
+
+for i in $added_data ; do
+	key=$(echo "$i" | cut -d ',' -f 1-3)
+	added_value=$(echo "$i" | cut -d ',' -f 5-)
+	augmented_data+=$'\n'
+	augmented_data+=$(echo "$data" | grep "^$key,[^-]" | sed "s/-,-,-,-/$added_value/g")
+done
+
+# Augment statistical data with standard deviation
+data=$(echo "$augmented_data" | awk -f synth-dacapo-data-std-dev.awk)
+
+# Integrate augmented information into given input
+data=$(echo "$data" | tail -n $(( $(echo "$data" | wc -l) - 1)) )
+added_data=$(echo "$data" | grep -v ',-$')
+
+augmented_data=$header
+
+for i in $added_data ; do
+	key=$(echo "$i" | cut -d ',' -f 1-3)
+	added_value=$(echo "$i" | cut -d ',' -f 8)
+
+	augmented_data+=$'\n'
+	augmented_data+=$(echo "$data" | grep "^$key,[^-]" | sed "s/,-/,$added_value/g")
+done
+
+echo "$augmented_data"

Propchange: vmkit/branches/incinerator/tests/dacapo/augment-dacapo-data.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/dacapo-avg-overhead.csv
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/dacapo-avg-overhead.csv?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/dacapo-avg-overhead.csv (added)
+++ vmkit/branches/incinerator/tests/dacapo/dacapo-avg-overhead.csv Mon Jun 10 11:11:39 2013
@@ -0,0 +1,12 @@
+#bench_suite,benchmark,vm,avg_overhead
+2006-10-MR2,antlr,j3,20.81
+2006-10-MR2,bloat,j3,6.44
+2006-10-MR2,chart,j3,7.42
+2006-10-MR2,eclipse,j3,-4.30
+2006-10-MR2,fop,j3,5.36
+2006-10-MR2,hsqldb,j3,7.44
+2006-10-MR2,jython,j3,2.78
+2006-10-MR2,luindex,j3,-9.91
+2006-10-MR2,lusearch,j3,-30.56
+2006-10-MR2,pmd,j3,-10.74
+2006-10-MR2,xalan,j3,9.06

Propchange: vmkit/branches/incinerator/tests/dacapo/dacapo-avg-overhead.csv
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on-overhead.plot
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on-overhead.plot?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on-overhead.plot (added)
+++ vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on-overhead.plot Mon Jun 10 11:11:39 2013
@@ -0,0 +1,31 @@
+#!/usr/bin/gnuplot -p
+
+set datafile separator ","
+set datafile missing '_'
+set datafile commentschars "#"
+
+set ylabel "Average relative overhead (lower is better)"
+set ytics border nomirror
+set grid ytics
+set format y "%.0f %%"
+
+set style data histogram
+set style histogram clustered gap 1
+set bars fullwidth
+set style fill solid border 0
+set boxwidth 1
+
+# set title "Incinerator overhead in Dacapo benchmarks"
+
+set xtics axis nomirror rotate by 20 offset -2,graph -0.5
+set border 3
+
+#set term svg
+#set term postscript clip 12
+#set term latex
+set term wxt 1
+plot	\
+	'dacapo-avg-overhead.csv' using 4:xtic(2) title "Powerful computer" linecolor rgb "orange"
+#	'dacapo-tablet-avg-overhead.csv' using 4:xtic(2) title "Resource-constrained computer" linecolor rgb "grey"
+
+#set xtics axis nomirror rotate by 20 offset 0,graph 0

Propchange: vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on-overhead.plot
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on.plot
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on.plot?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on.plot (added)
+++ vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on.plot Mon Jun 10 11:11:39 2013
@@ -0,0 +1,37 @@
+#!/usr/bin/gnuplot -p
+
+set datafile separator ","
+set datafile missing '_'
+set datafile commentschars "#"
+
+set ylabel "Duration (lower is better)"
+set ytics border nomirror
+set grid ytics
+set yrange [0:*]
+set ydata time
+set timefmt "%S"
+set format y "%M:%S"
+
+set xtics axis nomirror rotate by -20 offset -2
+set border 3
+
+set style data histogram
+set style histogram errorbars gap 1 lw 1
+set bars fullwidth
+set style fill solid border 0
+set boxwidth 1
+
+# set title "Incinerator overhead in Dacapo benchmarks"
+
+#set term svg
+#set term postscript clip 12
+#set term latex
+set term epslatex
+#set term wxt 0
+#set output "dacapo-incinerator-off-on.tex"
+set output "dacapo-incinerator-off-on.eps"
+plot	\
+	'stats-j3-dacapo-2006-10-MR2.csv' using (column(4)/1000.0):(column(7)/1000.0):xtic(2) linecolor rgb "grey" title "J3, powerful computer",	\
+	'stats-incinerator-dacapo-2006-10-MR2.csv' using (column(4)/1000.0):(column(7)/1000.0):xtic(2) linecolor rgb "orange" title "Incinerator, powerful computer"
+#	'stats-tablet-j3-dacapo-2006-10-MR2.csv' using (column(4)/1000.0):(column(7)/1000.0):xtic(2) linecolor rgb "white" title "J3, resource-constrained computer",	\
+#	'stats-tablet-incinerator-dacapo-2006-10-MR2.csv' using (column(4)/1000.0):(column(7)/1000.0):xtic(2) linecolor rgb "red" title "Incinerator, resource-constrained computer"

Propchange: vmkit/branches/incinerator/tests/dacapo/dacapo-incinerator-off-on.plot
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/dacapo-tablet-avg-overhead.csv
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/dacapo-tablet-avg-overhead.csv?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/dacapo-tablet-avg-overhead.csv (added)
+++ vmkit/branches/incinerator/tests/dacapo/dacapo-tablet-avg-overhead.csv Mon Jun 10 11:11:39 2013
@@ -0,0 +1,12 @@
+#bench_suite,benchmark,vm,avg_overhead
+2006-10-MR2,antlr,j3,1.23
+2006-10-MR2,bloat,j3,0.53
+2006-10-MR2,chart,j3,0
+2006-10-MR2,eclipse,j3,6.90
+2006-10-MR2,fop,j3,0.08
+2006-10-MR2,hsqldb,j3,16.91
+2006-10-MR2,jython,j3,-0.04
+2006-10-MR2,luindex,j3,3.20
+2006-10-MR2,lusearch,j3,13.78
+2006-10-MR2,pmd,j3,2.61
+2006-10-MR2,xalan,j3,0.54

Propchange: vmkit/branches/incinerator/tests/dacapo/dacapo-tablet-avg-overhead.csv
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/float.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/float.sh?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/float.sh (added)
+++ vmkit/branches/incinerator/tests/dacapo/float.sh Mon Jun 10 11:11:39 2013
@@ -0,0 +1,36 @@
+#/bin/bash
+
+float_scale=2
+
+# Evaluate then output an equation into a float number with $float_scale precision.
+function float_eval()
+{
+	local stat=0
+	local result=0.0
+	
+	if [[ $# -gt 0 ]]; then
+		result=$(echo "scale=$float_scale; $*"|bc -q 2>/dev/null)
+		stat=$?
+		
+		if [[ "$stat" -eq 0 && -z "$result" ]]; then stat=1; fi
+	fi
+	
+	echo -n $result
+	return $stat
+}
+
+# Evaluate an equation into a condition.
+function float_cond()
+{
+	local cond=0
+	
+	if [[ $# -gt 0 ]]; then
+		cond=$(echo "$*"|bc -q 2>/dev/null)
+		
+		if [[ -z "$cond" ]]; then cond=0; fi
+		if [[ "$cond" != 0 && "$cond" != 1 ]]; then cond=0; fi
+	fi
+	
+	local stat=$(($cond == 0))
+	return $stat
+}

Propchange: vmkit/branches/incinerator/tests/dacapo/float.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/jars/download.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/jars/download.sh?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/jars/download.sh (added)
+++ vmkit/branches/incinerator/tests/dacapo/jars/download.sh Mon Jun 10 11:11:39 2013
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+wget http://sourceforge.net/projects/dacapobench/files/archive/2006-10-MR2/dacapo-2006-10-MR2.jar/download -O dacapo-2006-10-MR2.jar
+wget http://sourceforge.net/projects/dacapobench/files/archive/2006-10/dacapo-2006-10.jar/download -O dacapo-2006-10.jar
+wget http://sourceforge.net/projects/dacapobench/files/9.12-bach/dacapo-9.12-bach.jar/download -O dacapo-9.12-bach.jar

Propchange: vmkit/branches/incinerator/tests/dacapo/jars/download.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/reduce-logs.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/reduce-logs.sh?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/reduce-logs.sh (added)
+++ vmkit/branches/incinerator/tests/dacapo/reduce-logs.sh Mon Jun 10 11:11:39 2013
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+# Removes elementary data and only leave satistical data (min, max, average, standard deviation)
+
+log_dir=$1
+
+./synth-logs.sh "$log_dir" | sed 's/^\([^,]*,[^,]*,[^,]*\),[^,]*/\1/g' | uniq

Propchange: vmkit/branches/incinerator/tests/dacapo/reduce-logs.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/run-all.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/run-all.sh?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/run-all.sh (added)
+++ vmkit/branches/incinerator/tests/dacapo/run-all.sh Mon Jun 10 11:11:39 2013
@@ -0,0 +1,12 @@
+#!/bin/bash 
+
+# Run all Dacapo tests muliples times, logging their results
+# ./run-all.sh 40 12 2006-10-MR2 'sleep $(($RANDOM / 7276))s ; echo Hello'
+
+times=$1
+jn=$2
+dir=$3
+cmd=$4
+
+cd "$dir"
+seq $times | parallel -n0 -j "$jn" -- $cmd

Propchange: vmkit/branches/incinerator/tests/dacapo/run-all.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/run-bench.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/run-bench.sh?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/run-bench.sh (added)
+++ vmkit/branches/incinerator/tests/dacapo/run-bench.sh Mon Jun 10 11:11:39 2013
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# Run a Dacapo benchmark, logging its results
+
+enable=$1
+
+if [ "$enable" -ne "1" ]; then exit 0; fi
+
+vm_name=$2
+bench_version=$3
+jvm=$4
+jar=$5
+vmargs=$6
+bench_name=$7
+
+#dacapo_dir=/home/koutheir/PhD/VMKit/vmkit/tests/dacapo
+dacapo_dir=$HOME/dacapo_benchmarks
+tmp_dir=$dacapo_dir/tmp
+log_dir=$dacapo_dir/logs
+
+suffix=_${bench_version}_${bench_name}_${vm_name}
+
+mkdir -p "$tmp_dir" "$log_dir" 2>/dev/null
+scratch_dir=$(mktemp -d --suffix=$suffix --tmpdir=$tmp_dir)
+log_file=$(mktemp --suffix=${suffix}.log --tmpdir=$log_dir)
+
+curdir=$(pwd)
+cd "$scratch_dir"
+"$jvm" -jar "$jar" $vmargs "$bench_name" > $log_file 2>&1
+r=$?
+
+cd "$curdir"
+rm -rf "$scratch_dir"
+exit $r

Propchange: vmkit/branches/incinerator/tests/dacapo/run-bench.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/stats-incinerator-dacapo-2006-10-MR2.csv
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/stats-incinerator-dacapo-2006-10-MR2.csv?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/stats-incinerator-dacapo-2006-10-MR2.csv (added)
+++ vmkit/branches/incinerator/tests/dacapo/stats-incinerator-dacapo-2006-10-MR2.csv Mon Jun 10 11:11:39 2013
@@ -0,0 +1,12 @@
+#bench_suite,benchmark,vm,avg_duration_ms,min_duration_ms,max_duration_ms,std_dev_duration_ms
+2006-10-MR2,antlr,j3,23844.12,21628.00,30792.00,2089.37
+2006-10-MR2,bloat,j3,44784.18,41862.00,51632.00,1888.43
+2006-10-MR2,chart,j3,127983.77,93646.00,153582.00,14994.01
+2006-10-MR2,eclipse,j3,153188.67,134362.00,165685.00,6405.52
+2006-10-MR2,fop,j3,104318.48,79760.00,116871.00,9762.53
+2006-10-MR2,hsqldb,j3,31109.70,26858.00,33444.00,1640.83
+2006-10-MR2,jython,j3,57968.65,53826.00,63947.00,1865.41
+2006-10-MR2,luindex,j3,33129.62,28667.00,38861.00,2626.92
+2006-10-MR2,lusearch,j3,12023.73,9457.00,15939.00,1380.69
+2006-10-MR2,pmd,j3,39026.12,33250.00,45380.00,3067.13
+2006-10-MR2,xalan,j3,17262.50,12479.00,20394.00,2136.92

Propchange: vmkit/branches/incinerator/tests/dacapo/stats-incinerator-dacapo-2006-10-MR2.csv
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/stats-j3-dacapo-2006-10-MR2.csv
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/stats-j3-dacapo-2006-10-MR2.csv?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/stats-j3-dacapo-2006-10-MR2.csv (added)
+++ vmkit/branches/incinerator/tests/dacapo/stats-j3-dacapo-2006-10-MR2.csv Mon Jun 10 11:11:39 2013
@@ -0,0 +1,12 @@
+#bench_suite,benchmark,vm,avg_duration_ms,min_duration_ms,max_duration_ms,std_dev_duration_ms
+2006-10-MR2,antlr,j3,19735.97,17593.00,30859.00,2801.75
+2006-10-MR2,bloat,j3,42072.12,40035.00,47651.00,1491.42
+2006-10-MR2,chart,j3,119134.68,95089.00,140917.00,11348.92
+2006-10-MR2,eclipse,j3,160059.03,137516.00,207306.00,18388.06
+2006-10-MR2,fop,j3,99011.45,77498.00,119261.00,11201.14
+2006-10-MR2,hsqldb,j3,28953.33,26835.00,30806.00,1068.32
+2006-10-MR2,jython,j3,56398.65,52766.00,58694.00,1249.38
+2006-10-MR2,luindex,j3,36773.30,30243.00,43885.00,4531.07
+2006-10-MR2,lusearch,j3,17314.83,12121.00,27206.00,3245.44
+2006-10-MR2,pmd,j3,43720.15,37125.00,53931.00,5370.74
+2006-10-MR2,xalan,j3,15828.10,11996.00,18063.00,1656.58

Propchange: vmkit/branches/incinerator/tests/dacapo/stats-j3-dacapo-2006-10-MR2.csv
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/stats-tablet-incinerator-dacapo-2006-10-MR2.csv
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/stats-tablet-incinerator-dacapo-2006-10-MR2.csv?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/stats-tablet-incinerator-dacapo-2006-10-MR2.csv (added)
+++ vmkit/branches/incinerator/tests/dacapo/stats-tablet-incinerator-dacapo-2006-10-MR2.csv Mon Jun 10 11:11:39 2013
@@ -0,0 +1,11 @@
+#bench_suite,benchmark,vm,avg_duration_ms,min_duration_ms,max_duration_ms,std_dev_duration_ms
+2006-10-MR2,antlr,j3,95133.00,94023.00,98082.00,1704.82
+2006-10-MR2,bloat,j3,224196.25,222923.00,225075.00,800.50
+2006-10-MR2,eclipse,j3,1522943.75,1483855.00,1556229.00,26265.37
+2006-10-MR2,fop,j3,447227.25,446070.00,448941.00,1136.92
+2006-10-MR2,hsqldb,j3,214365.00,157261.00,272852.00,57093.12
+2006-10-MR2,jython,j3,414262.00,360557.00,437043.00,31345.40
+2006-10-MR2,luindex,j3,184606.75,184160.00,185261.00,431.08
+2006-10-MR2,lusearch,j3,366294.00,366294.00,366294.00,0.00
+2006-10-MR2,pmd,j3,227032.75,225972.00,227952.00,752.53
+2006-10-MR2,xalan,j3,142695.75,140495.00,145385.00,1814.56

Propchange: vmkit/branches/incinerator/tests/dacapo/stats-tablet-incinerator-dacapo-2006-10-MR2.csv
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/stats-tablet-j3-dacapo-2006-10-MR2.csv
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/stats-tablet-j3-dacapo-2006-10-MR2.csv?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/stats-tablet-j3-dacapo-2006-10-MR2.csv (added)
+++ vmkit/branches/incinerator/tests/dacapo/stats-tablet-j3-dacapo-2006-10-MR2.csv Mon Jun 10 11:11:39 2013
@@ -0,0 +1,11 @@
+#bench_suite,benchmark,vm,avg_duration_ms,min_duration_ms,max_duration_ms,std_dev_duration_ms
+2006-10-MR2,antlr,j3,93974.75,93557.00,94328.00,346.48
+2006-10-MR2,bloat,j3,223013.25,221894.00,223472.00,654.47
+2006-10-MR2,eclipse,j3,1424598.50,1394331.00,1470880.00,31836.07
+2006-10-MR2,fop,j3,446827.25,445081.00,450343.00,2061.94
+2006-10-MR2,hsqldb,j3,183353.75,153504.00,271824.00,51078.81
+2006-10-MR2,jython,j3,414416.25,387536.00,441991.00,20936.20
+2006-10-MR2,luindex,j3,178879.50,178687.00,179173.00,179.30
+2006-10-MR2,lusearch,j3,321922.00,286055.00,357789.00,35867.00
+2006-10-MR2,pmd,j3,221250.25,220221.00,223051.00,1129.01
+2006-10-MR2,xalan,j3,141915.50,141309.00,143200.00,749.60

Propchange: vmkit/branches/incinerator/tests/dacapo/stats-tablet-j3-dacapo-2006-10-MR2.csv
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/synth-avg-overhead.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/synth-avg-overhead.sh?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/synth-avg-overhead.sh (added)
+++ vmkit/branches/incinerator/tests/dacapo/synth-avg-overhead.sh Mon Jun 10 11:11:39 2013
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# Generate overhead between a reference engine (e.g. reference VM stats) and another engine (e.g. feature-enabled VM stats).
+# Gets in input two synthesized and reduced stats data.
+
+. ./float.sh
+float_scale=4
+
+ref_stats=$1
+new_stats=$2
+
+ref_header=$(head -1 "$ref_stats")
+
+echo "$(head -1 "$ref_stats" | cut -d ',' -f 1-3),avg_overhead"
+
+for i in $(grep -v '^#' "$ref_stats") ; do
+	key=$(echo "$i" | cut -d ',' -f 1-3)
+	ref_val=$(echo "$i" | cut -d ',' -f 4)
+	new_val=$(grep "^$key," "$new_stats" | cut -d ',' -f 4)
+	overhead=$(float_eval "100.0 * ( $new_val / $ref_val - 1.0 )" )
+	printf "%s,%.2f\n" "$key" "$overhead"
+done

Propchange: vmkit/branches/incinerator/tests/dacapo/synth-avg-overhead.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-min-max-avg.awk
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-min-max-avg.awk?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-min-max-avg.awk (added)
+++ vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-min-max-avg.awk Mon Jun 10 11:11:39 2013
@@ -0,0 +1,48 @@
+BEGIN {
+	FS = ",";
+
+	getline;
+	printf($1 FS $2 FS $3 FS $4 FS "avg_" $4 FS "min_" $4 FS "max_" $4 FS "std_dev_" $4 RS);
+
+	getline;
+
+	bench_suite		= $1;
+	benchmark		= $2;
+	vm				= $3;
+	avg_duration_ms	= $4;
+	min_duration_ms	= $4;
+	max_duration_ms	= $4;
+	count			= 1;
+
+	printf("%s" FS "-" FS "-" FS "-" FS "-" RS, $0);
+}
+/^$/ {}
+{
+	if ($1 == bench_suite && $2 == benchmark && $3 == vm) {
+		avg_duration_ms += $4;
+		if ($4 < min_duration_ms) min_duration_ms = $4;
+		if ($4 > max_duration_ms) max_duration_ms = $4;
+		count++;
+	} else {
+		avg_duration_ms /= count;
+		printf("%s" FS "%s" FS "%s" FS "-" FS "%.2f" FS "%.2f" FS "%.2f" FS "-" RS,
+			bench_suite, benchmark, vm,
+			avg_duration_ms, min_duration_ms, max_duration_ms);
+
+		bench_suite		= $1;
+		benchmark		= $2;
+		vm				= $3;
+		avg_duration_ms	= $4;
+		min_duration_ms	= $4;
+		max_duration_ms	= $4;
+		count			= 1;
+	}
+
+	printf("%s" FS "-" FS "-" FS "-" FS "-" RS, $0);
+}
+END {
+	avg_duration_ms /= count;
+	printf("%s" FS "%s" FS "%s" FS "-" FS "%.2f" FS "%.2f" FS "%.2f" FS "-" RS,
+		bench_suite, benchmark, vm,
+		avg_duration_ms, min_duration_ms, max_duration_ms);
+}

Propchange: vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-min-max-avg.awk
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-std-dev.awk
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-std-dev.awk?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-std-dev.awk (added)
+++ vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-std-dev.awk Mon Jun 10 11:11:39 2013
@@ -0,0 +1,50 @@
+BEGIN {
+	FS = ",";
+
+	getline;
+	print $0;
+
+	getline;
+
+	bench_suite		= $1;
+	benchmark		= $2;
+	vm				= $3;
+	duration_ms		= $4;
+	avg_duration_ms	= $5;
+	min_duration_ms	= $6;
+	max_duration_ms	= $7;
+	std_dev_duration_ms = (duration_ms - avg_duration_ms)^2;
+	count			= 1;
+
+	print $0;
+}
+/^$/ {}
+{
+	if ($1 == bench_suite && $2 == benchmark && $3 == vm) {
+		std_dev_duration_ms += ($4 - $5)^2;
+		count++;
+	} else {
+		std_dev_duration_ms = sqrt(std_dev_duration_ms / count);
+		printf("%s" FS "%s" FS "%s" FS "-" FS "%.2f" FS "%.2f" FS "%.2f" FS "%.2f" RS,
+			bench_suite, benchmark, vm,
+			avg_duration_ms, min_duration_ms, max_duration_ms, std_dev_duration_ms);
+
+		bench_suite		= $1;
+		benchmark		= $2;
+		vm				= $3;
+		duration_ms		= $4;
+		avg_duration_ms	= $5;
+		min_duration_ms	= $6;
+		max_duration_ms	= $7;
+		std_dev_duration_ms = (duration_ms - avg_duration_ms)^2;
+		count			= 1;
+	}
+
+	print $0;
+}
+END {
+	std_dev_duration_ms = sqrt(std_dev_duration_ms / count);
+	printf("%s" FS "%s" FS "%s" FS "-" FS "%.2f" FS "%.2f" FS "%.2f" FS "%.2f" RS,
+		bench_suite, benchmark, vm,
+		avg_duration_ms, min_duration_ms, max_duration_ms, std_dev_duration_ms);
+}

Propchange: vmkit/branches/incinerator/tests/dacapo/synth-dacapo-data-std-dev.awk
------------------------------------------------------------------------------
    svn:executable = *

Added: vmkit/branches/incinerator/tests/dacapo/synth-logs.sh
URL: http://llvm.org/viewvc/llvm-project/vmkit/branches/incinerator/tests/dacapo/synth-logs.sh?rev=183675&view=auto
==============================================================================
--- vmkit/branches/incinerator/tests/dacapo/synth-logs.sh (added)
+++ vmkit/branches/incinerator/tests/dacapo/synth-logs.sh Mon Jun 10 11:11:39 2013
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+# Collect results from benchmarks logs, then synthesize them, producing statistical data about them.
+
+log_dir=$1
+
+log_files=$(find "$log_dir" -name tmp.*)
+
+data=$(echo '#bench_suite,benchmark,vm,duration_ms')
+data+=$'\n'
+data+=$(grep '^===== DaCapo [A-Za-z]\+ PASSED' $log_files | sed 's/^.*\/tmp[^_]\+_//g' | sed 's/ msec =====//g' | sed 's/\.log:===== DaCapo [a-z]\+ PASSED in /_/g' | tr '_' ',' | sort)
+
+echo "$data" | ./augment-dacapo-data.sh

Propchange: vmkit/branches/incinerator/tests/dacapo/synth-logs.sh
------------------------------------------------------------------------------
    svn:executable = *





More information about the vmkit-commits mailing list