Performance Prediction of Configurable Software Systems by Fourier - - PowerPoint PPT Presentation

performance prediction of configurable software systems
SMART_READER_LITE
LIVE PREVIEW

Performance Prediction of Configurable Software Systems by Fourier - - PowerPoint PPT Presentation

Performance Prediction of Configurable Software Systems by Fourier Learning Yi Zhang, Jianmei Guo, Eric Blais, Krzysztof Czarnecki Overview The Problem The Tool The Solution Evaluation 2 The Problem Given configurable


slide-1
SLIDE 1

Performance Prediction of Configurable Software Systems by Fourier Learning

Yi Zhang, Jianmei Guo, Eric Blais, Krzysztof Czarnecki

slide-2
SLIDE 2

2

Overview

  • The Problem
  • The Tool
  • The Solution
  • Evaluation
slide-3
SLIDE 3

3

The Problem

  • Given configurable software systems with

n (binary) features

  • Each configuration is a set of features
  • Each configuration has a performance

value, e.g. execution time

  • Goal: Predict the performance of all

(valid) configurations by measuring a (small) sample of configurations.

slide-4
SLIDE 4

4

The Problem: Example

Feature_1 Feature_2 Feature_3 Performance 1 7.0 1 1 5.9 1 1 8.1 1 ? ... ... ... ? 1 1 1 ?

slide-5
SLIDE 5

5

The Problem: Alternative

x f(x) x_1 x_2 x_3 1 7.0 1 1 5.9 1 1 8.1 1 ? ... ... ... ? 1 1 1 ?

slide-6
SLIDE 6

6

The Problem: Alternative

  • Given n, the number of features
  • Configuration: bit vector
  • Performance: f(x)
  • Goal: Estimate f(x) for all

i.e. learn the function f

x∈{0,1}

n

x∈{0,1}

n

slide-7
SLIDE 7

7

The Challenge This is impossible for arbitrary f ! f(101) has nothing to do with f(110)

slide-8
SLIDE 8

8

The Good News: Functions representing real software systems have structure.

slide-9
SLIDE 9

9

The Tool: Fourier Analysis

Given a function: Can write f as:

where: f :{0,1}

n→ℝ

slide-10
SLIDE 10

10

The Tool: Observations

  • For a function

There are Fourier coefficients

  • Knowing the coefficients is

equivalent to knowing the function itself.

f :{0,1}

n→ℝ

2

n

slide-11
SLIDE 11

11

The Tool: Example

x f(x) 3 1 2 1 4 1 1 1

f (x)=2.5⋅χ00(x)+1⋅χ01(x)

+0⋅χ10(x)+(−0.5) ⋅χ11(x)

slide-12
SLIDE 12

12

The Tool: Fourier Analysis

^ f (z)= 1 2

n ∑ x∈{0,1}n f (x)⋅χz(x)

^ f (01)= 1 4 (f (00) ⋅χ01(00)+f (01) ⋅χ01(01) +f (10)⋅χ01(10)+f (11) ⋅χ01(11))

For example:

^ f (01)= 1 4 (3−2+4−1)=1

slide-13
SLIDE 13

13

The Good News: Functions representing real software systems have structure are Fourier sparse!

(when normalized)

i.e. many coefficients are (close to) 0.

slide-14
SLIDE 14

14

The Problem: Final

  • Given n, the number of features
  • Configuration: bit vector
  • Performance: f(x)
  • Goal: Estimate f(x) for all

Estimate all (large) Fourier coefficients of f.

x∈{0,1}

n

x∈{0,1}

n

slide-15
SLIDE 15

15

The Solution: Idea Use to construct

^ h( z) h

Take random sample S:

^ f (z)= 1 2

n ∑ x∈{0,1}n f (x)⋅χz(x)

^ h( z)≈ 1 |S|∑

x ∈S

f (x) ⋅χz(x)

(*)

slide-16
SLIDE 16

16

The Solution: Theorem (Hoeffding) Given f is Fourier-sparse, if S is large, then h is close to f with high probability.

slide-17
SLIDE 17

17

The Solution: Theorem

Given is Fourier t-sparse, with samples, our estimation h can achieve: with probability .

2 ϵ

2 (( n+1)log (2)+log( 1

δ )) 1−δ f :{0,1}

n→ℝ

‖f −h‖

2<t⋅ϵ 2

slide-18
SLIDE 18

18

The Solution: Algorithm

1) User specify error bound and confidence level 2) Assume t = 1 (f is 1-sparse), and calculate number of samples required 3) Take the measurements and calculate Fourier coefficients using (*), obtain h 4) Take more samples and estimate the distance between h and f 5) If not within the specified bound, increase t and repeat

γ

slide-19
SLIDE 19

19

Evaluation: Systems

Original systems too small. |D| = # Total configurations.

slide-20
SLIDE 20

20

Evaluation: Hybrid-systems

x y f(x*y) x_1 x_2 y_1 y_2 f(x)+f(y) 3+2 1 3+4 1 3+1 ... ... ... ... ... 1 1 1 1 5+3

System x*y

slide-21
SLIDE 21

21

Evaluation: Systems

|D| = # Total configurations.

slide-22
SLIDE 22

22

Evaluation: Results

1) Confidence level set to be 80% 2) Run 10 times for each setting

slide-23
SLIDE 23

23

Evaluation: Comparison

1) SPLConqueror from Siegmund et. al.(2012) uses feature interaction to predict performance. 2) CART from Guo et. al. (2013) uses machine learning techniques.

SPLConqueror CART Fourier Accuracy ~ 95% ~ 94% Arbitrary* Sample Size Any Sampling Specific Random Random Error Control No No Yes System Any Any Large

O(n

2)

O(n,1/ γ

2)

slide-24
SLIDE 24

24

Summary

1) Fourier learning predicts software performance with guaranteed accuracy and confidence level 2) May require large systems and run time may be slow 3) Future: reduce exponential number of Fourier coefficient estimations 4) Future: testing Fourier sparse-ness of systems

slide-25
SLIDE 25

25

Thank you.