Design Article
Get longer battery life in Linux-based handsets
Bill Weinberg, Open Source Development Lab
1/16/2006 5:00 AM EST
According to one industry analyst, Linux has made great strides in the "smartphone" arena, the top tier of handsets, with multi-million unit deployments from multiple vendors. With its enterprise and workstation pedigree, Linux is suited for high-end phone deployments due to its performance, robustness, security, and networking. However, high-end smartphones also place the most challenging demands on handset energy budgets. Larger touchpad displays, multimedia capabilities, dedicated WAN modem chips, Bluetooth and Wi-Fi network interfaces, and more RAM and flash for downloadable applications create a higher hardware bill-of-materials (BOM) and draw more power.
The challenge for Linux in mobile applications, then, is to break out of the high-end, high-functionality box to reach higher-volume mid-tier and perhaps even entry-level devices. Handset makers and mobile chipset vendors understand that power and energy management are key for Linux to continue its expansion in the handset market.
Notebook owners with a modicum of curiosity quickly notice that their portable devices behave differently when running on battery verses ac power: the screen dims, the processor clock slows, and the system spins down to standby or drifts off sleep whenever possible. Handheld device owners also contend with screens dimming and devices sleeping after a quiescent period, and cell-phone users grow accustomed to backlights and key-lights extinguishing themselves once a call is dialed. Behind these visible behaviors common to mobile devices are a mix of hardware and software technology and policy.
Device energy budget
Anyone who's ever burned a finger on a hot CPU chip knows that high-speed silicon can dissipate a lot of power. Gigahertz-plus system clocks place desktop machines in the same power-hungry class as incandescent bulbs and home appliances.
That's not the case with mobile handsets. Today's high-end mobile devices sport modest CPU specs, with clocks in the 200- to 500-MHz range; voice-only handsets can run at 40 MHz or below. As such, mobile CPUs consume a quarter or less of the total energy budget, with the display and backlight eating up the lion's share (Fig. 1). The result is that an effective power optimization scheme, in Linux as in competing OSs, must encompass an array of sub-systems beyond the CPU.

Energy-management techniques and technologies Handheld energy management relies on a mix of capabilities in silicon and software, including clock frequency, operating voltage, device power-down, and more MIPS/W. The most common optimization for energy conservation in all types of mobile applications is clock scaling. Indeed, most mobile devices run at a default CPU clock rate well below the available performance peak for the chip. Whereas notebook use policy usually dictates throttling back the CPU clock when the system is idle, handheld/mobile devices only rev up the clock when applications or I/O events need extra throughput.
Traditional silicon design techniques made it difficult or impossible to vary operating voltage during system operation, or even in system designs. As such, most legacy power-management techniques focus on clock speed and gross (on/off) peripheral device conservation. Scaling back voltage, however, offers much greater energy savings. Whereas returns on clock scaling are more or less linear, voltage scaling can yield exponential energy savings with a higher impact on battery life. Modern mobile CPUs like Intel's XScale and TI's OMAP feature a wide range of operating voltages in the CPU core and across their on-chip peripherals as a means to conserve energy.
In quiescent states, and when users elect to power down their mobile devices (standby), even greater energy savings exist. Even without user intervention, however, system software can selectively "turn out the lights" on a range of on-board devices, with concomitant energy conservation.
For compute-hungry applications, like games, voice recognition, and some enterprise client software, recent advances in CPU design let designers provide more compute power without raising energy-hungry system clocks. Just as with modern servers, and increasingly with high-performance desktops, multi-core processors will find their way into handsets. Early last year, ARM demonstrated dual- and quad-CPU versions of the ARM11 architecture, with real-world deployments expected to begin later this year.
Energy-management opportunities
Combining the realities of actual power budgets with optimization techniques leads handset designers to view each component and subsystem of these compact embedded computers in terms of the opportunities they present for conserving power. For example, as with the "applications processor" that runs Linux or another OS, on-chip DSPs and multimedia CODECs can be power-managed through clock and frequency scaling. Beyond CPU cores, savings can be squeezed from both volatile and persistent memory by modifying bus clocks, refresh rates, and access modes; further savings are possible by powering off or scaling back performance on buses and devices across the system.
Linux energy-management toolbox
Over the last decade, members of the open source community, Linux distributors and tools suppliers, and software teams at key semiconductor suppliers have invested substantial resources in implementing and enhancing the energy-management capabilities of the open source GNU/Linux OS. Indeed, because of the open nature of the Linux code base, the OS represents a global laboratory for experimentation and innovation in power savings technology.
Embedded device OEMs often start their research by looking to the desktop, where notebook-centric schemes like ACPI and APM dominate, and indeed occupy most discussions of Linux power management on the kernel mailing list (www.kml.com). For non-x86/IA-32 notebook hardware, OEMs can turn to PMU for Apple PowerPC hardware (see the table). Embedded OEMs deploying ARM-licensed silicon can leverage the ARM IEM framework, or work with the various power-management schemes present on silicon from dozens of ARM licensees (such as Freescale, Intel, NEC, Samsung, and TI). There also exist unique and further divergent energy conservation protocols from MIPS and MIPS licensees, from Freescale for its CPU lines, from IBM for Power Architecture, from Renesas and Hitachi, and so on across the silicon supplier universe. OEMs can also choose software platform schemes like MontaVista's DPM and other embedded Linux supplier solutions.




