Battery Technology is Falling Behind How do we balance battery life with performance and cost?
Marc A. Viredaz, Lawrence S. Brakmo, William R. Hamburgen HP Labs ACM Queue Oct. 2003 Energy Management on Handheld Devices
Itsy Platform Itsy goals (YR 2000): – Small, powerful, flexible h/w platform – Flexible, extensible, advanced s/w environment Base system – StrongArm SA-1100 microprocessor – 32MB DRAM & Flash Drive – LCD display and touch screen Passive matrix gray scale – Li-ion battery (charges from USB) – 2-axis accelerometer – Microphone – Jacks (headset, docking) – Daughtercard connecter Software – Linux 2.0.30 w/ modified memory/flash-based file systems – Power management capability
Ohm’s law, Power, Energy Ohm’s law: V=IR (=current*resistance) Power: watt (W) = 1 joule/second (J/s) – Power (W) = VI= I 2 R Energy: (Ws, or Joule) – Energy (Ws) = power (w) * time (s) I=V/R? 2.2Ω9v Voltage drop = 16v 2kΩ I=V/R?
Power Measurement Voltages are directly measured. Currents are calculated from the corresponding sense-resistor voltage drop. Elementary power domains are delimited by dashed lines.
Energy Saving Techniques Simple approach: if a unit is not used, turn off or put into sleep mode But requires well structured h/w and s/w design Inter-connected building blocks must independently function and be independently powered on/off Operating systems (or applications) utilize measured power values to balance performance and battery life Major power draws: processor, memory, display, audio system, wireless networking
Processor Frequency or/and voltage scaling: Power ∝ f·v 2 – f: operating frequency, v: voltage J.Pouwelse, K.Langendoen, and H. Sips, “Dynamic Voltage Scaling on a Low-Power Microprocessor”, MOBICOM2001 Voltage Scaling in Strong Arm SA-1100 59Mhz at 0.79v 251Mhz at 1.65v
Processor: How to Scale? How to scale voltage/frequency?... power time Watts Low frequencyHigh frequency ? Critical Power Slope: Understanding the Runtime Effects of Frequency Scaling, ICS2002
Processor: Critical Power Slope Frequency Power : energy efficient to run at lower freq : energy efficient to run at higher freq f min : min operating frequency P fmin : power consumption at freq f min P idle : idle power consumption Critical Power Slope: Understanding the Runtime Effects of Frequency Scaling, ICS2002
Memory DRAM typically has four states: – Activate/pre-charge: read/write happen (most energy consuming) – Fast lower-power: short-term sleeping (w/ fast wake-up time: ~10ns, and consumes only half of the active power) – Self-refresh: only refreshing is happening (much less power consumption, requires several 100 cycles) – Deep power-down: refreshing stopped (lost data) Figure from: http://research.microsoft.com/pubs/102932/flicker-tr-2009.pdf
Display LCD itself consumes minimal energy, yet display front- and back-light dominates.. – Possible to dim lights of “light” pixels (for energy saving) Organic light-emitting diode (OLED) – Better quality than LCD (fast response), but it’s emissive and can’t make use of ambient light (energy consuming..)
Wireless Networking Technologies – WiFi, Bluetooth – 2G/3G/4G cellular communications Power consumption: BT < WiFi < 2/3/4G Caveats: – bit/joule must be considered – bit/joule varies with data rate Cool-Tether: Energy Efficient On-the-fly WiFi Hot-spots using Mobile Phones, CoNext 2009
Andrew Rice and Simon Hay Percom 2010 Decomposing power measurements for mobile devices
We want to know how much energy a particular action will consume
We measure energy consumption by intercepting the power supply Both voltages are sampled at 250 kHz Power ∝ V1 x V2 V1 V2 0.02Ω
Trace of the G1 boot process HTC G1 (or Magic), Android 1.1
Joining a wireless network: DHCP Dynamic Host Configuration Protocol (DHCP) – Provides automatic configuration of the host connected to network – Provides hosts with initial configuration information upon bootup: IP address with subnet mask, default gateway, IP address of the DNS server determine configuration determine configuration DHCP discover DHCP offer select configuration DHCP request DHCP ack Initialization completes graceful shutdown DHCP release discard lease using the allocated configuration (selected)(not selected)
Joining a wireless network: ARP Address Resolution Protocol (ARP) and Reverse ARP (RARP): translation between IP and MAC addresses
Find alignment from autocorrelation with a hypothesized signal HTC G1 (or Magic), Android 1.1 f(t) Cross-correlation: a measure of similarity of two waveforms as a function of a time-lag applied to one of them. Autocorrelation: cross-correlation of a signal with itself; there will always be a peak at a lag of zero, unless the signal is a trivial zero signal. autocorrelation (f*f)(t) – cross-correlation (f*g)(t)
We could remove the ARP probes from our client implementation “ARP probe”: ARP probe is broadcast to see if the address is already in use RFC2131 “...the client SHOULD probe the newly received address, e.g., with ARP.” RFC2119 – SHOULD “...there may exist valid reasons in particular circumstances to ignore a particular item”