space edits

master
Lukasz Ziarek 2023-08-25 16:59:01 -04:00
parent 91132af4f3
commit 62207ec3ed
7 changed files with 29 additions and 29 deletions

View File

@ -1,4 +1,4 @@
\documentclass[sigconf,anonymous,10pt,review]{acmart}
\documentclass[sigconf,10pt,anonymous,review]{acmart}
%\documentclass[sigconf,10pt]{acmart}
\usepackage{todonotes}

View File

@ -3,15 +3,15 @@
\begin{figure}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_freqtime_micro.pdf}
\bfcaption{Intermittent workloads hurt runtime 2 ways: diretly, by sleeping and indirectly, by inducing slower CPU speeds}
\includegraphics[width=.90\linewidth]{figures/graph_freqtime_micro.pdf}
\bfcaption{Intermittent workloads hurt runtime 2 ways: directly, by sleeping and indirectly, by inducing slower CPU speeds}
\label{fig:speed_time_delay}
\end{figure}
%\subsection{The cost and problems of complex speed micromanagement}
%\label{complexity_cost}
Controlling CPU speed on phones stems from a set of fairly intricate subsystems -- the scheduler, idle policy, drivers, as well as the governor iteself.
Controlling CPU speed on phones stems from a set of fairly intricate subsystems -- the scheduler, idle policy, drivers, as well as the governor itself.
Under common circumstances, they adjust the speed constantly.
Despite the complexity, the system often makes bad choices and picks speed that hurt both energy and performance.
This is because past CPU utilization -- the bedrock metric of all dynamic governors -- has little to do with the ideal present CPU speed.

View File

@ -3,50 +3,50 @@
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_jank_allapps.pdf}
\bfcaption{Display framedrop proportion for several apps under different CPU policies (10 runs, 90\% confidence)}
\includegraphics[width=.90\linewidth]{figures/graph_jank_allapps.pdf}
\bfcaption{Display framedrop for apps under different CPU policies (10 runs, 90\% confidence)}
\label{fig:jank_allapps}
\end{figure*}
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_energy_allapps.pdf}
\bfcaption{Energy usage for several apps under different CPU policies (10 runs, 90\% confidence)}
\includegraphics[width=.90\linewidth]{figures/graph_energy_allapps.pdf}
\bfcaption{Energy usage for apps under different CPU policies (10 runs, 90\% confidence)}
\label{fig:energy_allapps}
\end{figure*}
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_time_per_freq_yt.pdf}
\bfcaption{Average time spent per CPU at a given frequency under the default policy for a :30 scripted Youtube interaction (Average of 10 runs, 90\% confidence)}
\includegraphics[width=.90\linewidth]{figures/graph_time_per_freq_yt.pdf}
\bfcaption{Average time spent per CPU under the default policy for Youtube (Average of 10 runs, 90\% confidence)}
\label{fig:time_per_freq_yt}
\end{figure*}
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_time_per_freq_spot.pdf}
\bfcaption{Average time spent per CPU at a given frequency under the default policy for a :30 scripted Spotify interaction (Average of 10 runs, 90\% confidence)}
\includegraphics[width=.90\linewidth]{figures/graph_time_per_freq_spot.pdf}
\bfcaption{Average time spent per CPU under the default policy for Spotify (Average of 10 runs, 90\% confidence)}
\label{fig:time_per_freq_spot}
\end{figure*}
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_nonidletime_yt.pdf}
\bfcaption{CPU non-idle time for a scripted Youtube interaction under different CPU policies (10 runs, 90\% confidence)}
\includegraphics[width=.90\linewidth]{figures/graph_nonidletime_yt.pdf}
\bfcaption{CPU non-idle time for Youtube under different CPU policies (10 runs, 90\% confidence)}
\label{fig:nonidle_yt}
\end{figure*}
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_nonidletime_spot.pdf}
\bfcaption{CPU non-idle time for a scripted Spotify interaction under different CPU policies (10 runs, 90\% confidence)}
\includegraphics[width=.90\linewidth]{figures/graph_nonidletime_spot.pdf}
\bfcaption{CPU non-idle time for Spotify under different CPU policies (10 runs, 90\% confidence)}
\label{fig:nonidle_spot}
\end{figure*}
\begin{figure*}
\centering
\includegraphics[width=\linewidth]{figures/graph_idlejank_heavyload.pdf}
\bfcaption{The effect of additional background loads on user experience, for given CPU policies}
\includegraphics[width=.90\linewidth]{figures/graph_idlejank_heavyload.pdf}
\bfcaption{The effect of additional background loads on user experience for given CPU policies}
\label{fig:idlejank}
\end{figure*}

