master
Lukasz Ziarek 2023-08-25 23:22:19 -04:00
parent 1915ce46e3
commit 479b89f584
2 changed files with 5 additions and 5 deletions

View File

@ -1,10 +1,10 @@
% -*- root: ../main.tex -*-
%!TEX root=../main.tex
CPU frequency scaling is a critical component of power management on modern mobile phones, as a CPUs can (if not managed properly) represent a significant source of power consumption on the phone.
On Android, a configurable policy (called the governor) dictates the CPU's frequency, and how it trades off performance for energy savings.
Android's existing governors rely on recent CPU usage patterns to make this trade-off: The longer a CPU is active, the faster the governor sets the CPU's frequency.
In this paper, we demonstrate that this assumption is flawed: the lower range of frequency settings on a typical mobile CPU does not actually save energy.
CPU frequency scaling is a critical component of power management on modern mobile phones, as a CPUs can represent a significant source of power consumption on the phone.
On Android the governor, a configurable policy, dictates the CPU's frequency and the performance to energy savings tradeoff.
Android's existing governors rely on recent CPU usage patterns to make this trade-off. The longer a CPU is active, the faster the governor sets the CPU's frequency.
In this paper, we demonstrate that this assumption is flawed. The lower range of frequency settings on a typical mobile CPU does not actually save energy.
We introduce \systemname, a governor that leverages this observation.
We show that this governor, in addition to being considerably simpler than \schedutil, can both improve performance and reduce energy consumption on a typical Android phone.

View File

@ -14,7 +14,7 @@ For example, CPU speeds often cannot be set on individual cores but only on grou
\begin{figure}
\centering
\includegraphics[width=.95\linewidth]{figures/graph_energy_varying_sleep.pdf}
\includegraphics[width=.85\linewidth]{figures/graph_energy_varying_sleep.pdf}
\bfcaption{Total energy per CPU policy for a 30s workload (3 runs, 90\% confidence)}
\label{fig:idle_impact}
\end{figure}