Merge branch 'master' of http://git.hps.vi4io.org/eugen.betke/ddn-ime-evaluation
This commit is contained in:
commit
e6ece94f27
|
@ -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.
105
paper/paper.tex
105
paper/paper.tex
|
@ -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}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue