Smartphone Energy Consumption

energybook

I never used to worry about energy usage but over the last few years most of my code runs on smartphones, so it has become one of my top priorities. The trouble is I’ve never had any training or experience in the area, so I’ve had to learn how to do it from experience, other engineers, and the internet, most of which feels more like folklore than engineering. A few days ago I was trying to learn more about the shiny new Monsoon power monitor on my desk when I came across “Smartphone Energy Consumption” from Cambridge University Press.

I’ve now had a chance to read it, and it has helped fill in a lot of gaps in my education. I highly recommend picking up a copy if you’re facing any of the same problems, and to give you a taster here are some of the things I learned. Rest assured that any mistakes in here are my own, not the authors!

There are lots of different ways to measure battery capacity – joules, watt-hours, and milli-amp hours. If I’m getting my physics straight, 1 watt hour is 3,600 joules, and if you assume a rough voltage of 4V, 1 milli-amp hour is 0.001 * 4v * 60 * 60, or 14.4 joules. A typical phone battery might have 2,000 mAh, or about 29,000 joules.

Most phones can’t dissipate more than 3 watts of heat, so that’s a practical limit for sustained power usage. Wearables can have much lower limits.

There are two main ways power is used in mobile chips. Switching loss is the power used to change gate states in the silicon, and static loss is more like a steady leakage. Switching power decreases with the square of the voltage, so halving the voltage reduces its effect by 75%, whereas static power shrinks linearly. That leads to some interesting situations, where having two cores running at half the voltage and frequency (since lower clock frequencies allow lower voltages to be used) may take the same time to complete a task, but at half the power of a single higher-voltage core. Turning off parts of the chip entirely is the key to reducing static leakage.

There’s a great practical guide to wiring up Monsoons, exactly what I need right now! There’s also a great section on human-battery interaction, that I just skimmed, but which covers a lot of research. The key takeaway for me was that users get very annoyed if their battery starts draining more quickly than it used to, and will uninstall recent apps to fix the problem, so developer should be highly motivated to reduce their power consumption.

I found a lot of very useful estimates for components power usages scattered through the book. These are just rough guides, but they helped my mental modeling, so here are some I found notable:

  • An ARM A9 CPU can use between 500 and 2,000 mW.
  • A display might use 400 mW.
  • Active cell radio might use 800 mW.
  • Bluetooth might use 100 mW.
  • Accelerometer is 21 mW.
  • Gyroscope is 130 mW.
  • Microphone is 101 mW.
  • GPS is 176 mW.
  • Using the camera in ‘viewfinder’ mode, focusing and looking at a picture preview, might use 1,000 mW.
  • Actually recording video might take another 200 to 1,000 mW on top of that.

A key problem for wireless network communication is the ‘tail energy’ used to keep the radio active after the last communication, even when nothing’s being sent. This is vital for responsiveness, but it can be ten seconds for LTE, so apparently short communications can use a lot more energy than you’d expect. Sending a single byte can use a massive amount of power if it keeps the radio active for ten seconds after!

A Microsoft paper showed that over 50% of the power on several popular games is consumed by the ads they show!

There’s some interesting work on modeling the tradeoffs between computation offloading (moving work to the cloud from the phone) and communication offloading (doing more work on the device to reduce network costs). I’m a big believer that we should do more work on-device, so it was great to have a better foundation for modeling those tradeoffs. One example they give is using the Android SDK on a 1080p image to detect faces on-device, and taking 3.2 seconds and 9 joules, whereas sending the image to a nearby server was quicker, even with the extra power of network traffic.

Anyway, it’s a great piece of work so if this sort of information is useful, go pick up a copy yourself, there’s a lot more than I can cover here!

5 responses

  1. Pingback: Four short links: 8 October 2015 - O'Reilly Radar

  2. Pingback: Start up: porn’s new business model, the real emissions scam, Jamaica’s 419 scammers, and more | The Overspill: when there's more that I want to say

  3. Smartphones theirself use almost no energy… my actual (low-budget) Huawei Y625-U1 got a Lithium-Polymer Accumulator with 2,000 mAh… unlike Samsung Huawei works with 3.8 Volt instead of 3.7 Volt (means Huawei works with higher voltage = more power). The Accu is 7.6 Watt-Hours (Wh). Samsung a 2,000 mAh would be 7.4 Wh… This is really nothing. Much more than old mobiles (Nokia and so on), but the REAL energy consumption comes from using mobile internet, or at home in W-Lan… of course your smartphone online loads data from servers, and these servers use much more energy, since large server centers are all around the world and there are sometimes over 100 “servers” (mostly Hard-Disks with low CPU and Linux I think, at least some years ago it was like that), so not you charging your phone use the energy, over 95% of the energy is used through connecting to servers… no matter if you watch legal or illegal things, if someone (in Germany we pay one of the highest prices worldwide for 1 MB mobile data, I wrote many things, now they trippled speed in my prepaid 9,99€ package to 21,7Mbit/s. and 250 to 750 MB trippled… 200 units phone or sms remain…

    it took over 4 years and even got worse in this time since after 250 MB used they first put you down to 64kbit/s. speed, I had this in 1999 as a child with ISDN, and in early 2001 I already had a 768kbit/s. ADSL, I used to surf with 64kbit and not buying (up to 3 times) additional “high-speed volume” for extra cash, I think many people like me did this, and O² saw that even with downgraded speed there were still many Megabytes usage through the rest of the month (sometimes I was empty after 5 days on my old smartphone since it could not save data for one game, and at home I had W-Lan from the guy living there back than, now he is out and my mother (I work there) got VDSL 50Mbit and W-Lan, but the 64 became 32kbit/s (below analog Modem speed over 20 years ago of 56kbit…). since its a flatrate theyhave to give you access to the internet,

    there is just no paragraph telling at which speed….with 32kbit/s. today you get many timeouts… you could/can take volume from the old month into the new one if the auto-booking is successfull means if you got cash on your prepaid card), if you access youtube or another video or so… well, imagine how much traffic youtube for example has daily… no matter if mobile internet, internet from home, W-Lan (mobile internet just through another way or through another energy consuming modem/router). I just got 200Mbit/s. (which is very fast for Germany. However now I have at home my 200Mbit with W-Lan and at Work/Mother W-Lan too, and the tripple in volume is good, I can use now mobile data without thinking (oh no, 5 times loging in cost you 10-12MB……). Lets see if I can take the MB which I still have really will be kept or if they changed it (they always make 9th of the month, but book at 2 am of the 10th day of the month… I must have booked at this day once that package… However I wrote really much around that Finnland gets a 50GB All-In mobile internet package for the costs of a German 1GB All-in! Only Hungary was worse than Germany in Europe with 500 MB…. but average was ~9 to 10 GB compared to 1GB in Germany… from the same companies (o² = Telefonica S.A. earlier, than Telefonica). Lets see, this year I think there will be much fight, since Vodafone first offered a “4 week” package with 750MB and 200 units for 9,99€… but 4 wooks is not a month….. you get a 13. month in a year, but only few days later o² trippled too… I already ordered the Vodafone card weeks ago and have it, but I did not put it in Dual-SIM, I did not wanted to buy cash for the prepaid card… good that I waited ;D Now I have what they offered for a whole month and my old number (the vodafone card would have been only surf-card)

    Server Energy consumption is heavy, and cooling, they really need good cooling-systems in a room full of servers which (like almost every energy consuming thing) produce heat… like graphic card gets hot or CPU when you play or so… and the cooler goes to 1,500 rates per minute or so..and under heavy usage it is really warm air that cmes out at my home PC, they sold me this special GTX 760 OC2DC… Asus made AD, 20% better material for reducing heat, instead of 3.004 MHz speed of the 2 GB Graphic RAM is up to 6.008 MHz (! Dont know how they could do it…), and the GPU is 1.072 MHz instead of 980 MHz. This is not such a heavy increase in per cent, but I know from GTA IV on this old PC here, how much some MHz more on the GPU and a bit on the Graphic RAM can be important… but this card was in a discount and its heavy.. 100% overclocking and the software which allows further overclocking….. I fear desktop-pcs will die and people will watch at 8-9″ tablets or so :>

  4. Pingback: AI and Unreliable Electronics (*batteries not included) « Pete Warden's blog

  5. Pingback: Why the Future of Machine Learning is Tiny « Pete Warden's blog

Leave a comment