New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 674966 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Build a model that estimates power usage from CPU usage and idle wakeups.

Project Member Reported by erikc...@chromium.org, Dec 16 2016

Issue description

Basically, perform an analysis using BattOr to get real power numbers from test pages that stress CPU usage, and idle wakeups. Then, build a model that lets us estimate real power draw based on CPU usage and idle wakeups. 

 
I'm a bit worried that this could be a massive rabbit hole.

I think it's valuable work, but we'll want to be careful not to over-invest up front. For example, I don't think training fancy neural nets on battor traces is the right way forward.

A few concrete questions I think we should answer before we try to build a model:
- How useful is CPU time as a proxy for power?
- How much does a radio wakeup cost on an average phone? Is it consistent enough across devices that it's useful to model this generally?
- How much power does the GPU draw compared to the CPU?
- Are different devices similar enough that a common model of the cost of idle wakeups is useful?
Oh, yes, sorry, did not mean to start the trek down the rabbit hole. 

Several thoughts:

* If we can't model this using a *very* simple linear equation, I don't think it's worth doing. I'm sure there are PhD students who spend years working on this.

* I specifically wanted to know an approximation for the cost of CPU usage and idle-wakeups, because those are easily measurable by traces. Powering up a 3G radio [which will hit 3W+ power draw] is obviously going to use a lot of power, and will be very hard to nail down.

I was mostly hoping to get an estimate like:
* waking up the CPU costs 0.22J
* running a sandy lake core i7 [or whatever we have on the perf bots] at 10% for 1s costs 0.8J. 

If this would take more than a couple of days, I don't think we should do it and we should just keep using BattOr has "source of truth". 
  * The main goal is to get some granularity into where that power draw is going in the lab
  * And give us some numbers we can start collecting from the wild. [although maybe you're right that network radio is the most relevant measurement...]
SGTM, thanks for clarifying.

For the estimates you're thinking of gathering, I think we will want to sample a reasonable number of devices, to make sure the numbers are at least approximately comparable.


Not much to say, other than that I generally agree with the sentiment that we should know the relative cost of performing different actions like waking up the CPU / powering up the 3G radio. This seems like it's incredibly important in prioritizing power work.
Components: Test>Telemetry
Components: -Tests>Telemetry

Sign in to add a comment