From f47585735da4f51babba42d1d4fade4450a87ea0 Mon Sep 17 00:00:00 2001 From: Stephen Mardson McQuay Date: Mon, 30 May 2011 22:49:24 -0600 Subject: [PATCH] made the labels of plots work better with how they are presented in the results chapter --HG-- rename : plots/scalability/speedup.plt => plots/scalability/efficiency.plt --- plots/resolution/resolution.2D.regular.plt | 1 + plots/resolution/resolution.3D.gmsh.plt | 2 +- plots/scalability/efficiency.plt | 12 +++++++ plots/scalability/hist.plt | 20 ++++++++++++ plots/scalability/hist.py | 22 +++++++++++++ plots/scalability/scalability_plot_gen.py | 10 ++++-- plots/scalability/scale.out | 38 +++++++++++----------- plots/scalability/server.out | 12 ++++--- plots/scalability/server.plt | 3 +- plots/scalability/speedup.plt | 5 ++- plots/scalability/thruput.plt | 10 ------ plots/timing/2D/onering.plt | 2 +- plots/timing/3D/onering.plt | 2 +- plots/truthiness/all.plt | 2 +- 14 files changed, 96 insertions(+), 45 deletions(-) create mode 100644 plots/scalability/efficiency.plt create mode 100644 plots/scalability/hist.plt create mode 100644 plots/scalability/hist.py delete mode 100644 plots/scalability/thruput.plt diff --git a/plots/resolution/resolution.2D.regular.plt b/plots/resolution/resolution.2D.regular.plt index 959153b..6a21cca 100644 --- a/plots/resolution/resolution.2D.regular.plt +++ b/plots/resolution/resolution.2D.regular.plt @@ -9,6 +9,7 @@ set key right bottom set xrange [0.008:0.18] +set xlabel 'Mesh Spacing' set ylabel 'RMS of error' plot './resolution.2D.64.out' \ diff --git a/plots/resolution/resolution.3D.gmsh.plt b/plots/resolution/resolution.3D.gmsh.plt index 7e16cd6..94bc122 100644 --- a/plots/resolution/resolution.3D.gmsh.plt +++ b/plots/resolution/resolution.3D.gmsh.plt @@ -10,7 +10,7 @@ set key right bottom set xrange [0.004:0.055] set xlabel 'Mesh Spacing' -set ylabel 'RMS of error' +# set ylabel 'RMS of error' plot './resolution.3D.gmsh.out' \ u 1:2 t '{/Symbol n} = 2' w l,\ diff --git a/plots/scalability/efficiency.plt b/plots/scalability/efficiency.plt new file mode 100644 index 0000000..604c95b --- /dev/null +++ b/plots/scalability/efficiency.plt @@ -0,0 +1,12 @@ +load '../main.plt' + +set output 'efficiency.eps' + +set nokey + +set ylabel "Efficiency (E_p)" +set xlabel "Number of Participating Minions" + +set yrange [0:1] + +plot 'scale.out' u 1:3 w lp diff --git a/plots/scalability/hist.plt b/plots/scalability/hist.plt new file mode 100644 index 0000000..92fd959 --- /dev/null +++ b/plots/scalability/hist.plt @@ -0,0 +1,20 @@ +set terminal postscript enhanced eps color +set output "hist.eps" + +set key off + +# Make some suitable labels. +set title "Work Performed per Participant" +set xlabel "Number of Interpolations Performed" +set ylabel "Number of Minions" + + +set style histogram clustered gap 1 +set style fill solid border -1 + +binwidth=5 +set boxwidth binwidth +bin(x,width)=width*floor(x/width) + binwidth/2.0 + +plot 'hist1.out' using (bin($1,binwidth)):(1.0) smooth freq with boxes +# plot 'hist2.out' using (bin($1,binwidth)):(1.0) smooth freq with boxes diff --git a/plots/scalability/hist.py b/plots/scalability/hist.py new file mode 100644 index 0000000..3b35aeb --- /dev/null +++ b/plots/scalability/hist.py @@ -0,0 +1,22 @@ +import sys +import shelve +import pickle + +import numpy as np + +if len(sys.argv) != 2: + print "usage: %s " % sys.argv[0] + sys.exit(1) + + +s = shelve.open(sys.argv[1]) +d = dict(s) +s.close() + +for line in (i[1] for i in sorted(d.iteritems(), key = lambda x: x[1]['stats']['participants'])): + run = line['stats'] + print "#", run['participants'] + x = np.array(run['tasks'].values()) + for i in x: + print i + print diff --git a/plots/scalability/scalability_plot_gen.py b/plots/scalability/scalability_plot_gen.py index 7f11715..710eb18 100644 --- a/plots/scalability/scalability_plot_gen.py +++ b/plots/scalability/scalability_plot_gen.py @@ -12,11 +12,15 @@ s.close() for line in (i[1] for i in sorted(d.iteritems(), key = lambda x: x[1]['stats']['participants'])): run = line['stats'] - velocity = run['count'] / run['receive'] + thruput = run['count'] / run['receive'] + p = run['participants'] # speedup (http://en.wikipedia.org/wiki/Speedup): - S_p = run['receive']/run['count'] / 1148.02904 + T_1 = 0.114802904391 + S_p = T_1 / (run['receive']/run['count']) - print run['participants'], velocity, S_p + E_p = S_p / p + + print p, S_p, E_p diff --git a/plots/scalability/scale.out b/plots/scalability/scale.out index 737ef41..b720d8d 100644 --- a/plots/scalability/scale.out +++ b/plots/scalability/scale.out @@ -1,19 +1,19 @@ -1 8.71058101972 0.000100000000341 -2 16.9174102062 5.14888564103e-05 -4 33.8342624632 2.57448527477e-05 -5 41.369278595 2.10556754801e-05 -8 70.8631618899 1.22921145728e-05 -11 95.1311787574 9.15638927551e-06 -16 140.277826152 6.20952098301e-06 -22 188.945066816 4.6101129795e-06 -32 275.671657764 3.15976662965e-06 -45 387.071286152 2.25038161213e-06 -64 550.492432027 1.58232530415e-06 -90 774.640026224 1.12446823744e-06 -128 1097.65200754 7.93564899404e-07 -181 1422.36034327 6.12403255659e-07 -196 1500.92599599 5.80347137214e-07 -224 1182.63366931 7.36540931943e-07 -256 1311.56362765 6.64137131117e-07 -384 1214.03638311 7.17489291971e-07 -512 1359.50184047 6.40718591923e-07 +1 0.999999999997 0.999999999997 +2 1.94216782645 0.971083913223 +4 3.8842715987 0.971067899674 +5 4.74931333527 0.949862667054 +8 8.1352967993 ?1.01691209991 +11 10.9213356195 0.992848692681 +16 16.1043018639 ?1.00651886649 +22 21.6914424408 0.985974656402 +32 31.6479069695 0.988997092798 +45 44.4369078566 0.987486841258 +64 63.198130042 0.987470781906 +90 88.930924868 0.988121387422 +128 126.013638476 0.984481550592 +181 163.291098498 0.902160765184 +196 172.310663615 0.879136038854 +224 135.769780068 0.606115089587 +256 150.571313747 0.588169194325 +384 139.374902817 0.362955476086 +512 156.074759811 0.304833515255 diff --git a/plots/scalability/server.out b/plots/scalability/server.out index e989756..d4dba76 100644 --- a/plots/scalability/server.out +++ b/plots/scalability/server.out @@ -1,10 +1,12 @@ -16 7 -45 30 -64 40 -90 65 +8 2 +16 7 +45 30 +64 40 +90 65 128 100 181 160 196 175 224 185 256 195 -512 195 +384 200 +512 200 diff --git a/plots/scalability/server.plt b/plots/scalability/server.plt index 3361f3a..d6967cc 100644 --- a/plots/scalability/server.plt +++ b/plots/scalability/server.plt @@ -7,5 +7,6 @@ set nokey set xlabel "Number of Participating Minions" set ylabel "Approximate CPU utilization (% CPU)" -# set log xy +set yrange [0:210] + plot 'server.out' u 1:2 w lp t 'Speedup' diff --git a/plots/scalability/speedup.plt b/plots/scalability/speedup.plt index 688b182..d1905d5 100644 --- a/plots/scalability/speedup.plt +++ b/plots/scalability/speedup.plt @@ -4,8 +4,7 @@ set output 'speedup.eps' set nokey -set xlabel "Number of Participating Minions" set ylabel "Speedup (S_p)" +set xlabel "Number of Participating Minions" -set log xy -plot 'scale.out' u 1:3 w lp t 'Speedup' +plot 'scale.out' u 1:2 w lp t 'Speedup' diff --git a/plots/scalability/thruput.plt b/plots/scalability/thruput.plt deleted file mode 100644 index ab97375..0000000 --- a/plots/scalability/thruput.plt +++ /dev/null @@ -1,10 +0,0 @@ -load '../main.plt' - -set output 'thruput.eps' - -set nokey - -set xlabel "Number of Participating Minions" -set ylabel "Interpolation Throughput (interpolations / second)" - -plot 'scale.out' u 1:2 w lp t 'velocity' diff --git a/plots/timing/2D/onering.plt b/plots/timing/2D/onering.plt index 8526077..3848126 100644 --- a/plots/timing/2D/onering.plt +++ b/plots/timing/2D/onering.plt @@ -3,7 +3,7 @@ load '../all.plt' set output 'timing.2.aggregate.eps' -set title '2-D Interpolation Timing Data' +# set title '2-D Interpolation Timing Data' plot 'time.out' u 1:2 t 'Order 2, res 1' w lp, \ '' u 1:3 t 'Order 3, res 1' w lp, \ diff --git a/plots/timing/3D/onering.plt b/plots/timing/3D/onering.plt index 400c9c0..36ad189 100644 --- a/plots/timing/3D/onering.plt +++ b/plots/timing/3D/onering.plt @@ -5,7 +5,7 @@ set output 'timing.3.aggregate.eps' unset ylabel -set title '3-D Interpolation Timing Data' +# set title '3-D Interpolation Timing Data' plot 'time.out' u 1:2 t 'Order 2, Mesh 1' w lp, \ '' u 1:3 t 'Order 3, Mesh 1' w lp, \ diff --git a/plots/truthiness/all.plt b/plots/truthiness/all.plt index d28bd88..b25cb98 100644 --- a/plots/truthiness/all.plt +++ b/plots/truthiness/all.plt @@ -3,6 +3,6 @@ set ylabel "Percent of Improved Interpolations" set log x -set yrange [0:1] +# set yrange [0:1] set key bottom right