diff --git a/performance_clusters.tex b/performance_clusters.tex index fa0ca95..db1078e 100644 --- a/performance_clusters.tex +++ b/performance_clusters.tex @@ -27,16 +27,6 @@ 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 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 @@ -49,48 +39,6 @@ Cluster thresholds of 1\% and 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 - \includegraphics[width=\columnwidth]{{./figures/plots/496/stability_metrics/transition_percent_across_thresholds}.pdf} - \end{subfigure} -\vspace{-0.5em} -\caption{\textbf{Number of Transitions with Varying Inefficiency Budgets and -Cluster Thresholds:} The number of frequency transitions decrease with increase in cluster -threshold. The amount of change varies with benchmark and inefficiency budget.} -%Decrease in number of transitions is dependent on benchmark and -%inefficiency budget.} -\label{transitions-bar} -\end{figure*} - -\begin{figure*}[t] - \begin{subfigure}[t]{\textwidth} - \centering - \includegraphics[width=\columnwidth]{{./figures/plots/496/stable_length_box/stable_length_box}.pdf} - \end{subfigure}% -\vspace{0.5em} -\caption{\textbf{Distribution of Length of Stable Regions:} The average length of -stable regions increases with cluster threshold. -%While inefficiency budget has significant impact on length of stable regions -%for \textit{lbm}, it doesn't change the length of stable regions of -%\textit{gobmk} much. -} -\label{box-lengths} -\end{figure*} - Figures~\ref{clusters-gobmk}(c),~\ref{clusters-gobmk}(d) plot the performance clusters for \textit{gobmk} for inefficiency budget of 1.3 and @@ -142,6 +90,29 @@ performance within set cluster threshold (for example samples 3-5 in Figures~\ref{clusters-gobmk}(a),~\ref{clusters-gobmk}(c)). Figure~\ref{clusters-milc} shows that \textit{milc} has similar trends as \textit{gobmk}. +\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*} An interesting observation from the performance clusters is that algorithms like CoScale~\cite{deng2012coscale} that search for the best performing settings every interval starting @@ -150,6 +121,33 @@ overhead of optimal settings search by starting search from the settings selecte for the previous interval as application phases are often stable for multiple sample intervals. %as the application phases don't change drastically in %short intervals. +\begin{figure*}[t] + \begin{subfigure}[t]{\textwidth} + \centering + \includegraphics[width=\columnwidth]{{./figures/plots/496/stability_metrics/transition_percent_across_thresholds}.pdf} + \end{subfigure} +\vspace{-0.5em} +\caption{\textbf{Number of Transitions with Varying Inefficiency Budgets and +Cluster Thresholds:} The number of frequency transitions decrease with increase in cluster +threshold. The amount of change varies with benchmark and inefficiency budget.} +%Decrease in number of transitions is dependent on benchmark and +%inefficiency budget.} +\label{transitions-bar} +\end{figure*} +\begin{figure*}[t] + \begin{subfigure}[t]{\textwidth} + \centering + \includegraphics[width=\columnwidth]{{./figures/plots/496/stable_length_box/stable_length_box}.pdf} + \end{subfigure}% +\vspace{0.5em} +\caption{\textbf{Distribution of Length of Stable Regions:} The average length of +stable regions increases with cluster threshold. +%While inefficiency budget has significant impact on length of stable regions +%for \textit{lbm}, it doesn't change the length of stable regions of +%\textit{gobmk} much. +} +\label{box-lengths} +\end{figure*} \subsection{Stable Regions} So far, we have made observations by @@ -185,39 +183,6 @@ currently designing algorithms in hardware and software that are capable of tuni running the application as future work. In Section~\ref{sec-algo-implications}, we propose ways in which length of stable regions and the available settings for a given region can be predicted for energy management algorithms in real systems. -\begin{figure}[t] -% \begin{subfigure}[t]{0.45\textwidth} -% \centering -% \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/energy_bar_normalized_0.0_0_0}.pdf} -% \vspace{-2.5em} -% \end{subfigure}% -% \begin{subfigure}[t]{0.45\textwidth} - \centering - \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/performance_bar_normalized_0.0_0_0}.pdf} -% \vspace{-2.5em} -% \end{subfigure}% -\caption{\textbf{Variation of Performance with Inefficiency:} Performance -improves with increase in inefficiency budget, but the amount of improvement varies across benchmarks. -%\XXXnote{Is this description sufficient?} -%System always stays under the given inefficiency budget. -%Maximum inefficiency consumed by the system is bounded by the application and -%devices. -} -\label{ineff-perf} -\end{figure} - -\begin{figure*}[t] - \begin{subfigure}[t]{\textwidth} - \centering - \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/energy_perf_bar_1.3}.pdf} - \end{subfigure} -\vspace{-0.5em} -\caption{\textbf{Energy-performance Trade-offs for Inefficiency Budget of 1.3, -Multiple Cluster Thresholds:} Performance degradation is always within the -cluster threshold. Allowing small degradation in performance reduces energy -consumption, which decreases further when tuning overhead is included.} -\label{energy-perf-trade-off} -\end{figure*} Figure~\ref{stable-regions} plots stable regions for benchmarks \textit{gcc} and \textit{lbm} for multiple inefficiency budgets and cluster thresholds. With @@ -258,6 +223,39 @@ Therefore the number of transition per billion instructions decrease only slight with increase in cluster threshold and inefficiency budget for \textit{gobmk}. Figure~\ref{box-lengths}(c) summarizes the distribution of stable region lengths observed across benchmarks for multiple cluster thresholds at inefficiency budget of 1.3. +\begin{figure}[t] +% \begin{subfigure}[t]{0.45\textwidth} +% \centering +% \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/energy_bar_normalized_0.0_0_0}.pdf} +% \vspace{-2.5em} +% \end{subfigure}% +% \begin{subfigure}[t]{0.45\textwidth} + \centering + \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/performance_bar_normalized_0.0_0_0}.pdf} +% \vspace{-2.5em} +% \end{subfigure}% +\caption{\textbf{Variation of Performance with Inefficiency:} Performance +improves with increase in inefficiency budget, but the amount of improvement varies across benchmarks. +%\XXXnote{Is this description sufficient?} +%System always stays under the given inefficiency budget. +%Maximum inefficiency consumed by the system is bounded by the application and +%devices. +} +\label{ineff-perf} +\end{figure} + +\begin{figure*}[t] + \begin{subfigure}[t]{\textwidth} + \centering + \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/energy_perf_bar_1.3}.pdf} + \end{subfigure} +\vspace{-0.5em} +\caption{\textbf{Energy-performance Trade-offs for Inefficiency Budget of 1.3, +Multiple Cluster Thresholds:} Performance degradation is always within the +cluster threshold. Allowing small degradation in performance reduces energy +consumption, which decreases further when tuning overhead is included.} +\label{energy-perf-trade-off} +\end{figure*} \subsection{Energy-Performance Trade-offs} In this subsection we analyze the energy-performance trade-offs made by our