Operating System Support for Mobile Interactive bumba/research/diss.pdf  Abstract Mobile...

download Operating System Support for Mobile Interactive bumba/research/diss.pdf  Abstract Mobile interactive

of 209

  • date post

    14-Aug-2019
  • Category

    Documents

  • view

    212
  • download

    0

Embed Size (px)

Transcript of Operating System Support for Mobile Interactive bumba/research/diss.pdf  Abstract Mobile...

  • Operating System Support for Mobile Interactive Applications

    Dushyanth Narayanan

    August 2002 CMU-CS-02-168

    School of Computer Science Computer Science Department

    Carnegie Mellon University Pittsburgh, PA

    Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy.

    Thesis Committee: M. Satyanarayanan, Chair

    Christos Faloutsos Randy Pausch

    John Wilkes, Hewlett-Packard Laboratories

    Copyright c �

    2002 Dushyanth Narayanan

    This research was supported by the Defense Advanced Research Projects Agency (DARPA) and the Air Force Materiel Command (AFMC) under contracts F19628-93-C-0193 and F19628-96-C-0061, the Space and Naval Warfare Systems Center (SPAWAR) / U.S. Navy (USN) under contract N660019928918, the Na- tional Science Foundation (NSF) under grants CCR-9901696 and ANI-0081396, IBM Corporation, Intel Corporation, Compaq, and Nokia.

    The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies or endorsements, either express or implied, of DARPA, AFMC, SPAWAR, USN, the NSF, IBM, Intel, Compaq, Nokia, Carnegie Mellon University, the U.S. Government, or any other entity.

  • Keywords: interactive applications, mobile computing, ubiquitous computing, multi- fidelity algorithm, application-aware adaptation, predictive resource management, history- based demand prediction, augmented reality, machine learning

  • Abstract

    Mobile interactive applications are becoming increasingly important. One such application alone — augmented reality — has enormous potential in fields ranging from entertainment to aircraft maintenance. Such applications demand good interactive response. However, their environments are resource-poor and turbulent, with frequent and dramatic changes in resource availability. To keep response times bounded, the application and system together must adapt to changing resource conditions.

    In this dissertation, I present a new abstraction — multi-fidelity computation — and claim that it is the right abstraction for adaptation in mobile, interactive applications. I also present an API that allows a mobile interactive application to recast its core functionality as a multi-fidelity computation,

    I identify one of the key problems in application adaptation: predicting application performance at any given fidelity. I solve this problem in two steps. History-based predic- tion predicts application resource demand as a function of fidelity. A resource model then maps application resource demand and system resource supply to performance. History- based prediction is validated through four case studies demonstrating accurate prediction of CPU, memory, network, and energy demand.

    I also describe the design and implementation of runtime support for multi-fidelity com- putations: the overall system architecture as well as each key component. I present four application case studies: of a virtual walkthrough program, a 3-D graphics algorithm, a web browser, and a speech recognizer. In each case, I show how the application uses the multi- fidelity API; that the programming cost of using the API is small; and that the history-based prediction method accurately predicts application resource demand.

    In evaluating the system prototype, I ask three questions. First, is adaptation agile in the face of changing load conditions? Second, is the system accurate in choosing the fi- delity that best matches the applications’ needs? Third, does the system provide substantial benefit compared to the non-adaptive case? I answer these questions through a series of ex- periments both with synthetic and real workloads. I show that adaptation is agile, accurate, and beneficial in bounding response time despite varying CPU and memory load. I also show that adaptation reduces the variability in response time, providing a more predictable and stable user experience.

    i

  • ii

  • Acknowledgements

    While I deserve any blame for this dissertation, many people deserve a share of the credit. I could never have completed a work of this size and scope without substantial help and encouragement from colleagues, friends, and family.

    I would like to thank my advisor Satya for his expert technical guidance, for the high standards he always sets himself and his students, and for his confidence in my ability to do quality research. It has been an honour and an education to work with him. Without his ability to see the big picture at all times, I could not have stayed focussed and motivated over the last 7 years.

    Large research systems are the products of many minds and man-years. I have been fortunate to work on the same system with several first-class researchers. I would partic- ularly like to thank Brian Noble for his role as mentor, surrogate advisor, and officemate; and Jason Flinn, for an enjoyable and fruitful 5-year collaboration. Jan Harkes provided invaluable Linux expertise and a much-appreciated ability to keep my Coda volume avail- able.

    Despite their busy schedules, the members of my committee were always available for feedback and advice. I would like to thank Randy Pausch for keeping me honest about users and interactivity; John Wilkes for much perceptive and constructive criticism, and for keeping me abreast of related work; and Christos Faloutsos for stimulating discussions on a variety of topics.

    I could not imagine a more friendly and supportive environment than CMU-CS. The people who make this department a wonderful place are too numerous to list, but special thanks go to Sharon Burks, Tracy Farbacher, David Petrou, Sanjay Rao, Francisco Pereira, Belinda Thom, and Marius Minea. I am also indebted to the management of the 61C Café, to their excellent coffee, and to the many friends I made there, for hugely improving the quality of my life outside computer science.

    Last but certainly not least, I thank my parents. Their hard work and vision gave me the educational advantages that brought me to Carnegie Mellon. Despite occasional misgivings about my avoiding the real world, they always encouraged me to pursue my academic goals: without their faith in me and my abilities, I would not have made it this far.

    iii

  • iv

    0

    10000

    20000

    30000

    40000

    50000

    60000

    Dec 26 2000 Mar 26 2001 Jun 24 2001 Sep 22 2001 Dec 21 2001 Mar 21 2002 Jun 19 2002 Sep 17 2002 0

    50

    100

    150

    200

    250

    W or

    ds�

    P ag

    es�

    Date

    Words Pages

    Best fit on words Best fit on pages

    The scatter plot shows the number of words and pages in this dissertation over time. The lines are best fits to the scatter plots computed using least-squares regression.

    Figure 1: Size of this dissertation over time

  • Contents

    1 Introduction 1

    1.1 Scenario — augmented reality . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2 The Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2 A resource model 5

    2.1 What is a resource? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.2 Aggregating resource measurements . . . . . . . . . . . . . . . . . . . . . 7

    2.2.1 Operations and interactive applications . . . . . . . . . . . . . . . 7

    2.2.2 Why not time-series? . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.3 A taxonomy of resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.3.1 Time-shared resources . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.3.2 Space-shared resources . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.3.3 Cache resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.3.4 Exhaustible resources . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.4 Combining resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.4.1 Linear and additive cost metrics . . . . . . . . . . . . . . . . . . . 16

    2.4.2 Concurrent use of resources . . . . . . . . . . . . . . . . . . . . . 16

    2.5 Resource model for mobile interactive systems . . . . . . . . . . . . . . . 16

    2.5.1 Example: remote execution . . . . . . . . . . . . . . . . . . . . . 17

    2.5.2 Example: web browser . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.5.3 Which resources are relevant? . . . . . . . . . . . . . . . . . . . . 18

    2.5.4 User distraction: not a resource cost metric . . . . . . . . . . . . . 20

    2.6 Resource dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    v

  • vi CONTENTS

    3 Multi-fidelity computation 23

    3.1 Fidelity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.2 Multi-fidelity algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3.3 Mobile, interactive, multi-fidelity applications . . . . . . . . . . . . . . . . 26

    3.4 Performance-tuning parameters . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.5 Nontunable parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.6 Output quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    3.7 Related Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    4 A multi-fidelity API 31

    4.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . .