summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2017-07-18 17:16:58 +0200
committerDennis Brentjes <d.brentjes@gmail.com>2017-07-18 17:16:58 +0200
commitaa3c3d52f6c739982985bb7ffe16344f341c1ade (patch)
tree105ebdcb182f4cf415b47734227a312e84f8155b /content
parent7de3ad6ccd0b6e995e374614f29b16872c0daae2 (diff)
downloadthesis-aa3c3d52f6c739982985bb7ffe16344f341c1ade.tar.gz
thesis-aa3c3d52f6c739982985bb7ffe16344f341c1ade.tar.bz2
thesis-aa3c3d52f6c739982985bb7ffe16344f341c1ade.zip
Adds 6 graphs to the thesis.
Diffstat (limited to 'content')
-rw-r--r--content/results.tex462
1 files changed, 392 insertions, 70 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}
+
+
+
+
+
+
+