This commit is contained in:
Eugen Betke 2018-12-19 22:47:42 +01:00
commit e6ece94f27
3 changed files with 114 additions and 11 deletions

View File

@ -58,14 +58,14 @@ dbdata$lab_count <- sprintf('Iteration %d', dbdata$count)
max_y=3500 max_y=3500
for (lab_fs in unique(dbdata$lab_fs)) { for (lab_fs in unique(dbdata$lab_fs)) {
#for (scale in c("linear", "logarithmic")) { for (scale in c("linear", "logarithmic")) {
for (scale in c("linear")) { #for (scale in c("linear")) {
p = ggplot(data=dbdata[dbdata$lab_fs==lab_fs,], aes(x=nn, y=bwMiB, colour=as.factor(blocksize/1024), group=blocksize), ymin=0) + p = ggplot(data=dbdata[dbdata$lab_fs==lab_fs,], aes(x=nn, y=bwMiB, colour=as.factor(blocksize/1024), group=blocksize), ymin=0) +
#aes(x=nn, y=bwMiB) + #aes(x=nn, y=bwMiB) +
ggtitle(sprintf("%s independent random access to a shared file with IOR", lab_fs)) + ggtitle(sprintf("%s independent random access to a shared file with IOR", lab_fs)) +
facet_grid(ppn ~ lab_access + lab_count, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) + #facet_grid(ppn ~ lab_access + lab_count, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) +
#facet_grid(ppn ~ lab_access, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) + facet_grid(ppn ~ lab_access, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) +
xlab("Nodes") + xlab("Nodes") +
ylab("Performance in MiB/s") + ylab("Performance in MiB/s") +
theme(axis.text.x=element_text(angle=90, hjust=0.95, vjust=0.5)) + theme(axis.text.x=element_text(angle=90, hjust=0.95, vjust=0.5)) +
@ -87,8 +87,8 @@ for (scale in c("linear")) {
filename_eps = sprintf("%s/%s_%s_performance.eps", folder_out, to_fn_str(lab_fs), scale) filename_eps = sprintf("%s/%s_%s_performance.eps", folder_out, to_fn_str(lab_fs), scale)
filename_png = sprintf("%s/%s_%s_performance.png", folder_out, to_fn_str(lab_fs), scale) filename_png = sprintf("%s/%s_%s_performance.png", folder_out, to_fn_str(lab_fs), scale)
ggsave(filename_png, width = 16, height = 8) ggsave(filename_png, width = 8, height = 8)
ggsave(filename_eps, width = 16, height = 8) ggsave(filename_eps, width = 8, height = 8)
#system(sprintf("epstopdf %s", filename_eps)) #system(sprintf("epstopdf %s", filename_eps))
system(sprintf("rm %s", filename_eps)) system(sprintf("rm %s", filename_eps))
@ -96,8 +96,8 @@ for (scale in c("linear")) {
aes(x=nn, y=(PortXmitData + PortRcvData) * 4 / ppn, colour=as.factor(blocksize/1024), group=blocksize) + aes(x=nn, y=(PortXmitData + PortRcvData) * 4 / ppn, colour=as.factor(blocksize/1024), group=blocksize) +
#aes(x=nn, y=bwMiB) + #aes(x=nn, y=bwMiB) +
ggtitle(sprintf('%s Infiniband throughput (PortRcvData and PortXmitData by "perfquery -x")', lab_fs)) + ggtitle(sprintf('%s Infiniband throughput (PortRcvData and PortXmitData by "perfquery -x")', lab_fs)) +
facet_grid(ppn ~ lab_access + lab_count, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) + #facet_grid(ppn ~ lab_access + lab_count, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) +
#facet_grid(ppn ~ lab_access, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) + facet_grid(ppn ~ lab_access, labeller = labeller(nn = as_labeller(nn_lab), ppn = as_labeller(ppn_lab))) +
xlab("Nodes") + xlab("Nodes") +
ylab("Performance in MiB/s") + ylab("Performance in MiB/s") +
theme(axis.text.x=element_text(angle=90, hjust=0.95, vjust=0.5)) + theme(axis.text.x=element_text(angle=90, hjust=0.95, vjust=0.5)) +
@ -116,8 +116,8 @@ for (scale in c("linear")) {
filename_eps = sprintf("%s/%s_%s_ib.eps", folder_out, to_fn_str(lab_fs), scale) filename_eps = sprintf("%s/%s_%s_ib.eps", folder_out, to_fn_str(lab_fs), scale)
filename_png = sprintf("%s/%s_%s_ib.png", folder_out, to_fn_str(lab_fs), scale) filename_png = sprintf("%s/%s_%s_ib.png", folder_out, to_fn_str(lab_fs), scale)
ggsave(filename_png, width = 16, height = 8) ggsave(filename_png, width = 8, height = 8)
ggsave(filename_eps, width = 16, height = 8) ggsave(filename_eps, width = 8, height = 8)
#system(sprintf("epstopdf %s", filename_eps)) #system(sprintf("epstopdf %s", filename_eps))
system(sprintf("rm %s", filename_eps)) system(sprintf("rm %s", filename_eps))

Binary file not shown.

View File

@ -38,7 +38,7 @@
\usepackage{float} \usepackage{float}
\graphicspath{ \graphicspath{
{./fig/} {./fig/}
{../benchmark/eval_analysis_output/} {../benchmark/eval_analysis_output_v2/}
} }
%\newcolumntype{P}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1\textwidth}} %\newcolumntype{P}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1\textwidth}}
@ -63,7 +63,56 @@ University of Reading, Reading, United Kingdom,\\
\keywords{Lustre, FUSE, evaluation, flash-based storage} \keywords{Lustre, FUSE, evaluation, flash-based storage}
\section{DDN-IME}
The IOR stonewalling option (-d 60) was used together with the wear out option (-o StonewallingWearOut=1).
In this way we make sure, that each node writes the same amount of data, even if the stonewalling deadline is achieved.
For read access a 12TB test file was pre-created and used for all experiments.
Since IME has the ability to migrate data from back-end file system to IMEs and vice versa, we made sure that this file was always locate on IMEs.
For write access we used a separate test file, which was always deleted after each test run.
\begin{table}
\centering
\begin{tabular}{l|l}
Parameter & Values \\
\hline
Number of nodes & 1, 2, 4, 8, 16 \\
Processes per node & 1, 4, 8, 16 \\
Access & read, write \\
Block sizes & 16KiB, 100KiB, 1MiB, 10MiB \\
Iterations & 3 \\
\end{tabular}
\caption{Explored parameteres}
\label{tab:params:ime}
\end{table}
During the parameter exploration 540 experimentes were conducted.
The explored parameters are showed in \Cref{tab:params:ime}.
The resulting peformance is showed in \Cref{fig:perf:linear:ime}.
\begin{figure}
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=0.9\textwidth]{ime_linear_performance.png}
\caption{Linear scale}
\label{fig:perf:linear:ime}
\end{subfigure}
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=0.9\textwidth]{ime_logarithmic_performance.png}
\caption{Logarithmic scale}
\label{fig:perf:log:ime}
\end{subfigure}
\caption{Native IME random performance to a shared file measured with IOR}
\end{figure}
\textbf{Reproducible performance}
\textbf{Good scaling behaviour for large blocks}
\textbf{Limited scaling behavour for small block sizes}
\section{IBM Spectrum Scale} \section{IBM Spectrum Scale}
% https://support.dvsus.com/hc/en-us/articles/212928566-GPFS-general-commands- % https://support.dvsus.com/hc/en-us/articles/212928566-GPFS-general-commands-
@ -74,6 +123,60 @@ University of Reading, Reading, United Kingdom,\\
A GPFS 4.2.3.0 file system was used as back-end for IMEs. A GPFS 4.2.3.0 file system was used as back-end for IMEs.
The pagepool was 6GB large. The pagepool was 6GB large.
\begin{table}
\centering
\begin{tabular}{l|l}
Parameter & Values \\
\hline
Number of nodes & 1, 2, 4, 8, 16 \\
Processes per node & 1, 4, 8 \\
Access & read, write \\
Block sizes & 16KiB, 100KiB, 1MiB, 10MiB \\
Iterations & 3 \\
\end{tabular}
\caption{Explored parameteres}
\label{tab:params:gpfs}
\end{table}
During the parameter exploration 540 experimentes were conducted.
The explored parameters are showed in \Cref{tab:params:ime}.
The resulting peformance is showed in \Cref{fig:perf:linear:ime}.
\begin{figure}
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=0.8\textwidth]{ibm_spectrum_scale_linear_performance.png}
\caption{Linear scale}
\label{fig:perf:linear:gpfs}
\end{subfigure}
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=0.8\textwidth]{ibm_spectrum_scale_logarithmic_performance.png}
\caption{Logarithmic scale}
\label{fig:perf:log:gpfs}
\end{subfigure}
\caption{Native IME random performance to a shared file measured with IOR}
\label{fig:perf:gpfs}
\end{figure}
\begin{figure}
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=0.8\textwidth]{ibm_spectrum_scale_linear_ib.png}
\caption{Linear scale}
\label{fig:ib:linear:gpfs}
\end{subfigure}
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=0.8\textwidth]{ibm_spectrum_scale_logarithmic_ib.png}
\caption{Logarithmic scale}
\label{fig:ib:log:gpfs}
\end{subfigure}
\caption{Native IME random performance to a shared file measured with IOR}
\label{fig:ib:gpfs}
\end{figure}
\subsection{Benchmarks} \subsection{Benchmarks}