.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
\section{Experiments}\label{sec:experiments}
|
||||
\section{Experiments}\label{sec:transformationexperiments}
|
||||
|
||||
We conducted all experiments on a multi-core system with four Intel Xeon E7-4870 10-core CPUs at \SI{2.40}{\giga\hertz} with \SI{128}{\giga\byte} of RAM. We used the GNU \texttt{gcc} compiler version 4.9.1 to compile the generated workflow programs with the \texttt{-O3} optimization flag.
|
||||
|
||||
@@ -12,9 +12,9 @@ We used the HEFT~\cite{heft02} scheduling algorithm in all experiments unless ot
|
||||
|
||||
\begin{figure*}[t]
|
||||
\centering
|
||||
\subfloat[Original workflow.]{\includegraphics[height=4cm]{./figures/Raincloud-experiments1.pdf}\label{fig:raincloud-structure1}}\qquad
|
||||
\subfloat[After loop unswitching.]{\includegraphics[height=4cm]{./figures/Raincloud-experiments2.pdf}\label{fig:raincloud-structure2}}\qquad
|
||||
\subfloat[After loop unswitching and loop unrolling.]{\includegraphics[height=4cm]{./figures/Raincloud-experiments3.pdf}\label{fig:raincloud-structure3}}
|
||||
\subfloat[Original workflow.]{\includegraphics[height=4cm]{./workflowtransformations/figures/Raincloud-experiments1.pdf}\label{fig:raincloud-structure1}}\qquad
|
||||
\subfloat[After loop unswitching.]{\includegraphics[height=4cm]{./workflowtransformations/figures/Raincloud-experiments2.pdf}\label{fig:raincloud-structure2}}\qquad
|
||||
\subfloat[After loop unswitching and loop unrolling.]{\includegraphics[height=4cm]{./workflowtransformations/figures/Raincloud-experiments3.pdf}\label{fig:raincloud-structure3}}
|
||||
\caption{RainCloud workflow.}
|
||||
\label{fig:raincloud-structure}
|
||||
\end{figure*}
|
||||
@@ -28,12 +28,12 @@ To enable loop unrolling, we exchanged \texttt{parallel foreach} with a \texttt{
|
||||
|
||||
\begin{figure*}[t]
|
||||
\centering
|
||||
\subfloat[Early evaluation enactment.]{\includegraphics[width=.33\textwidth]{./figures/raincloud-EnactmentTimeEarly.pdf}\label{fig:raincloud-results-enactment-early}}
|
||||
\subfloat[Late evaluation enactment.]{\includegraphics[width=.33\textwidth]{./figures/raincloud-EnactmentTimeLate.pdf}\label{fig:raincloud-results-enactment-late}}
|
||||
\subfloat[WEP length.]{\includegraphics[width=.33\textwidth]{./figures/raincloud-NodeCountLate.pdf}\label{fig:raincloud-results-nodecount}}\\
|
||||
\subfloat[Early evaluation WEP visitation.]{\includegraphics[width=.33\textwidth]{./figures/raincloud-VisitationCountEarly.pdf}\label{fig:raincloud-results-visitations-early}}
|
||||
\subfloat[Late evaluation WEP visitation.]{\includegraphics[width=.33\textwidth]{./figures/raincloud-VisitationCountLate.pdf}\label{fig:raincloud-results-visitations-late}}
|
||||
\subfloat[Memory usage.]{\includegraphics[width=.33\textwidth]{./figures/raincloud-MemoryLate.pdf}\label{fig:raincloud-results-memory}}
|
||||
\subfloat[Early evaluation enactment.]{\includegraphics[width=.33\textwidth]{./workflowtransformations/figures/raincloud-EnactmentTimeEarly.pdf}\label{fig:raincloud-results-enactment-early}}
|
||||
\subfloat[Late evaluation enactment.]{\includegraphics[width=.33\textwidth]{./workflowtransformations/figures/raincloud-EnactmentTimeLate.pdf}\label{fig:raincloud-results-enactment-late}}
|
||||
\subfloat[WEP length.]{\includegraphics[width=.33\textwidth]{./workflowtransformations/figures/raincloud-NodeCountLate.pdf}\label{fig:raincloud-results-nodecount}}\\
|
||||
\subfloat[Early evaluation WEP visitation.]{\includegraphics[width=.33\textwidth]{./workflowtransformations/figures/raincloud-VisitationCountEarly.pdf}\label{fig:raincloud-results-visitations-early}}
|
||||
\subfloat[Late evaluation WEP visitation.]{\includegraphics[width=.33\textwidth]{./workflowtransformations/figures/raincloud-VisitationCountLate.pdf}\label{fig:raincloud-results-visitations-late}}
|
||||
\subfloat[Memory usage.]{\includegraphics[width=.33\textwidth]{./workflowtransformations/figures/raincloud-MemoryLate.pdf}\label{fig:raincloud-results-memory}}
|
||||
\caption{RainCloud workflow experimental results.}
|
||||
\label{fig:raincloud-results-enactment}
|
||||
\end{figure*}
|
||||
@@ -48,9 +48,9 @@ Loop unrolling reduces loop iteration management overhead, which additionally im
|
||||
|
||||
\begin{figure*}[t]
|
||||
\centering
|
||||
\subfloat[Original workflow.]{\includegraphics[height=6.1cm]{./figures/meteoag01.pdf}\label{fig:meteoag-structure1}}\qquad
|
||||
\subfloat[After loop unswitching.]{\includegraphics[height=6.1cm]{./figures/meteoag02.pdf}\label{fig:meteoag-structure2}}\qquad
|
||||
\subfloat[After loop unswitching and loop unrolling.]{\includegraphics[height=6.1cm]{./figures/meteoag03.pdf}\label{fig:meteoag-structure3}}
|
||||
\subfloat[Original workflow.]{\includegraphics[height=6.1cm]{./workflowtransformations/figures/meteoag01.pdf}\label{fig:meteoag-structure1}}\qquad
|
||||
\subfloat[After loop unswitching.]{\includegraphics[height=6.1cm]{./workflowtransformations/figures/meteoag02.pdf}\label{fig:meteoag-structure2}}\qquad
|
||||
\subfloat[After loop unswitching and loop unrolling.]{\includegraphics[height=6.1cm]{./workflowtransformations/figures/meteoag03.pdf}\label{fig:meteoag-structure3}}
|
||||
\caption{MeteoAG workflow.}
|
||||
\label{fig:meteoag-structure}
|
||||
\end{figure*}
|
||||
@@ -59,9 +59,9 @@ Loop unrolling reduces loop iteration management overhead, which additionally im
|
||||
|
||||
\begin{figure*}[t]
|
||||
\centering
|
||||
\subfloat[Speedup.]{\includegraphics[width=.33\textwidth]{./figures/meteoag-speedup.pdf}\label{fig:meteoag-speedup}}
|
||||
\subfloat[Early evaluation enactment.]{\includegraphics[width=.33\textwidth]{./figures/meteoag-enactment-early.pdf}\label{fig:meteoag-enactment-early}}
|
||||
\subfloat[Late evaluation enactment.]{\includegraphics[width=.33\textwidth]{./figures/meteoag-enactment-late.pdf}\label{fig:meteoag-enactment-late}}
|
||||
\subfloat[Speedup.]{\includegraphics[width=.33\textwidth]{./workflowtransformations/figures/meteoag-speedup.pdf}\label{fig:meteoag-speedup}}
|
||||
\subfloat[Early evaluation enactment.]{\includegraphics[width=.33\textwidth]{./workflowtransformations/figures/meteoag-enactment-early.pdf}\label{fig:meteoag-enactment-early}}
|
||||
\subfloat[Late evaluation enactment.]{\includegraphics[width=.33\textwidth]{./workflowtransformations/figures/meteoag-enactment-late.pdf}\label{fig:meteoag-enactment-late}}
|
||||
\caption{MeteoAG workflow experimental results.}
|
||||
\label{fig:meteoag-results}
|
||||
\end{figure*}
|
||||
@@ -81,8 +81,8 @@ Common activity elimination reduces the number of atomic activities in our examp
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\subfloat[Loop hoisting makespan.]{\includegraphics[width=.8\columnwidth]{./figures/loophoisting-Makespan.pdf}\label{fig:raincloud-results-loophoisting-makespan}}\\
|
||||
\subfloat[Common activity elimination makespan.]{\includegraphics[width=.8\columnwidth]{./figures/elimination-Makespan.pdf}\label{fig:raincloud-results-elimination-makespan}}
|
||||
\subfloat[Loop hoisting makespan.]{\includegraphics[width=.8\columnwidth]{./workflowtransformations/figures/loophoisting-Makespan.pdf}\label{fig:raincloud-results-loophoisting-makespan}}\\
|
||||
\subfloat[Common activity elimination makespan.]{\includegraphics[width=.8\columnwidth]{./workflowtransformations/figures/elimination-Makespan.pdf}\label{fig:raincloud-results-elimination-makespan}}
|
||||
\caption{Loop hoisting and common activity elimination results.}
|
||||
\label{fig:raincloud-results-elimination-loophoisting}
|
||||
\end{figure}
|
||||
@@ -98,16 +98,16 @@ in all scenarios where the number of inner loop iterations is not a multiple of
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\subfloat[Original workflow.]{\includegraphics[height=4.2cm]{./figures/Sparselu-experiments1.pdf}\label{fig:Sparselu-experiments1}}\qquad
|
||||
\subfloat[After loop fusion.]{\includegraphics[height=4.2cm]{./figures/Sparselu-experiments2.pdf}\label{fig:Sparselu-experiments2}}
|
||||
\subfloat[Original workflow.]{\includegraphics[height=4.2cm]{./workflowtransformations/figures/Sparselu-experiments1.pdf}\label{fig:Sparselu-experiments1}}\qquad
|
||||
\subfloat[After loop fusion.]{\includegraphics[height=4.2cm]{./workflowtransformations/figures/Sparselu-experiments2.pdf}\label{fig:Sparselu-experiments2}}
|
||||
\caption{Sparselu workflow.}
|
||||
\label{fig:sparselu-structure}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\subfloat[Early evaluation mode.]{\includegraphics[width=.8\columnwidth]{./figures/Sparselu-Heft-Speedup-early.pdf}\label{fig:Sparselu-Heft-Speedup-early}}\\
|
||||
\subfloat[Late evaluation mode.]{\includegraphics[width=.8\columnwidth]{./figures/Sparselu-Heft-Speedup-late.pdf}\label{fig:Sparselu-Heft-Speedup-late}}
|
||||
\subfloat[Early evaluation mode.]{\includegraphics[width=.8\columnwidth]{./workflowtransformations/figures/Sparselu-Heft-Speedup-early.pdf}\label{fig:Sparselu-Heft-Speedup-early}}\\
|
||||
\subfloat[Late evaluation mode.]{\includegraphics[width=.8\columnwidth]{./workflowtransformations/figures/Sparselu-Heft-Speedup-late.pdf}\label{fig:Sparselu-Heft-Speedup-late}}
|
||||
\caption{Speedup of Sparselu caused by scheduling improvements.}
|
||||
\label{fig:Sparselu-Heft-Speedup}
|
||||
\end{figure}
|
||||
@@ -118,8 +118,8 @@ in all scenarios where the number of inner loop iterations is not a multiple of
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\subfloat[Original workflow.]{\includegraphics[height=4.5cm]{./figures/blast-experiment01.pdf}\label{fig:blast-experiment01}}\hspace{2mm}
|
||||
\subfloat[After reduction recognition.]{\includegraphics[height=4.5cm]{./figures/blast-experiment02.pdf}\label{fig:blast-experiment02}}
|
||||
\subfloat[Original workflow.]{\includegraphics[height=4.5cm]{./workflowtransformations/figures/blast-experiment01.pdf}\label{fig:blast-experiment01}}\hspace{2mm}
|
||||
\subfloat[After reduction recognition.]{\includegraphics[height=4.5cm]{./workflowtransformations/figures/blast-experiment02.pdf}\label{fig:blast-experiment02}}
|
||||
\caption{Blast workflow.}
|
||||
\label{fig:blast-structure}
|
||||
\end{figure}
|
||||
@@ -136,8 +136,8 @@ For software pipelining, we implemented the workflow from Figure~\ref{fig:transf
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
\subfloat[Reduction recognition makespan.]{\includegraphics[width=.8\columnwidth]{./figures/blast-reduction.pdf}\label{fig:results-reduction-makespan}}\\
|
||||
\subfloat[Software pipelining makespan.]{\includegraphics[width=.8\columnwidth]{./figures/pipelining-Makespan.pdf}\label{fig:results-pipelining-makespan}}
|
||||
\subfloat[Reduction recognition makespan.]{\includegraphics[width=.8\columnwidth]{./workflowtransformations/figures/blast-reduction.pdf}\label{fig:results-reduction-makespan}}\\
|
||||
\subfloat[Software pipelining makespan.]{\includegraphics[width=.8\columnwidth]{./workflowtransformations/figures/pipelining-Makespan.pdf}\label{fig:results-pipelining-makespan}}
|
||||
\caption{Software pipelining and reduction recognition results.}
|
||||
\label{fig:results-pipelining-reduction}
|
||||
\end{figure}
|
||||
|
||||
Reference in New Issue
Block a user