Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mantis: Automatic Performance Prediction for Smartphone Applications Yongin Kwon, Sangmin Lee, Hayoon Yi, Donghyun Kwon, Seungjun Yang, Byung-Gon Chun,

Similar presentations


Presentation on theme: "Mantis: Automatic Performance Prediction for Smartphone Applications Yongin Kwon, Sangmin Lee, Hayoon Yi, Donghyun Kwon, Seungjun Yang, Byung-Gon Chun,"— Presentation transcript:

1 Mantis: Automatic Performance Prediction for Smartphone Applications Yongin Kwon, Sangmin Lee, Hayoon Yi, Donghyun Kwon, Seungjun Yang, Byung-Gon Chun, Ling Huang, Petros Maniatis, Mayur Naik, Yunheung Paek USENIX ATC’13

2 Performance Prediction Problem Predict the execution time of a program on a given input before running it.

3 Two kinds of Approaches Most existing techniques can be classified into two broad categories. ◦ Domain-specific programs, automatically- extracted features. ◦ General-purpose programs, manually-specified features.

4 Mantis A new framework to automatically predict the performance of general- purpose byte-code programs on given inputs. Four components: ◦ Feature instrumentor ◦ Profiler ◦ Performance model generator ◦ Predictor code generator

5 Architecture

6 Feature Instrumentor Instruments the program to collect the values of feature (f 1, …, f M ) as per feature schemes. Feature scheme ◦ Branch counts ◦ Loop counts ◦ Method-call counts ◦ Variable values

7 Examples

8 Profiler Outputs a data set ◦ t i : the i th observation of execution time. ◦ v i : the i th observation of the vector of M features.

9 Performance Modeling Performs a sparse nonlinear regression on the feature values and execution time. Produces a function ◦ is the approximation of execution time ◦ is a subset of  In practice, K << M.

10 Performance Modeling(Cont.) However, regression with best subset selection is NP-hard. ◦ Find the subset of size K that gives the smallest Residual Sum of Squares(RSS). ◦ Discrete optimization problem.

11 SPORE-FoBa Sparse POlynomial REgression – FoBa. ◦ A feature from the candidate set is added into the model if and only if adding it makes the RSS decrease a lot.  If the drop is greater than ε. ◦ Remove a feature from the active set if deleting it makes the RSS increase the least.  If the increment is smaller than ε ’.

12 Example Degree-2 polynomial with ◦ Expand (1+x 1 +x 2 ) 2 to get 1, x 1, x 2, x 1 2, x 1 x 2, x 2 2. ◦ Construct the following function for regression

13 Predictor code generator Produce a code snippet, called slice, for each chosen features. ◦ Slice: an executable sub-programs that yields the same value v of a feature at a program point p as the given program on all inputs. Automatically evaluate feature values for each input by executing slices.

14 Example

15 Prototype Toolchain

16 Experiment Setup A machine runs Ubuntu 11.10 64-bit with a 3.1GHz quad-core CPU, and 8GB of RAM. A Galaxy Nexus running Android 4.1.2 with dual-core 1.2Ghz CPU and 1GB RAM. Six CPU-intensive Android applications. ◦ Each with 1,000 randomly generated inputs. ◦ Train the predictor on 100 inputs.

17 Experimental Results

18 Features and Models

19 Effect of the Number of Training Inputs

20 Compare with Linear Model

21 Prediction Time of Mantis and PE

22 Prediction Error of Mantis and BE

23 Prediction on Different Hardware Platform

24 Prediction under Background Load

25 Offline Stage Processing Time

26 Conclusion Mantis is a framework that automatically generates program performance predictors. ◦ Combines program slicing and sparse regression in a novel way. Evaluation shows that the generated predictors estimate execution time accurately and efficiently for smartphone applications.


Download ppt "Mantis: Automatic Performance Prediction for Smartphone Applications Yongin Kwon, Sangmin Lee, Hayoon Yi, Donghyun Kwon, Seungjun Yang, Byung-Gon Chun,"

Similar presentations


Ads by Google