Operating System Support for Mobile Interactive Applications
CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
Pagination or Media Count:
Mobile interactive applications are becoming increasingly important. 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 prediction predicts application resource demand as a function of fidelity. A resource model then maps application resource demand and system resource supply to performance. I also describe the design and implementation of runtime support for multi-fidelity computations the overall system architecture as well as each key component. 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 fidelity 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 experiments 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.
- Operations Research
- Computer Systems
- Human Factors Engineering and Man Machine Systems