Short battery lifetimes are one of the top complaints of today's smartphone users and are limiting the transformative potential of these mobile devices. Hardware components continue to offer new energy-saving features, but today's mobile operating systems are ill-prepared to utilize these new capabilities. This project investigates novel hardware-software coordination mechanisms to make use of existing and next-generation hardware energy-saving features more effectively. The focus is improving "power agility", a measure of a system's ability to adaptively reallocate energy between hardware components to meet the changing needs of running applications, through the introduction of new operating system interfaces and abstractions.

In contrast to previous approaches that attempt to manage energy directly, this project explores the idea of measuring and managing energy inefficiency, defined as the amount of extra energy actually used to perform a task above the minimum required for the task. Allocating inefficiency, rather than energy, addresses many of the problems with previous energy management approaches while still allowing the operating system to prioritize energy usage between tasks. By allocating inefficiency, power-agile operating systems can safely allow tasks to tune hardware components directly using userspace tuning libraries, allowing them to make cross-component tradeoffs in response to changing requirements while pursuing a wide variety of different energy management strategies. The project also integrates education with the research through a new course on power-agile computing at both of the collaborating institutions.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
1409014
Program Officer
Marilyn McClure
Project Start
Project End
Budget Start
2014-08-01
Budget End
2018-07-31
Support Year
Fiscal Year
2014
Total Cost
$278,837
Indirect Cost
Name
Drexel University
Department
Type
DUNS #
City
Philadelphia
State
PA
Country
United States
Zip Code
19102