5 research outputs found
Reducing Power Consumption and Latency in Mobile Devices using a Push Event Stream Model, Kernel Display Server, and GUI Scheduler
The power consumed by mobile devices can be dramatically reduced by improving how mobile operating systems handle events and display management. Currently, mobile operating systems use a pull model that employs a polling loop to constantly ask the operating system if an event exists. This constant querying prevents the CPU from entering a deep sleep, which unnecessarily consumes power.
We’ve improved this process by switching to a push model which we refer to as the event stream model (ESM). This model leverages modern device interrupt controllers which automatically notify an application when events occur, thus removing the need to constantly rouse the CPU in order to poll for events. Since the CPU rests while no events are occurring, power consumption is reduced. Furthermore, an application is immediately notified when an event occurs, as opposed to waiting for a polling loop to recognize when an event has occurred. This immediate notification reduces latency, which is the elapsed time between the occurrence of an event and the beginning of its processing by an application.
We further improved the benefits of the ESM by moving the display server, a central piece of the graphical user interface (GUI), into the kernel. Existing display servers duplicate some of the kernel code. They contain important information about an application that can assist the kernel with scheduling, such as whether the application is visible and able to receive events. However, they do not share such information with the kernel. Our new kernel-level display server (KDS) interacts directly with the process scheduler to determine when applications are allowed to use the CPU. For example, when an application is idle and not visible on the screen, the KDS prevents that application from using the CPU, thus conserving power. These combined improvements have reduced power consumption by up to 31.2% and latency by up to 17.1 milliseconds in our experimental applications. This improvement in power consumption roughly increases battery life by one to four hours when the device is being actively used or fifty to three-hundred hours when the device is idle
Graphical User Interface Energy Characterization for Handheld Computers
A significant fraction of the software and resource usage of a modern handheld computer is devoted to its graphical user interface (GUI). Moreover, GUIs are direct users of the display and also determine how users interact with software. Given that displays consume a significant fraction of system energy, it is very important to optimize GUIs for energy consumption. This work presents the first GUI energy characterization methodology. Energy consumption is characterized for three popular GUI platforms (Windows, X Window system, and Qt) from the hardware, software, and application perspectives. Based on this characterization, insights are o#ered for improving GUI platforms, and designing GUIs in an energy-e#cient and aware fashion. Such a characterization also provides a firm basis for further research on GUI energy optimization
Energy Accounting and Optimization for Mobile Systems
Energy accounting determines how much a software process contributes
to the total system energy consumption. It is the foundation for
evaluating software and has been widely used by operating system based
energy management. While various energy accounting policies have been
tried, there is no known way to evaluate them directly simply because
it is hard to track every hardware use by software in a heterogeneous
multicore system like modern smartphones and tablets. This work
provides the ground truth for energy accounting based on multi-player
game theory and offers the first evaluation of existing energy
accounting policies, revealing their important flaws. The proposed
ground truth is based on Shapley value, a single value solution to
multi-player games of which four axiomatic properties are natural and
self-evident to energy accounting.
This work further provides a utility optimization formulation of
energy management and shows, surprisingly, that energy accounting does
not matter for existing energy management solutions that control the
energy use of a process by giving it an energy budget, or budget based
energy management (BEM). This work shows an optimal energy management
(OEM) framework can always outperform BEM. While OEM does not require
any form of energy accounting, it is related to Shapley value in that
both require the system energy consumption for all possible
combination of processes under question.
This work reports a prototype implementation of both Shapley
value-based energy accounting and OEM based scheduling. Using this
prototype and smartphone workload, this work experimentally
demonstrates how erroneous existing energy accounting policies can be,
show that existing BEM solutions are unnecessarily complicated yet
underperforming by 20% compared to OEM
Modeling and Evaluating Energy Performance of Smartphones
With advances in hardware miniaturization and wireless communication technologies even small portable wireless devices have much communication bandwidth and computing power. These devices include smartphones, tablet computers, and personal digital assistants. Users of these devices expect to run software applications that they usually have on their desktop computers as well as the new applications that are being developed for mobile devices. Web browsing, social networking, gaming, online multimedia playing, global positioning system based navigation, and accessing emails are examples of a few popular applications. Mobile versions of thousands of desktop applications are already available in mobile application markets, and consequently, the expected operational time of smartphones is rising rapidly.
At the same time, the complexity of these applications is growing in terms of computation and communication needs, and there is a growing demand for energy in smartphones. However, unlike the exponential growth in computing and communication technologies, in terms of speed and packaging density, battery technology has not kept pace with the rapidly growing energy demand of these devices. Therefore, designers are faced with the need to enhance the battery life of smartphones. Knowledge of how energy is used and lost in the system components of the devices is vital to this end. With this view, we focus on modeling and evaluating the energy performance of smartphones in this thesis. We also propose techniques for enhancing the energy efficiency and functionality of smartphones.
The detailed contributions of the thesis are as follows: (i) we present a nite state machine based model to estimate the energy cost of an application running on a smartphone, and provide practical approaches to extract model parameters; (ii) the concept of energy cost pro le is introduced to assess the impact of design decisions on energy cost at an early stage of software design; (iii) a generic architecture is proposed and implemented for enhancing the capabilities of smartphones by sharing resources; (iv) we have analyzed the Internet tra c of smartphones to observe the energy saving potentials, and have studied the implications on the existing energy saving techniques; and nally, (v) we have provided a methodology to select user level test cases for performing energy cost evaluation of applications. All of our concepts and proposed methodology have been validated with extensive measurements on a real test bench.
Our work contributes to both theoretical understanding of energy e ciency of software applications and practical methodologies for evaluating energy e ciency. In summary, the results of this work can be used by application developers to make implementation level decisions that affect the energy efficiency of software applications on smartphones. In addition, this work leads to the design and implementation of energy e cient smartphones