Optimizing Android smartphone’s user experience and power efficiency through governor and scheduler customization
User experience refers to the overall experience a user gains from a system usage. The system can be a website, machine, software or a service. To ensure user satisfaction, user experience is often placed at a high priority for system providers. This often translates into the speed and performance o...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Final Year Project |
Language: | English |
Published: |
2018
|
Subjects: | |
Online Access: | http://hdl.handle.net/10356/76178 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
Summary: | User experience refers to the overall experience a user gains from a system usage. The system can be a website, machine, software or a service. To ensure user satisfaction, user experience is often placed at a high priority for system providers. This often translates into the speed and performance of the application or service. From a smartphone’s perspective, such systems provided can refer to user installed and system applications. Hence, an optimal user experience for smartphone users would be smooth screen transitions and fast task completion speeds during application usages.
This project investigates the possibilities of improving the user experience of the foreground application run in an Android smartphone, while attempting to minimize power usage. In the user level, users can perform resource freeing methods such as closing background tasks and freeing up the random access memory (RAM). However, this project aims to explore the possibilities of doing so in the Operating System (OS) kernel level.
In the hardware aspects, CPU frequency scaling is discussed. This concept enables processes to boost the CPU clock speeds, in turn possibly getting optimal user experience. These boosts are managed by CPU governors, which can be changed by users. However, a poor governor choice may lead to performance drops from 58 frames-per-second (FPS) to 12 FPS in certain games. Results have also shown that it may be possible for certain games to experience up to 34% of power usage improvements in customized governor selections.
For the software aspects, the Completely Fair Scheduler (CFS) is discussed. This part of the investigation discusses the possibility of improvements that can be achieved by modifications to the scheduling process, by changing nice values and cgroups parameters.
As such, this project attempts to develop an application-centric governor and scheduler set that can be utilized by developers and users to optimize user experience and power usage levels during application runtimes. |
---|