A significant number of research projects focuses on improving the power consumption of dedicated hardware devices, like processors, hard disks and network interfaces. However, research related to the impact of application and operating system design on power consumption is still in its early stages. This proposal argues for operating system and application support in order to reduce the power consumption for mobile platforms. First, we show the energy savings that may be achieved by substituting basic components of an operating system with power-conscious algorithms. Specifically, we suggest the use of a power-aware disk scheduler that is able to use high-level operating system knowledge to prioritize disk requests and possibly postpone their execution. By changing the service time of non-urgent requests, we avoid unnecessary disk spin-ups and hence increase the energy efficiency of the disk scheduling algorithm. Our results show 15% additional energy savings to those achieved by a fixed-threshold spin down policy and a significant reduction of spin down operations.
Intelligent power state management, such as power-conscious disk scheduling, provides an efficient way to reduce the energy consumption of a mobile platform. However, additional savings may result from reducing the utilization of a mobile system's components. Utilization reduction may be achieved by off-loading computation or by using remote resources, such remote file storage or memory, that are available through the network. We suggest the investigation of reduced power consumption through remote execution and resource sharing. We assume an environment saturated with computation and communication capabilities. Mobile platforms may off-load demanding computation, imposed by applications such as speech and object recognition, natural language understanding, and planners (independent agents) to surrounding servers.
The possibility of remote execution creates multiple research challenges both in terms of the mechanisms that may be used to achieve it and the strategies that will evaluate the advantages of remote and local execution and find an optimal method of execution. A decision engine for off-loading computation should be able to adjust quickly to a constantly changing environment and take into account such parameters as network load, server load, remaining battery lifetime of the mobile system, and performance constraints imposed by an application. We will develop an experimental testbed for remote execution, and use it to compare and evaluate remote execution strategies.