Commit e831f171651f96913ff2dc05ada60759ac7bde7d
1 parent
bf41694a
moving figures around
Showing
1 changed file
with
83 additions
and
85 deletions
performance_clusters.tex
| @@ -27,16 +27,6 @@ We search for the performance clusters using an algorithm that is similar to the | @@ -27,16 +27,6 @@ We search for the performance clusters using an algorithm that is similar to the | ||
| 27 | first filter the settings that fall within a given inefficiency budget and | 27 | first filter the settings that fall within a given inefficiency budget and |
| 28 | then search for the optimal settings in the first pass. In the second pass, we find all of the | 28 | then search for the optimal settings in the first pass. In the second pass, we find all of the |
| 29 | settings that have a speedup within the specified cluster threshold of the optimal performance. | 29 | settings that have a speedup within the specified cluster threshold of the optimal performance. |
| 30 | -\begin{figure}[t] | ||
| 31 | - \centering | ||
| 32 | - \includegraphics[width=\columnwidth]{./figures/plots/496/stable_line_plots/lbm_stable_lineplot_annotated_5.pdf} | ||
| 33 | -\vspace{-0.5em} | ||
| 34 | -\caption{\textbf{Stable Regions and Transitions for \textit{lbm} with | ||
| 35 | -Threshold of 5\% and Inefficiency Budget of 1.3:} Solid lines represent the | ||
| 36 | -stable regions and vertical dashed lines mark the transitions made by | ||
| 37 | -\textit{lbm}.} | ||
| 38 | -\label{lbm-stable-line-5-annotated} | ||
| 39 | -\end{figure} | ||
| 40 | 30 | ||
| 41 | Figures~\ref{clusters-gobmk},~\ref{clusters-milc} plot the performance | 31 | Figures~\ref{clusters-gobmk},~\ref{clusters-milc} plot the performance |
| 42 | clusters during the execution of the benchmarks \textit{gobmk} and \textit{milc}. We | 32 | clusters during the execution of the benchmarks \textit{gobmk} and \textit{milc}. We |
| @@ -49,48 +39,6 @@ Cluster thresholds of 1\% and | @@ -49,48 +39,6 @@ Cluster thresholds of 1\% and | ||
| 49 | A cluster threshold of less than 1\% may limit the ability to tune less often. | 39 | A cluster threshold of less than 1\% may limit the ability to tune less often. |
| 50 | While cluster thresholds greater than 5\% are probably not realistic as user is already | 40 | While cluster thresholds greater than 5\% are probably not realistic as user is already |
| 51 | compromising performance by setting low inefficiency budgets to save energy. | 41 | compromising performance by setting low inefficiency budgets to save energy. |
| 52 | -\begin{figure*}[t] | ||
| 53 | - \begin{subfigure}[t]{\textwidth} | ||
| 54 | - \centering | ||
| 55 | - \vspace{-1em} | ||
| 56 | - \includegraphics[width=\columnwidth]{{./figures/plots/496/stable_line_plots/stable_lineplot}.pdf} | ||
| 57 | - \end{subfigure}% | ||
| 58 | -\vspace{0.5em} | ||
| 59 | -\caption{\textbf{Stable Regions of \textit{gcc} and \textit{lbm} for | ||
| 60 | -Inefficiency Budget of 1.3:} Increase in cluster threshold increases the length | ||
| 61 | -of the stable regions, which eventually leads to less transitions. Higher | ||
| 62 | -inefficiency budgets allow system to run unconstrained throughout.} | ||
| 63 | -\label{stable-regions} | ||
| 64 | -\end{figure*} | ||
| 65 | -\begin{figure*}[t] | ||
| 66 | - \begin{subfigure}[t]{\textwidth} | ||
| 67 | - \centering | ||
| 68 | - \includegraphics[width=\columnwidth]{{./figures/plots/496/stability_metrics/transition_percent_across_thresholds}.pdf} | ||
| 69 | - \end{subfigure} | ||
| 70 | -\vspace{-0.5em} | ||
| 71 | -\caption{\textbf{Number of Transitions with Varying Inefficiency Budgets and | ||
| 72 | -Cluster Thresholds:} The number of frequency transitions decrease with increase in cluster | ||
| 73 | -threshold. The amount of change varies with benchmark and inefficiency budget.} | ||
| 74 | -%Decrease in number of transitions is dependent on benchmark and | ||
| 75 | -%inefficiency budget.} | ||
| 76 | -\label{transitions-bar} | ||
| 77 | -\end{figure*} | ||
| 78 | - | ||
| 79 | -\begin{figure*}[t] | ||
| 80 | - \begin{subfigure}[t]{\textwidth} | ||
| 81 | - \centering | ||
| 82 | - \includegraphics[width=\columnwidth]{{./figures/plots/496/stable_length_box/stable_length_box}.pdf} | ||
| 83 | - \end{subfigure}% | ||
| 84 | -\vspace{0.5em} | ||
| 85 | -\caption{\textbf{Distribution of Length of Stable Regions:} The average length of | ||
| 86 | -stable regions increases with cluster threshold. | ||
| 87 | -%While inefficiency budget has significant impact on length of stable regions | ||
| 88 | -%for \textit{lbm}, it doesn't change the length of stable regions of | ||
| 89 | -%\textit{gobmk} much. | ||
| 90 | -} | ||
| 91 | -\label{box-lengths} | ||
| 92 | -\end{figure*} | ||
| 93 | - | ||
| 94 | 42 | ||
| 95 | Figures~\ref{clusters-gobmk}(c),~\ref{clusters-gobmk}(d) plot the | 43 | Figures~\ref{clusters-gobmk}(c),~\ref{clusters-gobmk}(d) plot the |
| 96 | performance clusters for \textit{gobmk} for inefficiency budget of 1.3 and | 44 | 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 | @@ -142,6 +90,29 @@ performance within set cluster threshold (for example samples 3-5 in | ||
| 142 | Figures~\ref{clusters-gobmk}(a),~\ref{clusters-gobmk}(c)). | 90 | Figures~\ref{clusters-gobmk}(a),~\ref{clusters-gobmk}(c)). |
| 143 | Figure~\ref{clusters-milc} shows that \textit{milc} has similar trends as | 91 | Figure~\ref{clusters-milc} shows that \textit{milc} has similar trends as |
| 144 | \textit{gobmk}. | 92 | \textit{gobmk}. |
| 93 | +\begin{figure}[t] | ||
| 94 | + \centering | ||
| 95 | + \includegraphics[width=\columnwidth]{./figures/plots/496/stable_line_plots/lbm_stable_lineplot_annotated_5.pdf} | ||
| 96 | +\vspace{-0.5em} | ||
| 97 | +\caption{\textbf{Stable Regions and Transitions for \textit{lbm} with | ||
| 98 | +Threshold of 5\% and Inefficiency Budget of 1.3:} Solid lines represent the | ||
| 99 | +stable regions and vertical dashed lines mark the transitions made by | ||
| 100 | +\textit{lbm}.} | ||
| 101 | +\label{lbm-stable-line-5-annotated} | ||
| 102 | +\end{figure} | ||
| 103 | +\begin{figure*}[t] | ||
| 104 | + \begin{subfigure}[t]{\textwidth} | ||
| 105 | + \centering | ||
| 106 | + \vspace{-1em} | ||
| 107 | + \includegraphics[width=\columnwidth]{{./figures/plots/496/stable_line_plots/stable_lineplot}.pdf} | ||
| 108 | + \end{subfigure}% | ||
| 109 | +\vspace{0.5em} | ||
| 110 | +\caption{\textbf{Stable Regions of \textit{gcc} and \textit{lbm} for | ||
| 111 | +Inefficiency Budget of 1.3:} Increase in cluster threshold increases the length | ||
| 112 | +of the stable regions, which eventually leads to less transitions. Higher | ||
| 113 | +inefficiency budgets allow system to run unconstrained throughout.} | ||
| 114 | +\label{stable-regions} | ||
| 115 | +\end{figure*} | ||
| 145 | 116 | ||
| 146 | An interesting observation from the performance clusters is that algorithms | 117 | An interesting observation from the performance clusters is that algorithms |
| 147 | like CoScale~\cite{deng2012coscale} that search for the best performing settings every interval starting | 118 | 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 | @@ -150,6 +121,33 @@ overhead of optimal settings search by starting search from the settings selecte | ||
| 150 | for the previous interval as application phases are often stable for multiple sample intervals. | 121 | for the previous interval as application phases are often stable for multiple sample intervals. |
| 151 | %as the application phases don't change drastically in | 122 | %as the application phases don't change drastically in |
| 152 | %short intervals. | 123 | %short intervals. |
| 124 | +\begin{figure*}[t] | ||
| 125 | + \begin{subfigure}[t]{\textwidth} | ||
| 126 | + \centering | ||
| 127 | + \includegraphics[width=\columnwidth]{{./figures/plots/496/stability_metrics/transition_percent_across_thresholds}.pdf} | ||
| 128 | + \end{subfigure} | ||
| 129 | +\vspace{-0.5em} | ||
| 130 | +\caption{\textbf{Number of Transitions with Varying Inefficiency Budgets and | ||
| 131 | +Cluster Thresholds:} The number of frequency transitions decrease with increase in cluster | ||
| 132 | +threshold. The amount of change varies with benchmark and inefficiency budget.} | ||
| 133 | +%Decrease in number of transitions is dependent on benchmark and | ||
| 134 | +%inefficiency budget.} | ||
| 135 | +\label{transitions-bar} | ||
| 136 | +\end{figure*} | ||
| 137 | +\begin{figure*}[t] | ||
| 138 | + \begin{subfigure}[t]{\textwidth} | ||
| 139 | + \centering | ||
| 140 | + \includegraphics[width=\columnwidth]{{./figures/plots/496/stable_length_box/stable_length_box}.pdf} | ||
| 141 | + \end{subfigure}% | ||
| 142 | +\vspace{0.5em} | ||
| 143 | +\caption{\textbf{Distribution of Length of Stable Regions:} The average length of | ||
| 144 | +stable regions increases with cluster threshold. | ||
| 145 | +%While inefficiency budget has significant impact on length of stable regions | ||
| 146 | +%for \textit{lbm}, it doesn't change the length of stable regions of | ||
| 147 | +%\textit{gobmk} much. | ||
| 148 | +} | ||
| 149 | +\label{box-lengths} | ||
| 150 | +\end{figure*} | ||
| 153 | 151 | ||
| 154 | \subsection{Stable Regions} | 152 | \subsection{Stable Regions} |
| 155 | So far, we have made observations by | 153 | So far, we have made observations by |
| @@ -185,39 +183,6 @@ currently designing algorithms in hardware and software that are capable of tuni | @@ -185,39 +183,6 @@ currently designing algorithms in hardware and software that are capable of tuni | ||
| 185 | running the application as future work. In Section~\ref{sec-algo-implications}, we | 183 | running the application as future work. In Section~\ref{sec-algo-implications}, we |
| 186 | propose ways in which length of stable regions and the available settings for a | 184 | propose ways in which length of stable regions and the available settings for a |
| 187 | given region can be predicted for energy management algorithms in real systems. | 185 | given region can be predicted for energy management algorithms in real systems. |
| 188 | -\begin{figure}[t] | ||
| 189 | -% \begin{subfigure}[t]{0.45\textwidth} | ||
| 190 | -% \centering | ||
| 191 | -% \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/energy_bar_normalized_0.0_0_0}.pdf} | ||
| 192 | -% \vspace{-2.5em} | ||
| 193 | -% \end{subfigure}% | ||
| 194 | -% \begin{subfigure}[t]{0.45\textwidth} | ||
| 195 | - \centering | ||
| 196 | - \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/performance_bar_normalized_0.0_0_0}.pdf} | ||
| 197 | -% \vspace{-2.5em} | ||
| 198 | -% \end{subfigure}% | ||
| 199 | -\caption{\textbf{Variation of Performance with Inefficiency:} Performance | ||
| 200 | -improves with increase in inefficiency budget, but the amount of improvement varies across benchmarks. | ||
| 201 | -%\XXXnote{Is this description sufficient?} | ||
| 202 | -%System always stays under the given inefficiency budget. | ||
| 203 | -%Maximum inefficiency consumed by the system is bounded by the application and | ||
| 204 | -%devices. | ||
| 205 | -} | ||
| 206 | -\label{ineff-perf} | ||
| 207 | -\end{figure} | ||
| 208 | - | ||
| 209 | -\begin{figure*}[t] | ||
| 210 | - \begin{subfigure}[t]{\textwidth} | ||
| 211 | - \centering | ||
| 212 | - \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/energy_perf_bar_1.3}.pdf} | ||
| 213 | - \end{subfigure} | ||
| 214 | -\vspace{-0.5em} | ||
| 215 | -\caption{\textbf{Energy-performance Trade-offs for Inefficiency Budget of 1.3, | ||
| 216 | -Multiple Cluster Thresholds:} Performance degradation is always within the | ||
| 217 | -cluster threshold. Allowing small degradation in performance reduces energy | ||
| 218 | -consumption, which decreases further when tuning overhead is included.} | ||
| 219 | -\label{energy-perf-trade-off} | ||
| 220 | -\end{figure*} | ||
| 221 | 186 | ||
| 222 | Figure~\ref{stable-regions} plots stable regions for benchmarks \textit{gcc} and | 187 | Figure~\ref{stable-regions} plots stable regions for benchmarks \textit{gcc} and |
| 223 | \textit{lbm} for multiple inefficiency budgets and cluster thresholds. With | 188 | \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 | @@ -258,6 +223,39 @@ Therefore the number of transition per billion instructions decrease only slight | ||
| 258 | with increase in cluster threshold and inefficiency budget for \textit{gobmk}. | 223 | with increase in cluster threshold and inefficiency budget for \textit{gobmk}. |
| 259 | Figure~\ref{box-lengths}(c) summarizes the distribution of stable region lengths observed | 224 | Figure~\ref{box-lengths}(c) summarizes the distribution of stable region lengths observed |
| 260 | across benchmarks for multiple cluster thresholds at inefficiency budget of 1.3. | 225 | across benchmarks for multiple cluster thresholds at inefficiency budget of 1.3. |
| 226 | +\begin{figure}[t] | ||
| 227 | +% \begin{subfigure}[t]{0.45\textwidth} | ||
| 228 | +% \centering | ||
| 229 | +% \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/energy_bar_normalized_0.0_0_0}.pdf} | ||
| 230 | +% \vspace{-2.5em} | ||
| 231 | +% \end{subfigure}% | ||
| 232 | +% \begin{subfigure}[t]{0.45\textwidth} | ||
| 233 | + \centering | ||
| 234 | + \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/performance_bar_normalized_0.0_0_0}.pdf} | ||
| 235 | +% \vspace{-2.5em} | ||
| 236 | +% \end{subfigure}% | ||
| 237 | +\caption{\textbf{Variation of Performance with Inefficiency:} Performance | ||
| 238 | +improves with increase in inefficiency budget, but the amount of improvement varies across benchmarks. | ||
| 239 | +%\XXXnote{Is this description sufficient?} | ||
| 240 | +%System always stays under the given inefficiency budget. | ||
| 241 | +%Maximum inefficiency consumed by the system is bounded by the application and | ||
| 242 | +%devices. | ||
| 243 | +} | ||
| 244 | +\label{ineff-perf} | ||
| 245 | +\end{figure} | ||
| 246 | + | ||
| 247 | +\begin{figure*}[t] | ||
| 248 | + \begin{subfigure}[t]{\textwidth} | ||
| 249 | + \centering | ||
| 250 | + \includegraphics[width=\columnwidth]{{./figures/plots/496/energy_perf_bar/energy_perf_bar_1.3}.pdf} | ||
| 251 | + \end{subfigure} | ||
| 252 | +\vspace{-0.5em} | ||
| 253 | +\caption{\textbf{Energy-performance Trade-offs for Inefficiency Budget of 1.3, | ||
| 254 | +Multiple Cluster Thresholds:} Performance degradation is always within the | ||
| 255 | +cluster threshold. Allowing small degradation in performance reduces energy | ||
| 256 | +consumption, which decreases further when tuning overhead is included.} | ||
| 257 | +\label{energy-perf-trade-off} | ||
| 258 | +\end{figure*} | ||
| 261 | 259 | ||
| 262 | \subsection{Energy-Performance Trade-offs} | 260 | \subsection{Energy-Performance Trade-offs} |
| 263 | In this subsection we analyze the energy-performance trade-offs made by our | 261 | In this subsection we analyze the energy-performance trade-offs made by our |