Power, Performance Modeling and Optimization for Mobile System and Applications by Lide Zhang A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Computer Science and Engineering) in The University of Michigan 2013 Doctoral Committee: Associate Professor Robert Dick, Chair Associate Professor Jason Nelson Flinn Associate Professor Z. Morley Mao Assistant Professor Zhengya Zhang Professor Peter A. Dinda, Northwestern University © Lide Zhang 2013 All Rights Reserved ACKNOWLEDGEMENTS This thesis was completed with invaluable help from my advisor, Prof. Robert P. Dick. It is him who led me into research and also guided me through every step during my Ph.D. study. I couldn’t have started my research life without him. I’m grateful for his advice and discussions. I’m also deeply thankful for my collaborators and co-advisors. Prof. Z. Morley Mao has given me great guidance ever since the first work in my thesis. Her knowledge and experience in system area allows her to give me insightful suggestions on both my research directions and the approach I take. Prof. Peter Dinda has also been providing me valuable suggestions in many of my works. His extensive experience with the operating system has helped me to overcome so many technical barriers I ran into during the study. I feel very fortunate to have them helping me. I would like to express my gratitude to Prof. Jason Flinn and Prof. Zhengya Zhang for serving on my thesis committee. The valuable suggestions they provided make my thesis a more complete and better work. I would also like to thank my colleagues, my friends and my collaborators. David Build and I collaborated on the last piece of work and he contributed tremendous work into the implementation of Panappticon, e.g., the kernel logging framework. The valuable discussion between him and me also inspired me a lot on the other part of the work. Without him, I could never finish the work in such a short time. Mark Gordon and I collaborated on two pieces of my works. I have learned a lot ii from Mark on his efficient and solid coding style. PowerTutor would not have such broad impact without him. As my great friends and colleagues, Xuejing He, Yue Liu, Yun Xiang, and Phil Knag have all provided me great suggestions on my work. I’m also lucky to have my best friends, Xiaoran Tong, Jingsi Xie, and Bingxiao Wu, supporting me all along my Ph.D. study. They have brought me so much joy, regardless of where they were. Also, their attitude to career and life have set great examples for me. Finally, I would like to thank my family and my boyfriend, Shuyi Chen. They have always been encouraging me and consistently supporting me on every decisions I made. I would not make it without them and this dissertation is dedicated to them. iii TABLE OF CONTENTS ACKNOWLEDGEMENTS ::::::::::::::::::::::::::::: ii LIST OF TABLES :::::::::::::::::::::::::::::::::: vii LIST OF FIGURES ::::::::::::::::::::::::::::::::: viii ABSTRACT ::::::::::::::::::::::::::::::::::::: xi CHAPTER I. Introduction ................................ 1 1.1 Enable the Understanding of Energy Implication and Performance on Mobile Device . 3 1.1.1 Accurate Online Power Estimation and Automatic Bat- tery Behavior Based Power Model Generation for Smart- phone . 4 1.1.2 Panappticon: Event-based Monitoring to Optimize Mo- bile Application and Platforms . 4 1.2 Characterization of the Energy Usage and Performance of Real- world Workload . 5 1.3 Optimization for Energy Consumption While Maintaining Per- formance . 5 1.4 Thesis Organization . 6 II. Automatic Online Power Estimation and Automatic Battery Behavior Based Power Model Generation for Smartphones ........... 8 2.1 Introduction . 8 2.2 Power Model . 11 2.2.1 Smartphone Hardware Components and Experimental Setup . 12 2.2.2 Modeling Methodology . 13 2.2.3 Component-level Power Model . 15 2.2.4 OLED Power Model . 21 iv 2.2.5 Application-Level Power Model . 24 2.3 Intra- and Inter-Phone Power Consumption Variation . 25 2.4 Battery State Based Automated Power Model Generation . 27 2.4.1 Battery Basics . 28 2.4.2 Battery State Based Model Generation . 29 2.5 Power Model Validation . 31 2.5.1 Accuracy Analysis for the Meter-Based System Power Model . 32 2.5.2 Accuracy Analysis for Application-Level Power Model 36 2.5.3 Implementation of the Automatic Battery-Based Model Generation Technique . 38 2.5.4 Accuracy Analysis for the Battery-Based Power Model 40 2.6 Power Estimation Tool . 41 2.6.1 Comparison to Android’s Built-in Meter . 42 2.7 Understanding optimization opportunities from real-world user traces . 43 2.7.1 Data Set Description . 43 2.7.2 Key Observations . 44 2.8 Summary . 48 III. Panappticon: Event-based Tracing to Optimize Mobile Application and Platform Performance ........................ 50 3.1 Introduction . 50 3.2 Goals and Design Challenges . 53 3.2.1 Design goal and example . 53 3.2.2 Design challenges . 55 3.3 Approach overview . 56 3.3.1 Methodology overview . 56 3.3.2 Architecture overview . 59 3.4 Instrumentation details . 59 3.4.1 Background: Android . 60 3.4.2 What information do we capture? . 61 3.4.3 How do we construct relationship graph? . 66 3.4.4 How do we account for resource? . 69 3.4.5 Example graphs of common programming models . 70 3.5 Validation . 72 3.5.1 Accuracy analysis . 72 3.5.2 Overhead analysis . 74 3.6 Case studies from real-world traces . 75 3.6.1 Experimental setup . 75 3.6.2 How to use Panappticon to understand performance in- efficiency . 77 v 3.6.3 Case Study One: Analysis of long transactions for ap- plications . 78 3.6.4 Case Study Two: Impact of DVFS policy on user trans- action latency . 81 3.6.5 Case Study Three: Impact of hardware resource on user transactions . 84 3.7 Summary . 86 IV. ADEL: Automatic Detector of Energy Leaks for Smartphone Appli- cations ................................... 88 4.1 Introduction . 88 4.2 Problem Definition . 91 4.3 Illustrative Example and Design Challenges . 92 4.3.1 Illustrative example . 93 4.3.2 Design challenges . 94 4.4 System Architecture of ADEL . 95 4.4.1 Background: Android . 96 4.4.2 Architecture Overview . 97 4.4.3 Implementation . 99 4.5 Validation . 105 4.5.1 Accuracy and Limitations . 105 4.5.2 Overhead Analysis . 107 4.6 Application Study . 109 4.6.1 Experimental Setup . 109 4.6.2 Findings . 111 4.6.3 Application Design Flaws . 114 4.6.4 Overly Aggressive Prefetching . 117 4.7 Summary . 119 V. Related work ................................ 121 5.1 Power Model Construction . 121 5.2 Characterization of Real-world Workload . 123 5.3 Performance Monitoring and Optimization . 123 5.4 Energy Debugging and Optimization . 125 VI. Conclusion and Future Work . 128 6.1 Future work . 129 APPENDIX :::::::::::::::::::::::::::::::::::::: 131 BIBLIOGRAPHY :::::::::::::::::::::::::::::::::: 132 vi LIST OF TABLES Table 2.1 Hardware Components for HTC Dream . 12 2.2 HTC Dream Power Model . 16 2.3 Variation of Power Models Among Phones . 26 2.4 Comparison Between Android Built-In Power Meter and PowerTutor. 43 2.5 Dataset summary . 44 2.6 Data Recorded Each Second by PowerTutor. 44 2.7 Energy Consumed in Idle for 3G and Display. 45 3.1 List of Events Captured . 62 3.2 List of Events Captured . 72 3.3 Deployment Statistics . 76 3.4 Resource Accounting Statistics for Sample Transactions from Reddit News 79 3.5 Power and Energy Consumption for Different Frequency Levels for Galaxy Nexus . 84 4.1 Applications for Validation . 104 4.2 Applications Studied . 110 4.3 Root Causes for Leaks . 114 vii LIST OF FIGURES Figure 1.1 Flow chart of the thesis. 3 2.1 Experimental setup for power measurement. 12 2.2 Power profile for the current GPS policy. 17 2.3 Wi-Fi interface power states. 19 2.4 3G interface power states. 19 2.5 (a) TCP handshake RTT. (b) HTTP GET RTT. 20 2.6 (a) OLED power consumption and brightness. (b) Compensation power consumption. 23 2.7 Discharge curve of ADP2 lithium-ion battery. 28 2.8 Equivalent circuit for battery. 29 2.9 Power profiles for selected applications. 32 2.10 Error distribution for LCD. (a) 15 minutes. (b) 30 minutes. (c) 45 mintues. 34 2.11 OLED model validation and overhead.(a) OLED pixel model validation. (b) Overhead and error for difference sample number. 35 2.12 Hardware component power for BBC News. (a) 3G power. (b) CPU power. (c) Wi-Fi power. 36 2.13 Battery SOD based power model construction. 39 2.14 Error distributions for components. 41 viii 2.15 PowerTutor interface. (a) Application view. (b) Chart view. (c) Pie view. 42 2.16 Energy decomposition for different phone types. 45 2.17 (left) Histogram of CPU utilizations. (right) Energy weighted histogram of CPU utilizations. 47 3.1 Illustrative example of perceivable user transaction: horizontal direction represents time while vertical direction represents different threads. 54 3.2 Example execution sequence illustrating our methodology for user trans- action extraction. Figures III.2(a) and III.2(c) illustrate that the sequence can be viewed as a directed acyclic graph of dependent execution inter- vals. Figures III.2(b) and III.2(d) show how the graph can be recon- structed from a log of simple events. In this transaction, the user input enqueues an AsyncTask, which after communicating with a background service via RPC, updates the display. It also forks a background thread to read from disk and then update the display. The transaction ends after the second display update. 57 3.3 System architecture overview.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages149 Page
-
File Size-