ltcp/bericht/abschnitte/bench-imb.tex

307 lines
5.1 KiB
TeX

\subsection{Intel MPI Benchmark (IMB)}
Zur Messung der Kommunikationsleistung wurden die MPI-Test Ping-Pong, Barrier, Allreduce und Alltoall mit variierenden Nachrichtengrößen durchgeführt.
\subsubsection{Ping-Pong}
\pgfplotstableread{
fs t s
0 88.99 0.00
1 109.42 0.01
2 109.43 0.02
4 109.62 0.03
8 109.83 0.07
16 109.87 0.14
32 110.12 0.28
64 143.19 0.43
128 149.24 0.82
256 150.41 1.62
512 155.65 3.14
1024 160.39 6.09
2048 164.54 11.87
4096 217.32 17.97
8192 308.20 25.35
16384 434.78 35.94
32768 573.14 54.52
65536 1742.36 35.87
131072 1800.80 69.41
262144 3070.65 81.42
524288 5457.60 91.62
1048576 10350.31 96.62
2097152 20150.02 99.26
4194304 38953.70 102.69
8388608 77368.40 103.40
16777216 154088.97 103.84
33554432 319229.01 100.24
67108864 634328.48 100.89
134217728 1262632.97 101.38
268435456 2514089.47 101.83
536870912 5052755.00 101.33
}\imbpingpong
\begin{tikzpicture}
\begin{axis}[
xmin=1,
xmax=536870912,
xmode=log,
ymode=log,
ytick pos=left,
log basis x=2,
xlabel={Dateigröße in KiB},
ylabel={Zugriffszeit in $\mu$s},
y axis line style=blue,
width=15cm, height=10cm
]
\addplot[smooth,blue] table[x={fs}, y={t}] {\imbpingpong};
\end{axis}
\begin{axis}[
xmin=1,
xmax=536870912,
xmode=log,
ytick pos=right,
axis y line* = right,
hide x axis,
ylabel={Übertragungsgeschwindigkeit in MiB/s},
ylabel near ticks,
y axis line style=red,
width=15cm, height=10cm
]
\addplot[smooth,red] table[x={fs}, y={s}] {\imbpingpong};
\end{axis}
\end{tikzpicture}
\subsubsection{Barrier}
Verzögerungszeiten: (jeweils Mittelwert aus 1000 Messläufen)
\begin{itemize}
\item 2 Prozesse: 151 $\mu$s
\item 4 Prozesse: 177 $\mu$s
\item 8 Prozesse: 670 $\mu$s
\end{itemize}
\pagebreak
\subsubsection{All-to-All}
\paragraph{2 Prozesse} \mbox{}\\
\pgfplotstableread{
0 0.15
1 143.44
2 143.50
4 143.05
8 144.55
16 143.11
32 145.24
64 255.02
128 273.25
256 282.80
512 286.73
1024 287.12
2048 245.55
4096 335.79
8192 371.86
16384 456.60
32768 669.11
65536 2821.84
}\imballtoall
\begin{tikzpicture}
\begin{axis}[
xmin=1,
xmax=65536,
xmode=log,
log basis x=2,
xlabel={Dateigröße in MiB},
ylabel={Zugriffszeit in $\mu$s},
width=15cm, height=10cm
]
\addplot[smooth,blue] table {\imballtoall};
\end{axis}
\end{tikzpicture}
\paragraph{4 Prozesse} \mbox{}\\
\pgfplotstableread{
0 0.16
1 286.87
2 977.17
4 286.50
8 1233.80
16 294.61
32 1661.17
64 5119.18
128 341.65
256 807.20
512 359.30
1024 4582.34
2048 425.47
4096 805.06
8192 1238.56
16384 1859.28
32768 2307.79
65536 7490.86
}\imballtoall
\begin{tikzpicture}
\begin{axis}[
xmin=1,
xmax=65536,
xmode=log,
log basis x=2,
xlabel={Dateigröße in MiB},
ylabel={Zugriffszeit in $\mu$s},
width=15cm, height=10cm
]
\addplot[smooth,blue] table {\imballtoall};
\end{axis}
\end{tikzpicture}
\pagebreak
\paragraph{8 Prozesse} \mbox{}\\
\pgfplotstableread{
0 0.17
1 29772.58
2 30518.69
4 31073.18
8 23189.25
16 9623.66
32 37315.96
64 19665.14
128 37998.11
256 54676.67
512 68468.67
1024 143223.38
2048 9301.88
4096 170422.20
8192 7619.07
16384 27772.60
32768 276603.04
65536 351964.27
}\imballtoall
\begin{tikzpicture}
\begin{axis}[
xmin=1,
xmax=65536,
xmode=log,
log basis x=2,
xlabel={Dateigröße in MiB},
ylabel={Zugriffszeit in $\mu$s},
width=15cm, height=10cm
]
\addplot[smooth,blue] table {\imballtoall};
\end{axis}
\end{tikzpicture}
\subsubsection{All-Reduce}
\paragraph{2 Prozesse} \mbox{}\\
\pgfplotstableread{
0 0.15
4 144.45
8 143.73
16 144.26
32 148.73
64 256.37
128 282.03
256 253.17
512 269.54
1024 286.83
2048 184.63
4096 324.95
8192 377.51
16384 717.09
32768 866.90
65536 1293.20
}\imballtoall
\begin{tikzpicture}
\begin{axis}[
xmin=1,
xmax=65536,
xmode=log,
log basis x=2,
xlabel={Dateigröße in MiB},
ylabel={Zugriffszeit in $\mu$s},
width=15cm, height=10cm
]
\addplot[smooth,blue] table {\imballtoall};
\end{axis}
\end{tikzpicture}
\pagebreak
\paragraph{4 Prozesse} \mbox{}\\
\pgfplotstableread{
0 0.16
4 269.55
8 222.32
16 271.71
32 222.10
64 289.93
128 291.06
256 289.65
512 293.38
1024 349.66
2048 321.04
4096 488.41
8192 587.40
16384 2010.40
32768 2396.95
65536 3498.13
}\imballtoall
\begin{tikzpicture}
\begin{axis}[
xmin=1,
xmax=65536,
xmode=log,
log basis x=2,
xlabel={Dateigröße in MiB},
ylabel={Zugriffszeit in $\mu$s},
width=15cm, height=10cm
]
\addplot[smooth,blue] table {\imballtoall};
\end{axis}
\end{tikzpicture}
\paragraph{8 Prozesse} \mbox{}\\
\pgfplotstableread{
0 0.16
4 7048.69
8 8410.30
16 7831.95
32 8408.59
64 6417.31
128 11163.88
256 18099.17
512 27901.94
1024 29209.31
2048 2598.34
4096 2781.34
8192 2232.44
16384 4275.79
32768 5040.09
65536 7782.45
}\imballtoall
\begin{tikzpicture}
\begin{axis}[
xmin=1,
xmax=65536,
xmode=log,
log basis x=2,
xlabel={Dateigröße in MiB},
ylabel={Zugriffszeit in $\mu$s},
width=15cm, height=10cm
]
\addplot[smooth,blue] table {\imballtoall};
\end{axis}
\end{tikzpicture}