Doctor of Philosophy (Ph.D.)
Despite the rapid hardware upgrades, a common complaint among smartphone owners is the poor battery life. to many users, being required to charge the smartphone after a single day of moderate usage is unacceptable. Moreover, current smartphones suffer various unpredictable delays during operation, e.g., when launching an app, leading to poor user experience. In this dissertation, we provide solutions that enhance systems on portable devices using information obtained from their users and upper layers on the I/O path. First, we provide an experimental study on how storage I/O path upper layers affect power levels in smartphones, and introduce energy-efficient approaches to reduce energy consumption facilitating various usage patterns. at each layer, we investigate the amount of energy that can be saved, and use that to design and implement a prototype with optimal energy savings named SmartStorage. We evaluate our prototype by using the 20 most popular android applications, and our energy-efficient approaches achieve from 23% to 52% of energy savings compared to using the current techniques. Next, we conduct the first large-scale user study on the I/O delay of android using the data collected from our android app running on 2611 devices within nine months. Among other factors, we observe that reads experience up to 626% slowdown when blocked by concurrent writes for certain workloads. We use this obtained knowledge to design a system called SmartIO that reduces application delays by prioritizing reads over writes. SmartIO is evaluated extensively on several groups of popular applications. The results show that our system reduces launch delays by up to 37.8%, and run-time delays by up to 29.6%. Finally, we study the impact of memory on smartphone user-perceived performance. Our heap usage investigation of 20 popular applications indicates that rich multimedia applications have high heap usage and go above allowed boundaries, up to 5.63 times more heap than guaranteed by the system, and may cause crashes and erroneous behaviors. Moreover, limited heap may not only cause an app to crash, but may even prevent an app from launching. Therefore, we present iRAM, a system that maintains optimal heap size limits to avoid crashes, efficiently maximizes free memory levels, and cleans low-priority processes to reduce application delays. The evaluation indicates that iRAM reduces application crashes by up to 14 percent.
© The Author
Nguyen Tien, Dung, "Enhancing Mobile Device System using Information from Users and Upper Layers" (2016). Dissertations, Theses, and Masters Projects. William & Mary. Paper 1477067964.