Commit c8adc9a2 authored by Christian Wulf's avatar Christian Wulf

removed experiments folder

parent ef080414
50;99703319;104370927;106408499;109646670;119511261;107238473;1193008
100;199020106;208153845;213291928;218217473;232246810;213023365;1955142
150;337297889;355560758;374306543;383545922;396757945;370360416;4929915
200;467816371;495637042;516368133;534205012;559056847;516459829;6232480
250;596127470;638856007;661346771;682121844;695630448;657343736;7369335
300;716906859;742194975;769882958;782240095;830910818;769855241;8747627
350;850336524;881553010;900993919;929031728;955373859;902102545;8244969
400;969656446;1006937063;1023078332;1038249029;1075693049;1025527167;7191492
450;1062203254;1117993711;1135809741;1157953147;1196129302;1136791217;8549326
500;1194488793;1247819027;1265504819;1285478406;1338339829;1267369035;8747083
550;1298891408;1360376230;1383581626;1396040687;1446252630;1379434067;8288796
600;1411700331;1476794279;1495615473;1531373285;1563679683;1497879441;10907616
650;1523133256;1592382895;1634060782;1653097655;1703704527;1623416690;11309726
700;1651870606;1712296106;1745785579;1773041064;1833366800;1744948478;10870921
750;1799434427;1857202331;1885811314;1901945050;1971356158;1884567832;11106500
800;1945131323;1988332302;2016273307;2047321799;2101658581;2021289324;12028477
850;2033874834;2087867598;2122065580;2144124665;2227767654;2121055456;11960673
900;2128397748;2196552897;2252379476;2289845931;2360001206;2248629789;15635257
950;2276660049;2357153010;2409342166;2455613183;2543463792;2410879283;17592400
1000;2397618110;2483455455;2537434804;2586458979;2648410314;2536206534;17752209
50;42972259;45705357;47674512;49547679;57755333;47888261;929367
100;85877309;88345443;89831326;91647941;110193010;90534690;1108752
150;126542704;127838796;129663613;132717583;138291205;130759226;849159
200;163076624;169231946;171284689;173014501;177875192;171042545;1003788
250;202760043;212712891;216424930;222157391;243168778;217828254;2127960
300;244925102;254847492;261454494;268472096;279746994;262023035;2473294
350;295270442;303466249;311341637;319395334;333577327;311815751;2871671
400;341138790;352799999;362377914;368274816;384423758;361844612;2798439
450;396709128;406946841;414903572;421594412;448577762;415427408;3346928
500;436940925;455844783;463249285;471076154;487311733;463060680;3505921
550;490942852;503270240;513216035;525717230;553667863;514508002;3871242
600;534018864;551909955;563407664;576517848;608233860;564258423;4708689
650;585511008;603485683;612588236;620917386;649830018;612712354;3755875
700;625806026;644548893;653980673;668725528;688883586;656102636;5037661
750;660155249;679620551;693767944;709739711;737548853;694983836;5521214
800;706846579;722188246;733573899;754445900;797507209;738714440;6181884
850;756893281;773948241;788668441;803770175;832249265;789954631;5736511
900;802499245;820658704;835403073;848752408;864517350;835618338;4730065
950;847020492;870432045;889375145;898214737;928178183;886081861;5345163
1000;894084162;917140730;929015152;933826580;961602850;927688230;4714804
50;55192543;57460829;58720631;59471070;68356974;59104739;719930
100;112944771;116962912;117861099;118904107;124795567;118259015;615219
150;197336862;200525571;205128265;209809954;225915873;207242848;2129381
200;260795647;271667216;277632111;284376702;300601405;278976020;2332638
250;327968010;341060761;349715827;355444620;368655570;349381117;2711402
300;403260622;416040618;427751567;443155321;524093929;436648353;7841529
350;455973935;480969562;486255697;491892622;514066129;486514784;3087561
400;523391178;545019921;551934495;558768028;595911407;552970569;3985442
450;583940657;617119729;627036353;635250811;655591958;626617622;4611909
500;651924313;686916142;698362024;710417619;736700549;699362609;4297125
550;718410894;746477031;758306178;769407998;798066295;757779167;5100886
600;784048733;806062203;824597615;834223718;866035907;822537789;6077305
650;820801534;866889624;890863892;907769109;927715874;886504298;8091027
700;878869736;938875330;969254517;980259204;1003336163;959789010;8279975
750;947249238;990684606;1025992409;1054315713;1097805499;1023776953;10511749
800;1013643367;1060443277;1088546570;1112696087;1156581718;1086779670;9252808
850;1079448262;1132988082;1174349429;1190311404;1218065370;1162456069;10698345
900;1128981351;1179976115;1221295916;1252696169;1273740652;1214642477;11873606
950;1213440441;1291227789;1314440792;1330603470;1356654685;1305970559;10281130
1000;1265263467;1321908614;1374805076;1412596204;1446151226;1368249384;14828493
50;23719147;24224415;24556480;24966661;26641911;24637375;156333
100;46846428;49305179;49937419;50441516;53028410;49837454;320676
150;68027249;72912564;74121167;74971958;85937441;74059844;718037
200;91326560;94605673;98486892;99291749;104344707;97521426;850592
250;114627335;117963206;119062680;120667420;125979594;119414557;729333
300;138366962;141700200;144498037;147383643;156184995;145001711;1170621
350;164774526;169447144;173284771;176384246;184307305;173218474;1345961
400;188961491;197178290;200394792;204703163;211820487;200851802;1637455
450;215202583;219689421;224042261;228881936;241205231;225549979;1993251
500;237638231;246374339;255144679;262169843;270582370;255362981;2699593
550;262621570;275312625;282884893;287775183;296126563;281203096;2489021
600;287798003;296009243;305027095;312065425;327250923;306079032;3088091
650;313336053;321866485;327989659;337157307;353032096;330145073;3093973
700;338501660;346819103;353133911;360440819;381988228;354366240;2742501
750;360091200;367737781;373113735;379424154;388375008;373389434;1921847
800;379083896;394145053;414746293;429602065;495171735;416848289;7638394
850;402335812;415287838;424387902;433808621;446666441;424498095;2969743
900;434722314;443555848;450499093;456066387;498858103;451649404;3461327
950;448993241;460752464;469636905;475704492;491897889;469305365;2954267
1000;479168215;490081328;494116147;500748684;519045359;495833420;2542993
50;213288022;221332661;224869330;226740501;292880519;226981248;3394698
100;428366753;440645131;447250470;452626290;469420849;447253237;2502077
150;685240575;696427369;707731163;712835213;734419362;706963941;3174182
200;926724655;960090857;974751099;985512590;1008813961;971116232;5485152
250;1181356193;1199890144;1230271423;1254058035;1435951193;1232944413;11502559
300;1404383088;1451900893;1475425591;1494546592;1530113206;1475832510;8629307
350;1643973007;1702753553;1723329453;1744498971;1772843227;1720735815;8429278
400;1883990693;1926251730;1961868018;1998996267;2028847559;1960663941;11520331
450;2093457553;2160674377;2196177360;2237898969;2337703230;2200014926;13484216
500;2351931190;2403737744;2440280586;2493890164;2675840385;2451017238;17919723
550;2620308321;2741547299;2778395572;2804673658;3167646315;2775641001;24014167
600;2822565959;2984355731;3011144099;3041297126;3117151797;3007385484;17716813
650;3096633370;3206939671;3257238779;3297084291;3555764011;3251618903;24112459
700;3353953023;3509161265;3549487091;3584125098;3788453833;3545014072;23459360
750;3593827025;3725989652;3790618529;3834291360;3942594712;3784587299;22531680
800;3994363498;4096651433;4161083259;4201211211;4329658181;4156200037;22852870
850;4245739166;4390972894;4467851413;4545305899;4871212706;4478115175;38396394
900;4534080926;4728535725;4784857228;4865421026;5009165781;4799001858;29669971
950;4882368300;5107065209;5150676462;5217475373;5564924455;5155846903;36288606
1000;5353426320;5517819639;5568789133;5648063473;5825645303;5572898368;27980146
50;37409870;39712091;40551614;41872681;46981249;40825827;520100
100;74848886;77594063;79350288;82620526;96710959;80682800;1242332
150;109509472;113130299;114992028;116545042;141809133;116038733;1445413
200;149576667;154103932;158648849;160472809;166534204;157647883;1147641
250;186351044;195045954;197574786;200420541;205740939;197833070;1161424
300;227567297;236209249;239537372;240841608;254943126;238988007;1273608
350;263962350;274421694;278554856;282444575;297325268;278963959;1906965
400;301652197;310932104;318158978;324177268;347633408;318831228;2748566
450;345764700;350349028;356190792;361479579;374075294;356693717;1938489
500;385523591;394501763;402854706;409270794;428996087;402743847;2759305
550;418006345;431712117;437322756;448968927;466004463;440010788;3243488
600;462762141;478331694;486726100;497015897;513094090;487001266;3464966
650;498716701;509037287;521511896;527900069;613747728;521387975;4867196
700;548439432;565718820;571012535;576878519;593948540;571424372;2690897
750;601339623;610144553;617716268;624627039;641422007;618261584;2674503
800;622111344;642761960;653135914;658724386;715327919;651870382;4386503
850;655329758;672637472;688432814;697900331;721996068;686312192;4610008
900;685596911;721248914;730479558;739256163;760854679;730598323;4593658
950;750978691;766349140;775656552;781562357;804829657;775844350;3187702
1000;782708542;811284334;816156850;824923190;847850986;816902190;3685762
[increases overhead (first is slower)]
-for loop with list vs. array (reason: due to new instantiation of iterator)
-for loop with super type vs. concrete type (reason: due to less JIT optimization possibilities)
-passing by argument vs. instance variable (reason: unknown)
-pipe with array vs. single element (reason: unknown)
-access via array wrapper vs. array directly
-
[irrelevant w.r.t. overhead]
-foreach vs. index-based iteration
-iterative vs. recursive execution
-null-check vs. NullObject
-AbstractPipe vs. IPipe
-
[analysis performance results (50%)]
2: 7400 ns
8: 1200 ns (iterative; argument/return w/o pipe)
9: 9400 ns (executeWithPorts: queued pipe)
10: 4900 ns (executeWithPorts: single element pipe)
10: 5400 ns (executeWithPorts: single element pipe; with setReschedulable() after each read)
11: 7400 ns (executeWithPorts: fixed sized pipe)
11: 8600 ns (executeWithPorts: fixed sized pipe; with CircularArray(int))
11: 8200 ns (executeWithPorts: fixed sized pipe; with CircularArray(int) w/o mask)
11: 7800 ns (executeWithPorts: fixed sized pipe; with setReschedulable() after each read)
11: 8200 ns (executeWithPorts: fixed sized pipe; with setReschedulable() after each read; non-final elements)
11: 7800 ns (executeWithPorts: fixed sized pipe; with setReschedulable() after each read; non-final elements; pipeline searches for firstStageIndex)
12: 3300 ns (recursive; argument/return w/o pipe)
13: 3300 ns (recursive; argument/return w/o pipe; w/o pipeline class)
14: 21,000 ns (spsc pipe)
16: 14,500 ns (with distributor thread)
17: 8600 ns (as 16, but with direct feeding of SpScPipe)
<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.aspectj.org/dtd/aspectj_1_5_0.dtd">
<aspectj>
<weaver options="">
<include within="mooBench.monitoredApplication.*"/>
<include within="kieker.monitoring.probe..*"/>
</weaver>
<aspects>
<aspect name="kieker.monitoring.probe.aspectj.flow.operationExecution.FullInstrumentation" />
</aspects>
</aspectj>
<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.aspectj.org/dtd/aspectj_1_5_0.dtd">
<aspectj>
<weaver options="">
<include within="mooBench.monitoredApplication.*"/>
</weaver>
<aspects>
<aspect name="kieker.monitoring.probe.aspectj.operationExecution.OperationExecutionAspectFull"/>
</aspects>
</aspectj>
handlers = java.util.logging.FileHandler
java.util.logging.FileHandler.level = ALL
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.append = true
java.util.logging.FileHandler.pattern = kieker.log
kieker.monitoring.enabled=true
kieker.monitoring.name=KIEKER-BENCHMARK
kieker.monitoring.adaptiveMonitoring.enabled=false
kieker.monitoring.periodicSensorsExecutorPoolSize=0
kieker.monitoring.writer.AsyncDummyWriter.QueueSize=100000
kieker.monitoring.writer.AsyncDummyWriter.QueueFullBehavior=1
kieker.monitoring.writer.filesystem.SyncFsWriter.bufferSize=16777216
kieker.monitoring.writer.filesystem.SyncFsWriter.flush=false
kieker.monitoring.writer.filesystem.AsyncFsWriter.QueueSize=100000
kieker.monitoring.writer.filesystem.AsyncFsWriter.QueueFullBehavior=1
kieker.monitoring.writer.filesystem.AsyncFsWriter.bufferSize=16777216
kieker.monitoring.writer.filesystem.AsyncFsWriter.flush=false
kieker.monitoring.writer.filesystem.AsyncBinaryFsWriter.QueueSize=100000
kieker.monitoring.writer.filesystem.AsyncBinaryFsWriter.QueueFullBehavior=1
kieker.monitoring.writer.filesystem.AsyncBinaryFsWriter.bufferSize=16777216
kieker.monitoring.writer.filesystem.AsyncBinaryZipWriter.QueueSize=100000
kieker.monitoring.writer.filesystem.AsyncBinaryZipWriter.QueueFullBehavior=1
kieker.monitoring.writer.filesystem.AsyncBinaryZipWriter.bufferSize=16777216
kieker.monitoring.writer.tcp.TCPWriter.QueueFullBehavior=1
kieker.monitoring.writer.tcp.TCPWriter.QueueSize=100000
#kieker.monitoring.writer.tcp.TCPWriter.hostname=blade2
@echo off
set runs=%1
set calls=%2
if [%calls%] == [] (
set calls=1000000
)
set cp=.;MooBench.jar;META-INF/kieker.monitoring.properties;META-INF/kieker.logging.properties
set jvmParams=-javaagent:lib/kieker-1.9_aspectj.jar -Dorg.aspectj.weaver.loadtime.configuration=META-INF/kieker.aop.xml -Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.verbose=true -Dkieker.monitoring.writer=kieker.monitoring.writer.tcp.TCPWriter
set params=-d 10 -h 1 -m 0 -t %calls% -o tmp/test.txt -q
echo params: %params%
for /l %%i in (1, 1, %runs%) do (
java -cp %cp% %jvmParams% mooBench.benchmark.Benchmark %params%
)
\ No newline at end of file
#!/bin/bash
java=~/jdk1.7.0_60/bin/java
cp=.:MooBench.jar:META-INF/kieker.monitoring.properties:META-INF/kieker.logging.properties
jvmParams="-javaagent:lib/kieker-1.9_aspectj.jar -Dorg.aspectj.weaver.loadtime.configuration=META-INF/kieker.aop.xml -Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.verbose=true -Dkieker.monitoring.writer=kieker.monitoring.writer.tcp.TCPWriter"
params="-d 10 -h 1 -m 0 -t 1000000 -o tmp/test.txt -q"
#runs=$1
for i in {1..3}; do
${java} -cp ${cp} ${jvmParams} mooBench.benchmark.Benchmark ${params};
done
#!/bin/bash
JAVABIN="/localhome/chw/jdk1.7.0_60/bin/"
RSCRIPTDIR=bin/icpe/r/
BASEDIR=./
RESULTSDIR="${BASEDIR}tmp/results-benchmark-kieker-days-ffi/"
SLEEPTIME=30 ## 30
NUM_LOOPS=1 ## 10
THREADS=1 ## 1
RECURSIONDEPTH=10 ## 10
TOTALCALLS=20000 ## 20000000
METHODTIME=0 ## 0
MOREPARAMS=""
#MOREPARAMS="--quickstart"
TIME=`expr ${METHODTIME} \* ${TOTALCALLS} / 1000000000 \* 4 \* ${RECURSIONDEPTH} \* ${NUM_LOOPS} + ${SLEEPTIME} \* 4 \* ${NUM_LOOPS} \* ${RECURSIONDEPTH} + 50 \* ${TOTALCALLS} / 1000000000 \* 4 \* ${RECURSIONDEPTH} \* ${NUM_LOOPS} `
echo "Experiment will take circa ${TIME} seconds."
echo "Removing and recreating '$RESULTSDIR'"
(rm -rf ${RESULTSDIR}) && mkdir ${RESULTSDIR}
mkdir ${RESULTSDIR}stat/
RAWFN="${RESULTSDIR}raw"
JAVAARGS="-server"
JAVAARGS="${JAVAARGS} -d64"
JAVAARGS="${JAVAARGS} -Xms1G -Xmx4G"
JAVAARGS="${JAVAARGS} -verbose:gc -XX:+PrintCompilation"
#JAVAARGS="${JAVAARGS} -XX:+PrintInlining"
#JAVAARGS="${JAVAARGS} -XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation"
#JAVAARGS="${JAVAARGS} -Djava.compiler=NONE"
JARNoInstru="-jar dist/OverheadEvaluationMicrobenchmarkTCPffiNoInstru.jar"
JARDeactived="-jar dist/OverheadEvaluationMicrobenchmarkTCPffiDeactivated.jar"
JARCollecting="-jar dist/OverheadEvaluationMicrobenchmarkTCPffiCollecting.jar"
JARNORMAL="-jar dist/OverheadEvaluationMicrobenchmarkTCPffiNormal.jar"
JAVAARGS_NOINSTR="${JAVAARGS}"
JAVAARGS_LTW="${JAVAARGS} -javaagent:${BASEDIR}lib/aspectjweaver.jar -Dorg.aspectj.weaver.showWeaveInfo=false -Daj.weaving.verbose=false -Dorg.aspectj.weaver.loadtime.configuration=META-INF/kieker-overhead-benchmark.aop.xml"
## Write configuration
uname -a >${RESULTSDIR}configuration.txt
${JAVABIN}java ${JAVAARGS} -version 2>>${RESULTSDIR}configuration.txt
echo "JAVAARGS: ${JAVAARGS}" >>${RESULTSDIR}configuration.txt
echo "" >>${RESULTSDIR}configuration.txt
echo "Runtime: circa ${TIME} seconds" >>${RESULTSDIR}configuration.txt
echo "" >>${RESULTSDIR}configuration.txt
echo "SLEEPTIME=${SLEEPTIME}" >>${RESULTSDIR}configuration.txt
echo "NUM_LOOPS=${NUM_LOOPS}" >>${RESULTSDIR}configuration.txt
echo "TOTALCALLS=${TOTALCALLS}" >>${RESULTSDIR}configuration.txt
echo "METHODTIME=${METHODTIME}" >>${RESULTSDIR}configuration.txt
echo "THREADS=${THREADS}" >>${RESULTSDIR}configuration.txt
echo "RECURSIONDEPTH=${RECURSIONDEPTH}" >>${RESULTSDIR}configuration.txt
sync
## Execute Benchmark
for ((i=1;i<=${NUM_LOOPS};i+=1)); do
j=${RECURSIONDEPTH}
k=0
echo "## Starting iteration ${i}/${NUM_LOOPS}"
# No instrumentation
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} No instrumentation"
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java ${JAVAARGS_NOINSTR} ${JARNoInstru} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill %sar
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
sync
sleep ${SLEEPTIME}
# Deactivated Probe
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} Deactivated Probe"
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java -jar dist/explorviz_worker.jar >${RESULTSDIR}worker-${i}-${j}-${k}.log &
sleep 5
${JAVABIN}java ${JAVAARGS_LTW} ${JARDeactived} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill %sar
pkill -f 'java -jar'
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
sync
sleep ${SLEEPTIME}
# Collecting
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} Collecting"
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java -jar dist/explorviz_worker.jar >${RESULTSDIR}worker-${i}-${j}-${k}.log &
sleep 5
${JAVABIN}java ${JAVAARGS_LTW} ${JARCollecting} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill %sar
pkill -f 'java -jar'
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
sync
sleep ${SLEEPTIME}
# Logging
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} Logging"
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java -jar dist/explorviz_worker.jar >${RESULTSDIR}worker-${i}-${j}-${k}.log &
sleep 5
${JAVABIN}java ${JAVAARGS_LTW} ${JARNORMAL} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill %sar
pkill -f 'java -jar'
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
sync
sleep ${SLEEPTIME}
# Reconstruction
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} Reconstruction"
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java -jar dist/explorviz_workerReconstruction.jar >${RESULTSDIR}worker-${i}-${j}-${k}.log &
sleep 5
${JAVABIN}java ${JAVAARGS_LTW} ${JARNORMAL} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill %sar
pkill -f 'java -jar'
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
sync
sleep ${SLEEPTIME}
# Reduction
k=`expr ${k} + 1`
echo " # ${i}.${j}.${k} Reduction"
sar -o ${RESULTSDIR}stat/sar-${i}-${j}-${k}.data 5 2000 1>/dev/null 2>&1 &
${JAVABIN}java -jar dist/explorviz_workerReduction.jar >${RESULTSDIR}worker-${i}-${j}-${k}.log &
sleep 5
${JAVABIN}java ${JAVAARGS_LTW} ${JARNORMAL} \
--output-filename ${RAWFN}-${i}-${j}-${k}.csv \
--totalcalls ${TOTALCALLS} \
--methodtime ${METHODTIME} \
--totalthreads ${THREADS} \
--recursiondepth ${j} \
${MOREPARAMS}
kill %sar
pkill -f 'java -jar'
[ -f ${BASEDIR}hotspot.log ] && mv ${BASEDIR}hotspot.log ${RESULTSDIR}hotspot-${i}-${j}-${k}.log
sync
sleep ${SLEEPTIME}
done
zip -jqr ${RESULTSDIR}stat.zip ${RESULTSDIR}stat
rm -rf ${RESULTSDIR}stat/
[ -f ${RESULTSDIR}hotspot-1-${RECURSIONDEPTH}-1.log ] && grep "<task " ${RESULTSDIR}hotspot-*.log >${RESULTSDIR}log.log
[ -f ${BASEDIR}errorlog.txt ] && mv ${BASEDIR}errorlog.txt ${RESULTSDIR}
## Generate Results file
# Timeseries
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-timeseries.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","Deactivated Probe","Collecting Data","TCP Writer","Reconstruction","Reduction")
configs.colors=c("black","red","blue","green","yellow","purple")
results.count=${TOTALCALLS}
tsconf.min=(${METHODTIME}/1000)
tsconf.max=(${METHODTIME}/1000)+40
source("${RSCRIPTDIR}timeseries.r")
EOF
# Timeseries-Average
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-timeseries-average.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","Deactivated Probe","Collecting Data","TCP Writer","Reconstruction","Reduction")
configs.colors=c("black","red","blue","green","yellow","purple")
results.count=${TOTALCALLS}
tsconf.min=(${METHODTIME}/1000)
tsconf.max=(${METHODTIME}/1000)+40
source("${RSCRIPTDIR}timeseries-average.r")
EOF
# Throughput
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-throughput.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","Deactivated Probe","Collecting Data","TCP Writer","Reconstruction","Reduction")
configs.colors=c("black","red","blue","green","yellow","purple")
results.count=${TOTALCALLS}
source("${RSCRIPTDIR}throughput.r")
EOF
# Throughput-Average
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-throughput-average.pdf"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","Deactivated Probe","Collecting Data","TCP Writer","Reconstruction","Reduction")
configs.colors=c("black","red","blue","green","yellow","purple")
results.count=${TOTALCALLS}
source("${RSCRIPTDIR}throughput-average.r")
EOF
# Bars
R --vanilla --silent <<EOF
results_fn="${RAWFN}"
output_fn="${RESULTSDIR}results-bars.pdf"
outtxt_fn="${RESULTSDIR}results-text.txt"
configs.loop=${NUM_LOOPS}
configs.recursion=c(${RECURSIONDEPTH})
configs.labels=c("No Probe","Deactivated Probe","Collecting Data","TCP Writer","Reconstruction","Reduction")
results.count=${TOTALCALLS}
results.skip=${TOTALCALLS}/2
bars.minval=(${METHODTIME}/1000)
bars.maxval=(${METHODTIME}/1000)+40
source("${RSCRIPTDIR}bar.r")
EOF
## Clean up raw results
zip -jqr ${RESULTSDIR}results.zip ${RAWFN}*
rm -f ${RAWFN}*
zip -jqr ${RESULTSDIR}worker.zip ${RESULTSDIR}worker*.log
rm -f ${RESULTSDIR}worker*.log
[ -f ${BASEDIR}nohup.out ] && mv ${BASEDIR}nohup.out ${RESULTSDIR}
This diff is collapsed.
This diff is collapsed.
library("data.table")
data=fread("data.csv")
column2=data[,V2] # [where,select,groupby]
q = quote(list(x,sd(y),mean(y*z)))
DT[,eval(q)] # identical to DT[,list(x,sd(y),mean(y*z))]
### Use the aggregate function to split and get the mean of the data
aggregate(data$data,list(data$names),mean)
### Use the sapply and split functions to do the same thing
s <- split(data$data,list(data$names))
sapply(s,mean)
\ No newline at end of file
library("data.table")
require(graphics) # ts.plot
loadResponseTimesInNs = function(filename, numFirstValuesToIgnore) {
csvTable = fread(filename, skip=numFirstValuesToIgnore)
values = csvTable[,V2]
return(values)
}
getChunkedYvalues = function(values, numChunks) {
mymatrix = matrix(values, ncol=numChunks) # (<numChunks> of columns; first column contains the first sequence of values
meanRespTimes = colMeans(mymatrix) # (mean of <numChunks> micro secs) per column
return(meanRespTimes)
}
getFilename = function(name, iteration, stackDepth, scenario) {
s = paste(name, "-", iteration, "-", stackDepth, "-", scenario, ".csv", sep="")
return(s)
}
getConfidenceInterval = function(values) {
stdDeviation <- sd(values)
numElements <- length(values)
# a confidence level of 95% corresponds to the argument value 0.975
ci = qnorm(0.975)*stdDeviation/sqrt(numElements)
return(ci)
}
nano2micro = function(value) {
return(value/(1000))
}
micro2sec = function(value) {
return(value/(1000*1000))
}
resultDir="C:/results/results-benchmark-teetime-06-02-15-14-50-03"
pdfOutputFilename=paste(resultDir, "/results.pdf", sep="")
pdf(pdfOutputFilename, width=10, height=6.25, paper="special")
#name <- "h:/results-benchmark-teetime/raw"
name <- paste(resultDir, "/raw", sep="")
iterations <- 1:5 # 1:10
stackDepth <- 10
scenarios <- 3:6
numFirstValuesToIgnore <- 1000*1000
numXvalues <- 1000
timeseries <- matrix(nrow=numXvalues,ncol=length(scenarios))
meanValues = scenarios
confidenceInterval = scenarios
quantiles <- matrix(nrow=5,ncol=length(scenarios))
durationsInSec = scenarios
throughputValues = scenarios
#timeseriesColors <- c("black","black","black","red","blue","green")
#timeseriesColors <- c(rgb(0.5,0.5,0.5), rgb(0,0,0), rgb(0.3,0.3,0.9), rgb(0.3,0.9,0.3), rgb(0.3,0.9,1))
timeseriesColors <- c(rgb(0.5,0.5,0.5), rgb(0,0,0), rgb(0.3,0.9,0.3), rgb(0.3,0.9,1))
rowNames <- formatC( c("mean","ci95%","min","25%","median","75%","max","duration (sec)","throughput (per sec)"), format="f", width=20)
#colNames <- c("no instrumentation","instrumentation","collecting","record recon","trace recon", "trace reduc")
#colNames <- c("collecting","record recon","threaded record recon","trace recon", "trace reduc")
colNames <- c("collecting","record recon","trace recon", "trace reduc")
printMatrixDimnames <- list(rowNames, colNames)
printMatrix <- matrix(nrow=length(rowNames), ncol=length(scenarios), dimnames=printMatrixDimnames)
resultTablesFilename <- paste(resultDir, "/resultTables.txt", sep="")
timeseriesLabels <- colNames
outputIterationResults = function(iteration) {
scenarioIndex = 0
for (scenario in scenarios) {
print(paste("iteration:", iteration, ", ", "scenario:", scenario, sep=""))
flush.console()
scenarioIndex = scenarioIndex+1
filename <- getFilename(name, iteration, stackDepth, scenario)
respTimesInNs <- loadResponseTimesInNs(filename, numFirstValuesToIgnore)
numValues <- length(respTimesInNs)
chunkedRespTimesInNs <- getChunkedYvalues(respTimesInNs, numXvalues)
chunkedRespTimesInUs <- nano2micro( chunkedRespTimesInNs )
timeseries[,scenarioIndex] <- ts(chunkedRespTimesInUs)
meanValues[scenarioIndex] <- mean(chunkedRespTimesInUs)
confidenceInterval[scenarioIndex] <- getConfidenceInterval(chunkedRespTimesInUs)
quantiles[,scenarioIndex] <- quantile(chunkedRespTimesInUs, names=FALSE)
durationsInSec[scenarioIndex] <- micro2sec( numValues*meanValues[scenarioIndex] )
throughputValues[scenarioIndex] <- numValues/durationsInSec[scenarioIndex]
}
ts.plot(timeseries, gpars = list(), col = timeseriesColors)
printMatrix[1,] <- formatC(meanValues, format="f", digits=4, width=20)
printMatrix[2,] <- formatC(confidenceInterval, format="f", digits=4, width=20)
for (qIndex in 1:nrow(quantiles)) {
printMatrix[(2+qIndex),] <- formatC(quantiles[qIndex,], format="f", digits=4, width=20)
}
printMatrix[(2+nrow(quantiles)+1),] <- formatC(durationsInSec, format="f", digits=4, width=20)
printMatrix[(2+nrow(quantiles)+2),] <- formatC(throughputValues, format="f", digits=4, width=20)
write.table(printMatrix,file=resultTablesFilename,append=TRUE,quote=FALSE,sep="\t",col.names=FALSE)
write("\n\n", file=resultTablesFilename, append = TRUE)
legend("topright",inset=c(0.01,0.01),legend=c(rev(timeseriesLabels)),lty="solid",col=rev(timeseriesColors),bg="white",title="Mean execution time of ...",ncol=2)
title(main=paste("Iteration: ", iteration, " Recursion Depth: ", stackDepth), ylab=expression(paste("Execution Time (",mu,"s)")))
}
for (iteration in iterations) {
outputIterationResults(iteration)
}
# write pdf
invisible(dev.off())
set cp=.;teetime.jar;lib/kieker-1.9_aspectj.jar
set jvmParams=
set params=
java -cp %cp% %jvmParams% teetime.variant.methodcallWithPorts.examples.traceReconstructionWithThreads.ChwWorkTcpTraceReconstructionAnalysisWithThreadsTest %params%
\ No newline at end of file
#!/bin/sh
java=~/jdk1.7.0_60/bin/java
cp=.:teetime.jar:lib/kieker-1.9_aspectj.jar
jvmParams=""
params=
JAVAARGS="-server"
JAVAARGS="${JAVAARGS} -d64"
JAVAARGS="${JAVAARGS} -Xms1G -Xmx1G"
JAVAARGS="${JAVAARGS} -verbose:gc -XX:+PrintCompilation"
${java} ${JAVAARGS} ${jvmParams} -cp ${cp} teetime.variant.methodcallWithPorts.examples.traceReconstructionWithThreads.ChwWorkTcpTraceReconstructionAnalysisWithThreadsTest ${params}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment