Enhancing Mobile Device System Using Information From Users And Upper Layers

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.

[1]  Gernot Heiser,et al.  An Analysis of Power Consumption in a Smartphone , 2010, USENIX Annual Technical Conference.

[2]  Clayton Shepard,et al.  LiveLab: measuring wireless networks and smartphone users in the field , 2011, SIGMETRICS Perform. Evaluation Rev..

[3]  Ian H. Witten,et al.  Data Compression Using Adaptive Coding and Partial String Matching , 1984, IEEE Trans. Commun..

[4]  Gang Zhou,et al.  Storage-aware smartphone energy savings , 2013, UbiComp.

[5]  Xiaodong Zhang,et al.  Understanding intrinsic characteristics and system implications of flash memory based solid state drives , 2009, SIGMETRICS '09.

[6]  Arun Venkataramani,et al.  Energy consumption in mobile phones: a measurement study and implications for network applications , 2009, IMC '09.

[7]  Marco Cesati,et al.  Understanding the Linux Kernel, Third Edition , 2005 .

[8]  Pablo Rodriguez,et al.  Performance optimizations for wireless wide-area networks: comparative study and experimental evaluation , 2004, MobiCom '04.

[9]  Xue Liu,et al.  SAPSM: Smart adaptive 802.11 PSM for smartphones , 2012, UbiComp.

[10]  Youjip Won,et al.  Smart layers and dumb result: IO characterization of an android-based smartphone , 2012, EMSOFT '12.

[11]  Raghupathy Sivakumar,et al.  A 3: application-aware acceleration for wireless data networks , 2006, MobiCom '06.

[12]  Peter Desnoyers,et al.  Performance models of flash-based solid-state drives for real workloads , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[13]  Jongmoo Choi,et al.  Disk schedulers for solid state drivers , 2009, EMSOFT '09.

[14]  Jock D. Mackinlay,et al.  The information visualizer, an information workspace , 1991, CHI.

[15]  Cristian Ungureanu,et al.  Revisiting storage for smartphones , 2012, TOS.

[16]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[17]  Mun Choon Chan,et al.  TCP/IP Performance over 3G Wireless Links with Rate and Delay Variation , 2005, Wirel. Networks.

[18]  Jin-Soo Kim,et al.  Parameter-Aware I/O Management for Solid State Disks (SSDs) , 2012, IEEE Transactions on Computers.

[19]  Kai Shen,et al.  FIOS: a fair, efficient flash I/O scheduler , 2012, FAST.

[20]  David Chu,et al.  Practical prediction and prefetch for faster access to applications on mobile phones , 2013, UbiComp.

[21]  Suman Banerjee,et al.  Scalable WiFi Media Delivery through Adaptive Broadcasts , 2010, NSDI.

[22]  Alma Riska,et al.  Evaluating Block-level Optimization Through the IO Path , 2007, USENIX Annual Technical Conference.

[23]  Ranveer Chandra,et al.  Optimizing background email sync on smartphones , 2013, MobiSys '13.

[24]  Qiang Xu,et al.  PROTEUS: network performance forecast for real-time, interactive mobile applications , 2013, MobiSys '13.

[25]  Kai Shen,et al.  FlashFQ: A Fair Queueing I/O Scheduler for Flash-Based SSDs , 2013, USENIX Annual Technical Conference.

[26]  Jie Liu,et al.  Fast app launching for mobile devices using predictive user context , 2012, MobiSys '12.

[27]  Hyeonsang Eom,et al.  Request Bridging and Interleaving: Improving the Performance of Small Synchronous Updates under Seek-Optimizing Disk Subsystems , 2011, TOS.

[28]  Jeffrey M. Voas,et al.  Mobile Application and Device Power Usage Measurements , 2012, 2012 IEEE Sixth International Conference on Software Security and Reliability.

[29]  Arun Venkataramani,et al.  Augmenting mobile 3G using WiFi , 2010, MobiSys '10.

[30]  Guoliang Xing,et al.  Reducing Smartphone Application Delay through Read/Write Isolation , 2015, MobiSys.

[31]  Marcus P. Dunn,et al.  A New I/O Scheduler for Solid State Devices , 2010 .

[32]  Hojung Cha,et al.  DevScope: a nonintrusive and online power analysis tool for smartphone hardware components , 2012, CODES+ISSS.

[33]  Prasant Mohapatra,et al.  Energy Consumption and Conservation in WiFi Based Phones: A Measurement-Based Study , 2007, 2007 4th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks.

[34]  Paramvir Bahl,et al.  Anatomizing application performance differences on smartphones , 2010, MobiSys '10.