diff options
| -rw-r--r-- | content/results.tex | 462 | ||||
| -rwxr-xr-x | results/graphhelper.py | 28 | ||||
| -rw-r--r-- | thesis.tex | 2 |
3 files changed, 421 insertions, 71 deletions
diff --git a/content/results.tex b/content/results.tex index f333284..99c9b21 100644 --- a/content/results.tex +++ b/content/results.tex @@ -19,29 +19,32 @@ Gathering the results over TCP with a separate daemon enables people to run this The following results were gathered with the pc specs as listed in appendix \ref{app-specs}. The optimization specific flags that were used are listed in appendix \ref{app-ccopts}. \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} + \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 0.752 (0.018) & 0.582 (0.009) & 0.274 (0.007) & 0.097 (0.005) & 0.027 (0.005) & 0.027 (0.004) \\\hline Node2 & 0.752 (0.013) & 0.583 (0.009) & 0.274 (0.013) & 0.095 (0.008) & 0.026 (0.005) & 0.026 (0.005) \\\hline Node3 & 0.742 (0.015) & 0.582 (0.010) & 0.274 (0.006) & 0.097 (0.005) & 0.063 (0.005) & 0.126 (0.007) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using ed25519 and running 100 clients.} \end{table} \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 3.494 (0.025) & 3.484 (0.020) & 2.257 (0.035) & 1.151 (0.061) & 0.004 (0.005) & 0.008 (0.004) \\\hline - Node2 & 3.494 (0.025) & 3.484 (0.020) & 2.257 (0.035) & 1.151 (0.061) & 0.004 (0.005) & 0.008 (0.004) \\\hline + Node2 & 3.484 (0.018) & 3.486 (0.012) & 2.282 (0.029) & 1.177 (0.079) & 0.004 (0.005) & 0.007 (0.004) \\\hline Node3 & 3.482 (0.018) & 3.488 (0.013) & 2.287 (0.032) & 1.180 (0.069) & 0.002 (0.004) & 0.259 (0.012) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using 2048 bit multiplicative group and running 100 clients.} \end{table} @@ -49,29 +52,31 @@ The following results were gathered with the pc specs as listed in appendix \ref %----------------------------------------------------------------------- \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 1.495 (0.040) & 1.107 (0.020) & 0.483 (0.013) & 0.157 (0.005) & 0.054 (0.005) & 0.054 (0.005) \\\hline Node2 & 1.469 (0.038) & 1.106 (0.012) & 0.483 (0.010) & 0.156 (0.005) & 0.053 (0.005) & 0.054 (0.005) \\\hline Node3 & 1.457 (0.022) & 1.104 (0.013) & 0.484 (0.011) & 0.154 (0.014) & 0.115 (0.005) & 0.212 (0.009) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using ed25519 and running 200 clients.} \end{table} \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 7.035 (0.053) & 6.978 (0.019) & 5.283 (0.097) & 4.066 (0.262) & 0.013 (0.005) & 0.029 (0.003) \\\hline Node2 & 6.973 (0.023) & 6.980 (0.016) & 5.300 (0.076) & 4.108 (0.246) & 0.014 (0.005) & 0.029 (0.003) \\\hline Node3 & 6.983 (0.021) & 6.976 (0.022) & 5.301 (0.115) & 4.080 (0.271) & 0.012 (0.004) & 0.549 (0.005) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using 2048 bit multiplicative group and running 200 clients.} \end{table} @@ -79,29 +84,31 @@ The following results were gathered with the pc specs as listed in appendix \ref %----------------------------------------------------------------------- \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 2.270 (0.127) & 1.635 (0.025) & 0.696 (0.016) & 0.200 (0.010) & 0.081 (0.003) & 0.081 (0.004) \\\hline Node2 & 2.219 (0.045) & 1.651 (0.027) & 0.694 (0.016) & 0.202 (0.004) & 0.080 (0.004) & 0.080 (0.003) \\\hline Node3 & 2.181 (0.040) & 1.647 (0.022) & 0.694 (0.016) & 0.203 (0.005) & 0.151 (0.005) & 0.289 (0.013) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using ed25519 and running 300 clients.} \end{table} \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 10.590 (0.061) & 10.534 (0.023) & 9.192 (0.224) & 8.981 (0.572) & 0.029 (0.004) & 0.064 (0.005) \\\hline Node2 & 10.549 (0.035) & 10.539 (0.031) & 9.247 (0.193) & 9.026 (0.585) & 0.029 (0.004) & 0.064 (0.005) \\\hline Node3 & 10.556 (0.028) & 10.538 (0.026) & 9.195 (0.245) & 9.028 (0.466) & 0.031 (0.002) & 0.814 (0.008) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using 2048 bit multiplicative group and running 300 clients.} \end{table} @@ -109,29 +116,31 @@ The following results were gathered with the pc specs as listed in appendix \ref %----------------------------------------------------------------------- \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 2.966 (0.057) & 2.177 (0.028) & 0.907 (0.045) & 0.247 (0.005) & 0.105 (0.005) & 0.106 (0.005) \\\hline Node2 & 2.898 (0.058) & 2.172 (0.031) & 0.898 (0.021) & 0.247 (0.005) & 0.104 (0.005) & 0.104 (0.005) \\\hline Node3 & 2.846 (0.053) & 2.155 (0.040) & 0.900 (0.024) & 0.247 (0.005) & 0.180 (0.004) & 0.367 (0.014) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using ed25519 and running 400 clients.} \end{table} \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 15.233 (0.027) & 15.228 (0.028) & 14.763 (0.306) & 16.099 (0.799) & 0.049 (0.003) & 0.104 (0.005) \\\hline Node2 & 15.282 (0.030) & 15.225 (0.027) & 14.954 (0.297) & 16.344 (0.588) & 0.049 (0.004) & 0.105 (0.007) \\\hline Node3 & 15.284 (0.038) & 15.234 (0.034) & 14.947 (0.348) & 16.294 (0.765) & 0.050 (0.003) & 1.166 (0.010) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using 2048 bit multiplicative group and running 400 clients.} \end{table} @@ -139,87 +148,400 @@ The following results were gathered with the pc specs as listed in appendix \ref %----------------------------------------------------------------------- \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 3.662 (0.030) & 2.819 (0.015) & 1.163 (0.029) & 0.299 (0.004) & 0.122 (0.004) & 0.123 (0.004) \\\hline Node2 & 3.676 (0.025) & 2.818 (0.020) & 1.170 (0.029) & 0.302 (0.005) & 0.124 (0.005) & 0.123 (0.005) \\\hline Node3 & 3.680 (0.026) & 2.819 (0.018) & 1.169 (0.028) & 0.302 (0.004) & 0.212 (0.004) & 0.451 (0.020) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using ed25519 and running 500 clients.} \end{table} \begin{table}[!ht] - \begin{tiny} - \begin{tabularx}{\columnwidth}{|X|X|X|X|X|X|X|} + \centering + \begin{footnotesize} + \begin{tabular}{|r|r|r|r|r|r|r|} \hline Node & prepre (s (\textsigma)) & premix (s (\textsigma)) & prepost (s (\textsigma)) & realpre (s (\textsigma)) & realmix (s (\textsigma)) & realpost (s (\textsigma)) \\\hline\hline Node1 & 19.145 (0.039) & 19.142 (0.035) & 20.125 (0.560) & 24.769 (1.373) & 0.074 (0.005) & 0.140 (0.005) \\\hline Node2 & 19.215 (0.041) & 19.140 (0.035) & 20.114 (0.661) & 24.509 (2.063) & 0.072 (0.005) & 0.139 (0.006) \\\hline Node3 & 19.219 (0.073) & 19.152 (0.066) & 20.235 (1.183) & 24.560 (2.845) & 0.074 (0.006) & 1.475 (0.018) \\\hline - \end{tabularx} - \end{tiny} + \end{tabular} + \end{footnotesize} \caption{Node time average over 50 runs with standard deviation in seconds using 2048 bit multiplicative group and running 500 clients.} \end{table} -\begin{figure*}[!ht] +\tikzset{every picture/.style={line width=2pt}} + +\begin{figure}[!ht] \centering \begin{tikzpicture} \begin{axis}[ - xmin=0, xmax=500, xstep=100, - ymin=0, ymax=20, + xmin=0, xmax=500, xtick=data, + ymin=0, ymax=30, ymajorgrids=true, grid style=dashed, legend pos=north west, - width=\textwidth, + width=\columnwidth, + height=.63*\columnwidth, xlabel={Number of clients}, ylabel={Time in s} ] \addplot[color=red] coordinates {(0,0)(100,0.752)(200,1.495)(300,2.270)(400, 2.966)(500,3.662)}; - \addplot[name path=us_top,color=red!70] coordinates {(0,0)(100,0.770)(200,1.535)(300,2.397)(400, 3.023)(500,3.692)}; - \addplot[name path=us_down,color=red!70] coordinates {(0,0)(100,0.736)(200,1.455)(300,2.143)(400, 2.909)(500,3.632)}; - \addplot[red!50,fill opacity=0.5] fill between[of=us_top and us_down]; + \addplot[name path=n1ec_top,color=red!70] coordinates {(0,0)(100,0.770)(200,1.535)(300,2.397)(400, 3.023)(500,3.692)}; + \addplot[name path=n1ec_down,color=red!70] coordinates {(0,0)(100,0.736)(200,1.455)(300,2.143)(400, 2.909)(500,3.632)}; + \addplot[red!50,fill opacity=0.5] fill between[of=n1ec_top and n1ec_down]; \addplot[color=green] coordinates {(0,0)(100,0.752)(200,1.469)(300,2.219)(400,2.898)(500,3.676)}; - \addplot[name path=us_top,color=green!70] coordinates {(0,0)(100,0.765)(200,1.507)(300,2.264)(400,2.956)(500,3.701)}; - \addplot[name path=us_down,color=green!70] coordinates {(0,0)(100,0.739)(200,1.431)(300,2.174)(400,2.840)(500,3.651)}; - \addplot[green!50,fill opacity=0.5] fill between[of=us_top and us_down]; + \addplot[name path=n2ec_top,color=green!70] coordinates {(0,0)(100,0.765)(200,1.507)(300,2.264)(400,2.956)(500,3.701)}; + \addplot[name path=n2ec_down,color=green!70] coordinates {(0,0)(100,0.739)(200,1.431)(300,2.174)(400,2.840)(500,3.651)}; + \addplot[green!50,fill opacity=0.5] fill between[of=n2ec_top and n2ec_down]; \addplot[color=blue] coordinates {(0,0)(100,0.742)(200,1.457)(300,2.181)(400,2.846)(500,3.68)}; - \addplot[name path=us_top,color=blue!70] coordinates {(0,0)(100,0.757)(200,1.479)(300,2.221)(400,2.899)(500,3.706)}; - \addplot[name path=us_down,color=blue!70] coordinates {(0,0)(100,0.727)(200,1.435)(300,2.141)(400,2.793)(500,3.654)}; - \addplot[blue!50,fill opacity=0.5] fill between[of=us_top and us_down]; + \addplot[name path=n3ec_top,color=blue!70] coordinates {(0,0)(100,0.757)(200,1.479)(300,2.221)(400,2.899)(500,3.706)}; + \addplot[name path=n3ec_down,color=blue!70] coordinates {(0,0)(100,0.727)(200,1.435)(300,2.141)(400,2.793)(500,3.654)}; + \addplot[blue!50,fill opacity=0.5] fill between[of=n3ec_top and n3ec_down]; \addplot[color=yellow] coordinates {(0,0)(100,3.494)(200,7.035)(300,10.59)(400,15.233)(500,19.145)}; - \addplot[name path=us_top,color=yellow!70] coordinates {(0,0)(100,3.519)(200,7.088)(300,10.651)(400,15.26)(500,19.184)}; - \addplot[name path=us_down,color=yellow!70] coordinates {(0,0)(100,3.469)(200,6.982)(300,10.529)(400,15.206)(500,19.106)}; - \addplot[yellow!50,fill opacity=0.5] fill between[of=us_top and us_down]; - + \addplot[name path=n1mg_top,color=yellow!70] coordinates {(0,0)(100,3.519)(200,7.088)(300,10.651)(400,15.26)(500,19.184)}; + \addplot[name path=n1mg_down,color=yellow!70] coordinates {(0,0)(100,3.469)(200,6.982)(300,10.529)(400,15.206)(500,19.106)}; + \addplot[yellow!50,fill opacity=0.5] fill between[of=n1mg_top and n1mg_down]; + \addplot[color=orange] coordinates - {(0,0)(100,3.494)(200,6.973)(300,10.549)(400,15.282)(500,19.215)}; - \addplot[name path=us_top,color=orange!70] coordinates {(0,0)(100,3.519)(200,6.996)(300,10.584)(400,15.312)(500,19.256)}; - \addplot[name path=us_down,color=orange!70] coordinates {(0,0)(100,3.469)(200,6.95)(300,10.514)(400,15.252)(500,19.174)}; - \addplot[orange!50,fill opacity=0.5] fill between[of=us_top and us_down]; + {(0,0)(100,3.484)(200,6.973)(300,10.549)(400,15.282)(500,19.215)}; + \addplot[name path=n2mg_top,color=orange!70] coordinates {(0,0)(100,3.502)(200,6.996)(300,10.584)(400,15.312)(500,19.256)}; + \addplot[name path=n2mg_down,color=orange!70] coordinates {(0,0)(100,3.466)(200,6.95)(300,10.514)(400,15.252)(500,19.174)}; + \addplot[orange!50,fill opacity=0.5] fill between[of=n2mg_top and n2mg_down]; - \addplot[color=purple] coordinates + \addplot[color=black] coordinates {(0,0)(100,3.482)(200,6.983)(300,10.556)(400,15.284)(500,19.219)}; - \addplot[name path=us_top,color=purple!70] coordinates {(0,0)(100,3.5)(200,7.004)(300,10.584)(400,15.322)(500,19.292)}; - \addplot[name path=us_down,color=purple!70] coordinates {(0,0)(100,3.464)(200,6.962)(300,10.528)(400,15.246)(500,19.146)}; - \addplot[purple!50,fill opacity=0.5] fill between[of=us_top and us_down]; - + \addplot[name path=n3mg_top,color=black!70] coordinates {(0,0)(100,3.5)(200,7.004)(300,10.584)(400,15.322)(500,19.292)}; + \addplot[name path=n3mg_down,color=black!70] coordinates {(0,0)(100,3.464)(200,6.962)(300,10.528)(400,15.246)(500,19.146)}; + \addplot[black!50,fill opacity=0.5] fill between[of=n3mg_top and n3mg_down]; \legend{Node1 ec prepre,,,,Node2 ec prepre,,,,Node3 ec prepre,,,,Node1 mg prepre,,,,Node2 mg prepre,,,,Node3 mg prepre} \end{axis} \end{tikzpicture} - \caption{} - \label{fig:samplingComp} -\end{figure*} + \caption{A graph of the average times for the precomputation precomputation step.} + \label{fig:prepre} +\end{figure} + +\begin{figure}[!ht] + \centering + \begin{tikzpicture} + \begin{axis}[ + xmin=0, xmax=500, xtick=data, + ymin=0, ymax=30, + ymajorgrids=true, + grid style=dashed, + legend pos=north west, + width=\columnwidth, + height=.63*\columnwidth, + xlabel={Number of clients}, + ylabel={Time in s} + ] + + %-------------------------------------------------------------------- + \addplot[color=red] coordinates + {(0,0)(100,0.582)(200,1.107)(300,1.635)(400,2.177)(500,2.819)}; + \addplot[name path=n1ec_top,color=red!70] coordinates {(0,0)(100,0.591)(200,1.127)(300,1.660)(400,2.205)(500,2.834)}; + \addplot[name path=n1ec_down,color=red!70] coordinates {(0,0)(100,0.573)(200,1.087)(300,1.610)(400,2.149)(500,2.804)}; + \addplot[red!50,fill opacity=0.5] fill between[of=n1ec_top and n1ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=green] coordinates {(0,0)(100,0.583)(200,1.106)(300,1.651)(400,2.172)(500,2.818)}; + \addplot[name path=n2ec_top,color=green!70] coordinates {(0,0)(100,0.592)(200,1.118)(300,1.678)(400,2.203)(500,2.838)}; + \addplot[name path=n2ec_down,color=green!70] coordinates {(0,0)(100,0.574)(200,1.094)(300,1.624)(400,2.141)(500,2.798)}; + \addplot[green!50,fill opacity=0.5] fill between[of=n2ec_top and n2ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=blue] coordinates {(0,0)(100,0.582)(200,1.104)(300,1.647)(400,2.155)(500,2.819)}; + \addplot[name path=n3ec_top,color=blue!70] coordinates {(0,0)(100,0.592)(200,1.117)(300,1.669)(400,2.195)(500,2.837)}; + \addplot[name path=n3ec_down,color=blue!70] coordinates {(0,0)(100,0.572)(200,1.091)(300,1.625)(400,2.115)(500,2.801)}; + \addplot[blue!50,fill opacity=0.5] fill between[of=n3ec_top and n3ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=yellow] coordinates {(0,0)(100,3.484)(200,6.978)(300,10.534)(400,15.228)(500,19.142)}; + \addplot[name path=n1mg_top,color=yellow!70] coordinates {(0,0)(100,3.504)(200,6.997)(300,10.557)(400,15.256)(500,19.177)}; + \addplot[name path=n1mg_down,color=yellow!70] coordinates {(0,0)(100,3.464)(200,6.959)(300,10.511)(400,15.200)(500,19.107)}; + \addplot[yellow!50,fill opacity=0.5] fill between[of=n1mg_top and n1mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=orange] coordinates {(0,0)(100,3.486)(200,6.980)(300,10.539)(400,15.225)(500,19.140)}; + \addplot[name path=n2mg_top,color=orange!70] coordinates {(0,0)(100,3.498)(200,6.996)(300,10.570)(400,15.252)(500,19.175)}; + \addplot[name path=n2mg_down,color=orange!70] coordinates {(0,0)(100,3.474)(200,6.964)(300,10.508)(400,15.198)(500,19.105)}; + \addplot[orange!50,fill opacity=0.5] fill between[of=n2mg_top and n2mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=black] coordinates {(0,0)(100,3.488)(200,6.976)(300,10.538)(400,15.234)(500,19.140)}; + \addplot[name path=n3mg_top,color=black!70] coordinates {(0,0)(100,3.501)(200,6.998)(300,10.564)(400,15.268)(500,19.175)}; + \addplot[name path=n3mg_down,color=black!70] coordinates {(0,0)(100,3.475)(200,6.954)(300,10.512)(400,15.200)(500,19.105)}; + \addplot[black!50,fill opacity=0.5] fill between[of=n3mg_top and n3mg_down]; + + \legend{Node1 ec premix,,,,Node2 ec premix,,,,Node3 ec premix,,,,Node1 mg premix,,,,Node2 mg premix,,,,Node3 mg premix} + \end{axis} + + \end{tikzpicture} + \caption{A graph of the average times for the precomputation mix step.} + \label{fig:premix} +\end{figure} + +\begin{figure}[!ht] + \centering + \begin{tikzpicture} + \begin{axis}[ + xmin=0, xmax=500, xtick=data, + ymin=0, ymax=30, + ymajorgrids=true, + grid style=dashed, + legend pos=north west, + width=\columnwidth, + height=.63*\columnwidth, + xlabel={Number of clients}, + ylabel={Time in s} + ] + + %-------------------------------------------------------------------- + \addplot[color=red] coordinates + {(0,0)(100,0.274)(200,0.483)(300,0.696)(400,0.907)(500,1.163)}; + \addplot[name path=n1ec_top,color=red!70] coordinates {(0,0)(100,0.281)(200,0.496)(300,0.712)(400,0.952)(500,1.192)}; + \addplot[name path=n1ec_down,color=red!70] coordinates {(0,0)(100,0.267)(200,0.470)(300,0.680)(400,0.862)(500,1.134)}; + \addplot[red!50,fill opacity=0.5] fill between[of=n1ec_top and n1ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=green] coordinates {(0,0)(100,0.274)(200,0.483)(300,0.694)(400,0.898)(500,1.170)}; + \addplot[name path=n2ec_top,color=green!70] coordinates {(0,0)(100,0.287)(200,0.493)(300,0.710)(400,0.919)(500,1.199)}; + \addplot[name path=n2ec_down,color=green!70] coordinates {(0,0)(100,0.261)(200,0.473)(300,0.678)(400,0.877)(500,1.141)}; + \addplot[green!50,fill opacity=0.5] fill between[of=n2ec_top and n2ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=blue] coordinates {(0,0)(100,0.274)(200,0.484)(300,0.694)(400,0.900)(500,1.169)}; + \addplot[name path=n3ec_top,color=blue!70] coordinates {(0,0)(100,0.280)(200,0.495)(300,0.710)(400,0.924)(500,1.197)}; + \addplot[name path=n3ec_down,color=blue!70] coordinates {(0,0)(100,0.268)(200,0.473)(300,0.678)(400,0.876)(500,1.141)}; + \addplot[blue!50,fill opacity=0.5] fill between[of=n3ec_top and n3ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=yellow] coordinates {(0,0)(100,2.257)(200,5.283)(300,9.192)(400,14.763)(500,20.125)}; + \addplot[name path=n1mg_top,color=yellow!70] coordinates {(0,0)(100,2.292)(200,5.380)(300,9.416)(400,15.069)(500,20.685)}; + \addplot[name path=n1mg_down,color=yellow!70] coordinates {(0,0)(100,2.222)(200,5.186)(300,8.968)(400,14.457)(500,19.565)}; + \addplot[yellow!50,fill opacity=0.5] fill between[of=n1mg_top and n1mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=orange] coordinates {(0,0)(100,2.282)(200,5.300)(300,9.247)(400,14.954)(500,20.114)}; + \addplot[name path=n2mg_top,color=orange!70] coordinates {(0,0)(100,2.311)(200,5.376)(300,9.440)(400,15.251)(500,20.775)}; + \addplot[name path=n2mg_down,color=orange!70] coordinates {(0,0)(100,2.253)(200,5.224)(300,9.054)(400,14.657)(500,19.453)}; + \addplot[orange!50,fill opacity=0.5] fill between[of=n2mg_top and n2mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=black] coordinates {(0,0)(100,2.287)(200,5.301)(300,9.195)(400,14.947)(500,20.235)}; + \addplot[name path=n3mg_top,color=black!70] coordinates {(0,0)(100,2.319)(200,5.416)(300,9.440)(400,15.295)(500,21.418)}; + \addplot[name path=n3mg_down,color=black!70] coordinates {(0,0)(100,2.255)(200,5.186)(300,8.950)(400,14.599)(500,19.052)}; + \addplot[black!50,fill opacity=0.5] fill between[of=n3mg_top and n3mg_down]; + + \legend{Node1 ec prepost,,,,Node2 ec prepost,,,,Node3 ec prepost,,,,Node1 mg prepost,,,,Node2 mg prepost,,,,Node3 mg prepost} + \end{axis} + + \end{tikzpicture} + \caption{A graph of the average times for the precomputation postcomputation step.} + \label{fig:prepost} +\end{figure} + +\begin{figure}[!ht] + \centering + \begin{tikzpicture} + \begin{axis}[ + xmin=0, xmax=500, xtick=data, + ymin=0, ymax=30, + ymajorgrids=true, + grid style=dashed, + legend pos=north west, + width=\columnwidth, + height=.63*\columnwidth, + xlabel={Number of clients}, + ylabel={Time in s} + ] + + %-------------------------------------------------------------------- + \addplot[color=red] coordinates + {(0,0)(100,0.097)(200,0.157)(300,0.200)(400,0.247)(500,0.299)}; + \addplot[name path=n1ec_top,color=red!70] coordinates {(0,0)(100,0.102)(200,0.162)(300,0.210)(400,0.252)(500,0.303)}; + \addplot[name path=n1ec_down,color=red!70] coordinates {(0,0)(100,0.092)(200,0.152)(300,0.190)(400,0.242)(500,0.295)}; + \addplot[red!50,fill opacity=0.5] fill between[of=n1ec_top and n1ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=green] coordinates {(0,0)(100,0.095)(200,0.156)(300,0.202)(400,0.247)(500,0.302)}; + \addplot[name path=n2ec_top,color=green!70] coordinates {(0,0)(100,0.103)(200,0.161)(300,0.206)(400,0.252)(500,0.307)}; + \addplot[name path=n2ec_down,color=green!70] coordinates {(0,0)(100,0.087)(200,0.151)(300,0.198)(400,0.242)(500,0.297)}; + \addplot[green!50,fill opacity=0.5] fill between[of=n2ec_top and n2ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=blue] coordinates {(0,0)(100,0.097)(200,0.154)(300,0.203)(400,0.247)(500,0.302)}; + \addplot[name path=n3ec_top,color=blue!70] coordinates {(0,0)(100,0.102)(200,0.168)(300,0.208)(400,0.252)(500,0.306)}; + \addplot[name path=n3ec_down,color=blue!70] coordinates {(0,0)(100,0.092)(200,0.140)(300,0.198)(400,0.242)(500,0.298)}; + \addplot[blue!50,fill opacity=0.5] fill between[of=n3ec_top and n3ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=yellow] coordinates {(0,0)(100,1.151)(200,4.066)(300,8.981)(400,16.099)(500,24.769)}; + \addplot[name path=n1mg_top,color=yellow!70] coordinates {(0,0)(100,1.212)(200,4.328)(300,9.553)(400,16.898)(500,26.142)}; + \addplot[name path=n1mg_down,color=yellow!70] coordinates {(0,0)(100,1.090)(200,3.804)(300,8.409)(400,15.300)(500,23.396)}; + \addplot[yellow!50,fill opacity=0.5] fill between[of=n1mg_top and n1mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=orange] coordinates {(0,0)(100,1.177)(200,4.108)(300,9.026)(400,16.344)(500,24.509)}; + \addplot[name path=n2mg_top,color=orange!70] coordinates {(0,0)(100,1.256)(200,4.354)(300,9.611)(400,16.932)(500,26.572)}; + \addplot[name path=n2mg_down,color=orange!70] coordinates {(0,0)(100,1.098)(200,3.862)(300,8.441)(400,15.756)(500,22.446)}; + \addplot[orange!50,fill opacity=0.5] fill between[of=n2mg_top and n2mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=black] coordinates {(0,0)(100,1.180)(200,4.080)(300,9.028)(400,16.344)(500,24.560)}; + \addplot[name path=n3mg_top,color=black!70] coordinates {(0,0)(100,1.249)(200,4.351)(300,9.494)(400,16.932)(500,27.405)}; + \addplot[name path=n3mg_down,color=black!70] coordinates {(0,0)(100,1.111)(200,3.809)(300,8.562)(400,15.756)(500,21.715)}; + \addplot[black!50,fill opacity=0.5] fill between[of=n3mg_top and n3mg_down]; + + \legend{Node1 ec realpre,,,,Node2 ec realpre,,,,Node3 ec realpre,,,,Node1 mg realpre,,,,Node2 mg realpre,,,,Node3 mg realpre} + \end{axis} + + \end{tikzpicture} + \caption{A graph of the average times for the realtime precomputation step.} + \label{fig:realpre} +\end{figure} + +\begin{figure}[!ht] + \centering + \begin{tikzpicture} + \begin{axis}[ + scaled ticks=false, tick label style={/pgf/number format/fixed}, + xmin=0, xmax=500, xtick=data, + ymin=0, ymax=0.25, + ymajorgrids=true, + grid style=dashed, + legend pos=north west, + width=\columnwidth, + height=.63*\columnwidth, + xlabel={Number of clients}, + ylabel={Time in s} + ] + + %-------------------------------------------------------------------- + \addplot[color=red] coordinates + {(0,0)(100,0.027)(200,0.054)(300,0.081)(400,0.105)(500,0.122)}; + \addplot[name path=n1ec_top,color=red!70] coordinates {(0,0)(100,0.032)(200,0.059)(300,0.084)(400,0.110)(500,0.126)}; + \addplot[name path=n1ec_down,color=red!70] coordinates {(0,0)(100,0.022)(200,0.049)(300,0.078)(400,0.100)(500,0.118)}; + \addplot[red!50,fill opacity=0.5] fill between[of=n1ec_top and n1ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=green] coordinates {(0,0)(100,0.026)(200,0.053)(300,0.080)(400,0.104)(500,0.124)}; + \addplot[name path=n2ec_top,color=green!70] coordinates {(0,0)(100,0.031)(200,0.058)(300,0.084)(400,0.109)(500,0.129)}; + \addplot[name path=n2ec_down,color=green!70] coordinates {(0,0)(100,0.021)(200,0.048)(300,0.076)(400,0.099)(500,0.119)}; + \addplot[green!50,fill opacity=0.5] fill between[of=n2ec_top and n2ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=blue] coordinates {(0,0)(100,0.063)(200,0.115)(300,0.151)(400,0.180)(500,0.212)}; + \addplot[name path=n3ec_top,color=blue!70] coordinates {(0,0)(100,0.068)(200,0.120)(300,0.156)(400,0.184)(500,0.216)}; + \addplot[name path=n3ec_down,color=blue!70] coordinates {(0,0)(100,0.058)(200,0.110)(300,0.146)(400,0.176)(500,0.208)}; + \addplot[blue!50,fill opacity=0.5] fill between[of=n3ec_top and n3ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=yellow] coordinates {(0,0)(100,0.004)(200,0.013)(300,0.029)(400,0.049)(500,0.074)}; + \addplot[name path=n1mg_top,color=yellow!70] coordinates {(0,0)(100,0.009)(200,0.018)(300,0.033)(400,0.052)(500,0.079)}; + \addplot[name path=n1mg_down,color=yellow!70] coordinates {(0,0)(100,-0.001)(200,0.008)(300,0.025)(400,0.046)(500,0.069)}; + \addplot[yellow!50,fill opacity=0.5] fill between[of=n1mg_top and n1mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=orange] coordinates {(0,0)(100,0.004)(200,0.014)(300,0.029)(400,0.049)(500,0.072)}; + \addplot[name path=n2mg_top,color=orange!70] coordinates {(0,0)(100,0.009)(200,0.019)(300,0.033)(400,0.053)(500,0.077)}; + \addplot[name path=n2mg_down,color=orange!70] coordinates {(0,0)(100,-0.001)(200,0.009)(300,0.025)(400,0.045)(500,0.067)}; + \addplot[orange!50,fill opacity=0.5] fill between[of=n2mg_top and n2mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=black] coordinates {(0,0)(100,0.002)(200,0.012)(300,0.031)(400,0.050)(500,0.074)}; + \addplot[name path=n3mg_top,color=black!70] coordinates {(0,0)(100,0.006)(200,0.016)(300,0.033)(400,0.053)(500,0.080)}; + \addplot[name path=n3mg_down,color=black!70] coordinates {(0,0)(100,-0.002)(200,0.008)(300,0.029)(400,0.047)(500,0.068)}; + \addplot[black!50,fill opacity=0.5] fill between[of=n3mg_top and n3mg_down]; + + \legend{Node1 ec realmix,,,,Node2 ec realmix,,,,Node3 ec realmix,,,,Node1 mg realmix,,,,Node2 mg realmix,,,,Node3 mg realmix} + \end{axis} + + \end{tikzpicture} + \caption{A graph of the average times for the realtime mix step.} + \label{fig:realmix} +\end{figure} + +\begin{figure}[!ht] + \centering + \begin{tikzpicture} + \begin{axis}[ + scaled ticks=false, tick label style={/pgf/number format/fixed}, + xmin=0, xmax=500, xtick=data, + ymin=0, ymax=1.6, + ymajorgrids=true, + grid style=dashed, + legend pos=north west, + width=\columnwidth, + height=.63*\columnwidth, + xlabel={Number of clients}, + ylabel={Time in s} + ] + + %-------------------------------------------------------------------- + \addplot[color=red] coordinates + {(0,0)(100,0.027)(200,0.054)(300,0.081)(400,0.106)(500,0.123)}; + \addplot[name path=n1ec_top,color=red!70] coordinates {(0,0)(100,0.031)(200,0.059)(300,0.085)(400,0.111)(500,0.127)}; + \addplot[name path=n1ec_down,color=red!70] coordinates {(0,0)(100,0.023)(200,0.049)(300,0.077)(400,0.101)(500,0.119)}; + \addplot[red!50,fill opacity=0.5] fill between[of=n1ec_top and n1ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=green] coordinates {(0,0)(100,0.026)(200,0.054)(300,0.080)(400,0.104)(500,0.123)}; + \addplot[name path=n2ec_top,color=green!70] coordinates {(0,0)(100,0.031)(200,0.059)(300,0.083)(400,0.109)(500,0.128)}; + \addplot[name path=n2ec_down,color=green!70] coordinates {(0,0)(100,0.021)(200,0.049)(300,0.077)(400,0.099)(500,0.118)}; + \addplot[green!50,fill opacity=0.5] fill between[of=n2ec_top and n2ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=blue] coordinates {(0,0)(100,0.126)(200,0.212)(300,0.289)(400,0.367)(500,0.451)}; + \addplot[name path=n3ec_top,color=blue!70] coordinates {(0,0)(100,0.133)(200,0.221)(300,0.302)(400,0.381)(500,0.471)}; + \addplot[name path=n3ec_down,color=blue!70] coordinates {(0,0)(100,0.119)(200,0.203)(300,0.276)(400,0.353)(500,0.431)}; + \addplot[blue!50,fill opacity=0.5] fill between[of=n3ec_top and n3ec_down]; + + %-------------------------------------------------------------------- + \addplot[color=yellow] coordinates {(0,0)(100,0.008)(200,0.029)(300,0.064)(400,0.104)(500,0.140)}; + \addplot[name path=n1mg_top,color=yellow!70] coordinates {(0,0)(100,0.012)(200,0.032)(300,0.069)(400,0.109)(500,0.145)}; + \addplot[name path=n1mg_down,color=yellow!70] coordinates {(0,0)(100,0.004)(200,0.026)(300,0.059)(400,0.099)(500,0.135)}; + \addplot[yellow!50,fill opacity=0.5] fill between[of=n1mg_top and n1mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=orange] coordinates {(0,0)(100,0.007)(200,0.029)(300,0.064)(400,0.105)(500,0.139)}; + \addplot[name path=n2mg_top,color=orange!70] coordinates {(0,0)(100,0.011)(200,0.032)(300,0.069)(400,0.112)(500,0.145)}; + \addplot[name path=n2mg_down,color=orange!70] coordinates {(0,0)(100,0.003)(200,0.026)(300,0.059)(400,0.098)(500,0.133)}; + \addplot[orange!50,fill opacity=0.5] fill between[of=n2mg_top and n2mg_down]; + + %-------------------------------------------------------------------- + \addplot[color=black] coordinates {(0,0)(100,0.259)(200,0.549)(300,0.814)(400,1.166)(500,1.475)}; + \addplot[name path=n3mg_top,color=black!70] coordinates {(0,0)(100,0.271)(200,0.554)(300,0.822)(400,1.176)(500,1.493)}; + \addplot[name path=n3mg_down,color=black!70] coordinates {(0,0)(100,0.247)(200,0.544)(300,0.806)(400,1.156)(500,1.457)}; + \addplot[black!50,fill opacity=0.5] fill between[of=n3mg_top and n3mg_down]; + + \legend{Node1 ec realpost,,,,Node2 ec realpost,,,,Node3 ec realpost,,,,Node1 mg realpost,,,,Node2 mg realpost,,,,Node3 mg realpost} + \end{axis} + + \end{tikzpicture} + \caption{A graph of the average times for the realtime postcomputation step.} + \label{fig:realpost} +\end{figure} + + + + + + + diff --git a/results/graphhelper.py b/results/graphhelper.py new file mode 100755 index 0000000..6c6bbe2 --- /dev/null +++ b/results/graphhelper.py @@ -0,0 +1,28 @@ +#!/usr/bin/python + +import re +import sys + +for line in sys.stdin: + + res = re.findall('(.*?) \((.*?)\)', line) + + plot1 = ["(0,0)"] + plot2 = ["(0,0)"] + plot3 = ["(0,0)"] + + current = 100; + for tup in res: + val = float(tup[0]); + stdev = float(tup[1]); + + plot1.append("(" + str(current) + "," + "{0:.3f}".format(val) + ")") + plot2.append("(" + str(current) + "," + "{0:.3f}".format(val + stdev) + ")") + plot3.append("(" + str(current) + "," + "{0:.3f}".format(val - stdev) + ")") + + current += 100 + + print("{{{0}}};".format("".join(plot1))) + print("{{{0}}};".format("".join(plot2))) + print("{{{0}}};".format("".join(plot3))) + @@ -19,7 +19,7 @@ % PACKAGES AND OTHER DOCUMENT CONFIGURATIONS %---------------------------------------------------------------------------------------- -\documentclass[twoside,twocolumn]{article} +\documentclass[twoside]{article} \usepackage{blindtext} % Package to generate dummy text throughout this template |
