
Florida State University Libraries Electronic Theses, Treatises and Dissertations The Graduate School 2016 Evaluation of a Benchmark Suite Exposing Android System Complexities Using Region-Based Caching Martin Kenneth Brown Follow this and additional works at the DigiNole: FSU's Digital Repository. For more information, please contact [email protected] FLORIDA STATE UNIVERSITY COLLEGE OF ARTS AND SCIENCES EVALUATION OF A BENCHMARK SUITE EXPOSING ANDROID SYSTEM COMPLEXITIES USING REGION-BASED CACHING By MARTIN KENNETH BROWN A Dissertation submitted to the Department of Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy 2016 Copyright c 2016 Martin Kenneth Brown. All Rights Reserved. Martin Kenneth Brown defended this dissertation on November 14, 2016. The members of the supervisory committee were: Gary Tyson Professor Directing Dissertation Linda DeBrunner University Representative David Whalley Committee Member Xin Yuan Committee Member The Graduate School has verified and approved the above-named committee members, and certifies that the dissertation has been approved in accordance with university requirements. ii This is dedicated to my wife, Sherene. iii ACKNOWLEDGMENTS “I returned and saw under the sun that the race is not to the swift, nor the battle to the strong, nor bread to the wise, nor riches to men of understanding, nor favor to men of skill; but time and chance happen to them all.” — King Solomon, Ecclesiastes 9:11. I thank God for His providence. I’m grateful to Gary Tyson for serving as my thesis advisor. Thank you for challenging me and providing many opportunities for me to mold my research, teaching, mentoring and presentation skills. You are one of the best speakers that I have known, and I always try to imitate your presentation style. I would like to thank David Whalley, Xin Yuan, and Linda DeBrunner for serving on thesis committee and giving me great advice on my work. David and Xin have also helped me improve my programming skills significantly through their challenging courses. I am indebted to Steven Reinhardt, who gave me an amazing opportunity to intern with AMD Research where I was challenged with gem5 projects. I am also indebted to Sally McKee, who guided me through the process of publishing my first paper in computer architecture, and who helped me improve my writing and communication skills. I can still hear her guiding voices in my head. My greatest supporter throughout this journey has undoubtedly been my wife, Sherene, who bore my burdens. She has been a witness to every emotion I have been through over the past six years. She has been patient, kind and creative, helping me find new ways to get over my lows, and rejoicing with me in my highs. She is my rock. Many of my peers have also helped me during this journey. I’m thankful to Leon Brown for the moral support on campus and the mental breaks off campus. Thanks to Zachary Yannes and Michael Lustig, Mazdak Sanati and Leon for assisting me in my research. Thanks to Gokila Dorai, Ashleigh Davis, Michael Mitchell, Frank Sposaro, Peter Gavin and other students in the Mobile Lab for their advice and moral support along the way. The good company of Samuel Pyne and the atmosphere at All Saints Cafe made working late and throughout the night for over a year a lot easier, and often fun. Thanks to Raymond Pierre- Louis, Edwina Jacobs, and Deanna Brown for sharing my burdens as well. I must also express my gratitude to members of the CS Department’s staff, Daniel Clawson, Eleanor McNealy, Kenyetta Neale, Kristan Mcalpin, and Edwina Hall for their kind help along the iv way. I also can’t forget the friendly janitorial staff who took the time to chat with me and give me some well needed breaks away from research. Thanks to the professors at Florida A&M University who prepared me for my journey at FSU: Edward Jones, Hongmei Chi, Jason Black, Deidre Evans, Ken Riggs, Bhanu Prasad, and the late Tiki Suarez-Brown. I’m indebted to Patrick Medlock for his being an outstanding spiritual and professional mentor to me, and encouraging me to do God’s work. Johnathan Leonard encouraged me on a regular basis to keep on keeping on. I thank him for being a true friend throughout the years. Eisenhower Etienne has always encouraged me spiritually and academically. I often remember him saying that ”There’s only one way to earn a Ph.D., the hard way.” There are so many individuals at the Springhill Road, Lakeview, Hyde Park, and St. Martin Churches of Christ that I am grateful for. Last but not least, my family has continued to serve as a foundation of support throughout the years. I’m grateful to my father and mother, Charles and Maria Brown for raising me up with everything that I ever needed to be where I am today. I also thank my brothers Paul, Charles, and Adonis who introduced me to computer programming at the age of 15. Thanks to them, my other brothers Alston and James, and my extended family for believing in me. This dissertation contains excerpts from: [1] Brown, Martin K., et al. Agave: A Benchmark Suite for Exploring the Complexities of the Android Software Stack. Performance Analysis of Systems and Software (ISPASS), 2016 IEEE International Symposium on. IEEE, 2016. v TABLE OF CONTENTS ListofTables.......................................... ... ix ListofFigures ......................................... ... xi Abstract............................................. ... xv 1 INTRODUCTION 1 1.1 Background and Motivation . 1 1.2 Contributions...................................... 2 2 ANDROID’S EXECUTION ENVIRONMENT 3 2.1 Android Software Stack . 3 2.2 Process and Thread Management . 5 2.3 Memory Management . 5 2.3.1 Gingerbread’s Virtual Memory Layout . 6 2.3.2 Linux Memory-mapping Segment . 7 2.3.3 Linux Copy-on-write . 7 3 AGAVE: A BENCHMARK SUITE FOR EXPLORING THE COMPLEXITIES OF THE ANDROID SOFTWARE STACK 9 3.1 Introduction...................................... 9 3.2 RelatedWork........................................ 10 3.2.1 Android Benchmark Suites . 10 3.2.2 Android Workload Characterization . 12 3.3 Approach . 14 3.4 AgaveBenchmarks..................................... 17 3.4.1 Aard Dictionary . 17 3.4.2 Cool Reader . 17 3.4.3 Countdown Alarm . 17 3.4.4 Doom ........................................ 17 3.4.5 FrozenBubble ................................... 17 3.4.6 Gallery 3D . 18 3.4.7 GingerbreadMusicPlayer . 18 3.4.8 Gingerbread Package Installer . 18 3.4.9 JetBoy........................................ 20 3.4.10 OpenDocument Reader . 20 3.4.11 OsmAnd Maps & Navigation . 21 3.4.12 VLC for Android . 21 3.5 ExperimentalSetup ................................. 21 3.5.1 Modifications made to open-source apps . 23 3.5.2 Modifications made to Gingerbread . 24 3.5.3 Modifications made to the Linux kernel . 24 3.5.4 Modifications made to gem5 . 27 vi 3.6 Agave on Android Gingerbread (Agave-GB) . 28 3.6.1 Memory Reference Characterization . 28 3.6.1.1 Memory Reference Distribution of Regions. 28 3.6.1.1.1 Data Memory Reference Distribution . 33 3.6.1.1.2 Instruction Memory Reference Distribution . 33 3.6.1.2 Working-set Sizes of Regions. 33 3.6.1.2.1 Data Cache Working-set Sizes . 33 3.6.1.2.2 Instruction Cache Working-set Sizes . 36 3.6.1.3 Memory Reference Distribution of Processes. 39 3.6.1.4 Memory Reference Distribution o Threads. 39 3.6.2 Multitasking and Multithreading . 39 3.6.3 Relationship between Processes, Threads, and Regions . 40 3.6.4 Graphics Activity . 45 3.6.5 Principal Component Analysis . 45 3.6.5.1 Microarchitecture-Independent Characterization. 45 3.6.5.2 Comparison with Expected Behavior. 47 3.6.5.3 Microarchitecture-Dependent Characterization. 47 3.6.5.4 Summary of Principal Component Analysis. 49 3.7 Agave on Android KitKat/Dalvik (Agave-KK-DVM) . 49 3.7.1 Modifications made to KitKat, the Kernel, and gem5 . 49 3.7.2 KitKat/Dalvik Virtual Memory Layout . 50 3.7.3 Memory Reference Characterization . 50 3.7.3.1 Memory Reference Distribution of Regions. 50 3.7.3.2 Memory Reference Distribution of Processes. 50 3.7.3.3 Memory Reference Distribution of Threads. 54 3.8 Agave on Android KitKat/ART (Agave-KK-ART) . 54 3.8.1 Differences between Dalvik and ART . 54 3.8.2 Memory Reference Distribution of Agave-KK-ART Regions . 59 3.8.3 Working-setSizes.................................. 59 3.9 ChapterSummary ..................................... 63 4 LOW-ENERGY REGION-BASED CACHE CONFIGURATIONS 65 4.1 Introduction...................................... 65 4.2 RelatedWork........................................ 66 4.3 Solution........................................... 67 4.4 Analysis of Cache Interference between Regions . 67 4.4.1 Data regions . 67 4.4.2 Instruction regions . 68 4.5 ExperimentalSetup ................................. 69 4.5.1 Cache Sharing Criteria for Aggressive ARBC . 69 4.5.2 Cache Configurations . 71 4.5.3 PowerMetrics ................................... 71 4.5.4 Cache Partitions . 72 4.6 Aggressive Android Region-based Caching . 72 4.6.1 L1-DC Energy . 72 vii 4.6.2 L1-DC Miss Rates . 73 4.6.3 L1-DC Averages . 73 4.6.4 Instruction Cache Energy . 73 4.6.5 L1-IC Miss Rates . 80 4.6.6 L1-IC Averages . 80 4.6.7 Sources of Energy Savings . 80 4.6.8 Dynamic Power Reduction in L1-IC vs. L1-DC . 80 4.6.9 Low-conflict vs. Shared Cache Configurations . 84 4.6.10 Cache Coherent Android Region-based Caching . 84 4.7 Conservative Android Region-based Caching . 90 4.7.1 Estimated Dynamic Energy Reduction . 90 4.7.2 ExperimentalSetup ................................ 97 4.7.3 Results and Analysis . 97 4.8 ChapterSummary ..................................... 98 5 SUMMARY 103 5.1 AgaveBenchmarkSuite ................................. 103 5.2 Android Memory Reference Characterization .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages142 Page
-
File Size-