Powering off
Companies examine ways to optimize software development for power management
JUST AS CUSTOM cars and motorcycles express the individuality and personal goals of the owner, customized corporate software expresses the unique personality and goals of the individual enterprise.
There is no reason to believe that mobile devices — although they represent a new challenge to the corporate developer — will not be customized, too. We all know shrink-wrap products rolling off the assembly line just won’t cut it.
And so with this column I bring good news: a new way to think about how to customize your mobile applications and the possibility of some new aftermarket products to help you do it. I am talking about compilers optimized for power rather than performance and software that controls voltage and microprocessor clock speed. For example, with limited microprocessors, floating-point calculations are done in software on a handheld. Therefore, you need to rethink the application. Let’s face it: In most instances, you don’t need an algorithm that can do a double-precision floating-point calculation out to 64 places.
Reducing battery consumption is the goal of Rockville, Md.-based Inhand Electronics, according to Andrew Girson, its CEO ( ). Inhand has hardware and software development platforms dubbed Elf and FingerTip, respectively.
Elf and FingerTip include BatterySmart technology, which uses the hooks provided by microprocessor manufacturers such as Intel, Texas Instruments, and Motorola to adjust clock and voltage capabilities to garner a 30 percent improvement in battery life, Girson says.
Although, BatterySmart calculations that save power are automated, there is an API in BatterySmart for those customizers out there so that they can make calls into BatterySmart to change algorithm parameters and provide more information to the power-saving process.
Let’s say you are writing an application and the app enters a period of processing where you know performance isn’t important. It can make a function call to BatterySmart and tell it that it does not need the full 200MHz. BatterySmart is capable of throttling back the processor, weighing in the balance, of course, simultaneous calls that may require more processing power.
Inhand isn’t the only organization creating development environments that optimize code for power consumption. Compiler Optimizations for Power Aware Computing is one such project at Georgia Tech in Atlanta (see Compiler Optimizations for Power Aware Computing ). Optimizing compilers for power consumption will attempt to “decompose computations in such a way that the total energy required to perform an algorithm with specified bounds will be met by the best QoS [quality of service] possible,” according to the project Web site.
If they have custom car and motorcycle shows, they ought to have a custom application show, with mobile apps having their own part of the show floor. Sort of like customizing a Mini.