diff --git a/performance_clusters.tex b/performance_clusters.tex index d6f74c2..0c605a5 100644 --- a/performance_clusters.tex +++ b/performance_clusters.tex @@ -1,29 +1,5 @@ \section{Performance Clusters} \label{sec-perf-clusters} -\begin{figure}[t] - \centering - \includegraphics[width=\columnwidth]{./figures/plots/496/stable_line_plots/lbm_stable_lineplot_annotated_5.pdf} -\vspace{-0.5em} -\caption{\textbf{Stable Regions and Transitions for \textit{lbm} with -Threshold of 5\% and Inefficiency Budget of 1.3:} Solid lines represent the -stable regions and vertical dashed lines mark the transitions made by -\textit{lbm}.} -\label{lbm-stable-line-5-annotated} -\end{figure} -\begin{figure*}[t] - \begin{subfigure}[t]{\textwidth} - \centering - \vspace{-1em} - \includegraphics[width=\columnwidth]{{./figures/plots/496/stable_line_plots/stable_lineplot}.pdf} - \end{subfigure}% -\vspace{0.5em} -\caption{\textbf{Stable Regions of \textit{gcc} and \textit{lbm} for -Inefficiency Budget of 1.3:} Increase in cluster threshold increases the length -of the stable regions, which eventually leads to less transitions. Higher -inefficiency budgets allow system to run unconstrained throughout.} -\label{stable-regions} -\end{figure*} - Tracking the best performance settings for a given inefficiency budget is expensive. In this section, we study how we can amortize the cost by trading-off some performance. We define the concept of \textit{performance clusters}. @@ -51,7 +27,41 @@ We search for the performance clusters using an algorithm that is similar to the first filter the settings that fall within a given inefficiency budget and then search for the optimal settings in the first pass. In the second pass, we find all of the settings that have a speedup within the specified \textit{cluster threshold} of the optimal performance. +\begin{figure}[t] + \centering + \includegraphics[width=\columnwidth]{./figures/plots/496/stable_line_plots/lbm_stable_lineplot_annotated_5.pdf} +\vspace{-0.5em} +\caption{\textbf{Stable Regions and Transitions for \textit{lbm} with +Threshold of 5\% and Inefficiency Budget of 1.3:} Solid lines represent the +stable regions and vertical dashed lines mark the transitions made by +\textit{lbm}.} +\label{lbm-stable-line-5-annotated} +\end{figure} +Figures~\ref{clusters-gobmk},~\ref{clusters-milc} plot the performance +clusters during the execution of the benchmarks \textit{gobmk} and \textit{milc}. We +plot inefficiency budgets of 1 and 1.3 and cluster thresholds of 1\% and 5\%. For +our benchmarks, we observed that the maximum achievable inefficiency is anywhere from 1.5 to 2. We +chose inefficiency budgets of 1 and 1.3 to cover low and mid inefficiency +budgets. %, as energy distribution among components becomes critical to extract best performance. +Cluster thresholds of 1\% and +5\% allow us to model the two extremes of tolerable performance degradation bounds. +A cluster threshold of less than 1\% may limit the ability to tune less often. +While cluster thresholds greater than 5\% are probably not realistic as user is already +compromising performance by setting low inefficiency budgets to save energy. +\begin{figure*}[t] + \begin{subfigure}[t]{\textwidth} + \centering + \vspace{-1em} + \includegraphics[width=\columnwidth]{{./figures/plots/496/stable_line_plots/stable_lineplot}.pdf} + \end{subfigure}% +\vspace{0.5em} +\caption{\textbf{Stable Regions of \textit{gcc} and \textit{lbm} for +Inefficiency Budget of 1.3:} Increase in cluster threshold increases the length +of the stable regions, which eventually leads to less transitions. Higher +inefficiency budgets allow system to run unconstrained throughout.} +\label{stable-regions} +\end{figure*} \begin{figure*}[t] \begin{subfigure}[t]{\textwidth} \centering @@ -81,17 +91,6 @@ stable regions increases with cluster threshold. \label{box-lengths} \end{figure*} -Figures~\ref{clusters-gobmk},~\ref{clusters-milc} plot the performance -clusters during the execution of the benchmarks \textit{gobmk} and \textit{milc}. We -plot inefficiency budgets of 1 and 1.3 and cluster thresholds of 1\% and 5\%. For -our benchmarks, we observed that the maximum achievable inefficiency is anywhere from 1.5 to 2. We -chose inefficiency budgets of 1 and 1.3 to cover low and mid inefficiency -budgets. %, as energy distribution among components becomes critical to extract best performance. -Cluster thresholds of 1\% and -5\% allow us to model the two extremes of tolerable performance degradation bounds. -A cluster threshold of less than 1\% may limit the ability to tune less often. -While cluster thresholds greater than 5\% are probably not realistic as user is already -compromising performance by setting low inefficiency budgets to save energy. Figures~\ref{clusters-gobmk}(c),~\ref{clusters-gobmk}(d) plot the performance clusters for \textit{gobmk} for inefficiency budget of 1.3 and