View File

@ -4,7 +4,7 @@
\begin{figure}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_missed_opportunities.pdf}
\bfcaption{An example trace of \schedutil's cpu frequency selections for a fixed workload (solid blue). The dotted red line shows a energy/latency optimal frequency choice ($\fenergy$).}
\bfcaption{A trace of \schedutil's cpu frequency selections given in blue. The dotted red line shows a energy/latency optimal frequency choice ($\fenergy$).}
\label{fig:missed_opportunities}
\end{figure}

View File

@ -2,7 +2,7 @@
\begin{figure}
\centering
\includegraphics[width=.95\linewidth]{figures/optimize_goal_cpu_speed.pdf}
\includegraphics[width=.90\linewidth]{figures/optimize_goal_cpu_speed.pdf}
\bfcaption{How CPU speed should flow from the current CPU goal}
\label{fig:optimize_goal_cpu_speed}
\end{figure}

View File

@ -12,7 +12,7 @@
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_u_fixedlen_multicore.pdf}
\includegraphics[width=.90\linewidth]{figures/graph_u_fixedlen_multicore.pdf}
%
%\begin{subfigure}{0.45\textwidth}
%\centering
@ -93,7 +93,7 @@ All of the time spent in the areas marked Underperformance represents energy was
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_time_per_freq_fb.pdf}
\includegraphics[width=.90\linewidth]{figures/graph_time_per_freq_fb.pdf}
\bfcaption{Average time spent per CPU at a given frequency under the default policy for a 25s scripted Facebook interaction (Average of 10 runs, 90\% confidence)}
\label{fig:time_per_freq_fb}
\end{figure*}

View File

@ -3,14 +3,14 @@
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_oscill_cycles.pdf}
\includegraphics[width=.90\linewidth]{figures/graph_oscill_cycles.pdf}
\bfcaption{Runtime and CPU cyclecount for a fixed compute under different CPU policies (10 runs, 90\% confidence)}
\label{fig:cycles_time}
\end{figure*}
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_energy_perf_coldstart_spot.pdf}
\includegraphics[width=.90\linewidth]{figures/graph_energy_perf_coldstart_spot.pdf}
\bfcaption{Energy and latency of coldstarting Spotify under different policies (5 runs, 90\% confidence)}
\label{fig:coldstart_time_spot}
\end{figure*}
@ -40,16 +40,16 @@ Armed with this knowledge, we realize the \systemname governor: a simple policy
\begin{figure*}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_nonidletime_fb.pdf}
\bfcaption{CPU non-idle time for a scripted Facebook interaction under different CPU policies (10 runs, 90\% confidence)}
\includegraphics[width=.90\linewidth]{figures/graph_nonidletime_fb.pdf}
\bfcaption{CPU non-idle time for Facebook under different CPU policies (10 runs, 90\% confidence)}
\label{fig:nonidle_fb}
\end{figure*}
\begin{figure}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_jank_perspeed_fb.pdf}
\bfcaption{Display framedrop proportion for a :30 Facebook interaction under different CPU policies (10 runs, 90\% confidence)}
\includegraphics[width=.90\linewidth]{figures/graph_jank_perspeed_fb.pdf}
\bfcaption{Display framedrop for Facebook under different CPU policies (10 runs, 90\% confidence)}
\label{fig:screendrops_per_freq_fb}
\end{figure}