north carolina state university vivek nair tim...

60
Using Bad Learners to find Good Configurations Vivek Nair Tim Menzies North Carolina State University Sven Apel University of Passau Norbert Siegmund Bauhaus-Universität Weimar

Upload: others

Post on 15-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Using Bad Learners to find Good Configurations

Vivek Nair Tim MenziesNorth Carolina State University

Sven ApelUniversity of Passau

Norbert SiegmundBauhaus-Universität Weimar

Page 2: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Configurable Systems and Variability

System

Page 3: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Configurable Systems and Variability

Systemt_2k_480p24.y4m

Page 4: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Configurable Systems and Variability

Systemt_2k_480p24.y4m trailer_480p24.x264

Page 5: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Configurable Systems and Variability

Systemt_2k_480p24.y4m trailer_480p24.x264

c1 c2 c3 c4 cn. . .

Configuration options

Page 6: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Configurable Systems and Variability

Systemt_2k_480p24.y4m trailer_480p24.x264

Non-functional behavior: response time, throughput, etc.

c1 c2 c3 c4 cn. . .

Configuration options

Page 7: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Configurable Systems and Variability

Systemt_2k_480p24.y4m trailer_480p24.x264

c1 c2 c3 c4 cn. . .

Non-functional behavior: response time, throughput, etc.

Configuration options

Page 8: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Performance Optimization is Necessary!

Page 9: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Performance Optimization is getting more Complex!

[1] Xu et. al. 2015. Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software.FSE 2015[2] Van Aken, Dana, et al. "Automatic Database Management System Tuning Through Large-scale Machine Learning." International Conference on Management of Data. ACM, 2017.

● Necessary

Page 10: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Performance Optimization is required since Default Configuration is Bad!

[1] Van Aken, Dana, et al. "Automatic Database Management System Tuning Through Large-scale Machine Learning." International Conference on Management of Data. ACM, 2017.[2] Herodotou, Herodotos, et al. "Starfish: A Self-tuning System for Big Data Analytics." CIDR

● Necessary

● Complex

Page 11: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Performance Optimization can be Expensive!

• Evaluation of single instance of their hardware/software co-design problem can take weeks[1]

• Rolling Sort use-case required 21 days, within a total experimental time of about 2.5 months[2]

• Test suite generation using Evolutionary Algorithm can take weeks[3]

• Image recognition workload and speech recognition workload, jobs ran for many hours or days[4]

[1] Zuluaga, Marcela, et al. "Active learning for multi-objective optimization." International Conference on Machine Learning. 2013.[2] Jamshidi, Pooyan, and Giuliano Casale. "An uncertainty-aware approach to optimal configuration of stream processing systems."MASCOTS-2016[3] Wang, Tiantian, et al. "Searching for better configurations: a rigorous approach to clone evaluation." FSE-2013[4] Venkataraman, Shivaram, et al. "Ernest: Efficient Performance Prediction for Large-Scale Advanced Analytics." NSDI. 2016.

● Necessary

● Complex

● Default is bad

Page 12: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Existing Solutions

2012 2013 2015

[Sarkar’15][Guo’13][Siegmund’12]

2017

[Nair’17]

[Siegmund’12] Siegmund, Norbert, et al. "Predicting performance via automated feature-interaction detection." ICSE- 2012[Guo’13] Guo, Jienmei, et al. “Variability-aware performance prediction: A statistical learning approach”. ASE-2013[Sarkar’15] Sarkar, Atri, et al. "Cost-efficient sampling for performance prediction of configurable systems (t)." ASE-2015[Nair’17] Nair, Vivek, et al. "Faster discovery of faster system configurations with spectral learning." ASE Journal-2017 - to appear.

Request ResponseTime ~ 2100 ms

F1= True

Surrogate System

F2= False F3= True

Configuration

Request ResponseTime = 2100 ms

F1= True

Software System

F2= False F3= True

Configuration

Page 13: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Existing Solutions

2012 2013 2015

[Sarkar’15][Guo’13][Siegmund’12]

2017

[Nair’17]

[Siegmund’12] Siegmund, Norbert, et al. "Predicting performance via automated feature-interaction detection." ICSE- 2012[Guo’13] Guo, Jienmei, et al. “Variability-aware performance prediction: A statistical learning approach”. ASE-2013[Sarkar’15] Sarkar, Atri, et al. "Cost-efficient sampling for performance prediction of configurable systems (t)." ASE-2015[Nair’17] Nair, Vivek, et al. "Faster discovery of faster system configurations with spectral learning." ASE Journal-2017 - to appear.

Configuration Space

Page 14: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Existing Solutions

2012 2013 2015

[Sarkar’15][Guo’13][Siegmund’12]

2017

[Nair’17]

[Siegmund’12] Siegmund, Norbert, et al. "Predicting performance via automated feature-interaction detection." ICSE- 2012[Guo’13] Guo, Jienmei, et al. “Variability-aware performance prediction: A statistical learning approach”. ASE-2013[Sarkar’15] Sarkar, Atri, et al. "Cost-efficient sampling for performance prediction of configurable systems (t)." ASE-2015[Nair’17] Nair, Vivek, et al. "Faster discovery of faster system configurations with spectral learning." ASE Journal-2017 - to appear.

Configuration Space

1

Train

Test

1. Divide the configuration space into training and testing sets;

Page 15: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Existing Solutions

2012 2013 2015

[Sarkar’15][Guo’13][Siegmund’12]

2017

[Nair’17]

[Siegmund’12] Siegmund, Norbert, et al. "Predicting performance via automated feature-interaction detection." ICSE- 2012[Guo’13] Guo, Jienmei, et al. “Variability-aware performance prediction: A statistical learning approach”. ASE-2013[Sarkar’15] Sarkar, Atri, et al. "Cost-efficient sampling for performance prediction of configurable systems (t)." ASE-2015[Nair’17] Nair, Vivek, et al. "Faster discovery of faster system configurations with spectral learning." ASE Journal-2017 - to appear.

Configuration Space

1

2

Train

Test

1. Divide the configuration space into training and testing sets;

2. Measure all the configurations in the testing set;

Page 16: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Existing Solutions

2012 2013 2015

[Sarkar’15][Guo’13][Siegmund’12]

2017

[Nair’17]

[Siegmund’12] Siegmund, Norbert, et al. "Predicting performance via automated feature-interaction detection." ICSE- 2012[Guo’13] Guo, Jienmei, et al. “Variability-aware performance prediction: A statistical learning approach”. ASE-2013[Sarkar’15] Sarkar, Atri, et al. "Cost-efficient sampling for performance prediction of configurable systems (t)." ASE-2015[Nair’17] Nair, Vivek, et al. "Faster discovery of faster system configurations with spectral learning." ASE Journal-2017 - to appear.

Configuration Space

1

Train

Test2

3

1. Divide the configuration space into training and testing sets;

2. Measure all the configurations in the testing set;

3. Iteratively sampling configuration from training set to build a model and test the model against testing set;

Page 17: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Existing Solutions

2012 2013 2015

[Sarkar’15][Guo’13][Siegmund’12]

2017

[Nair’17]

[Siegmund’12] Siegmund, Norbert, et al. "Predicting performance via automated feature-interaction detection." ICSE- 2012[Guo’13] Guo, Jienmei, et al. “Variability-aware performance prediction: A statistical learning approach”. ASE-2013[Sarkar’15] Sarkar, Atri, et al. "Cost-efficient sampling for performance prediction of configurable systems (t)." ASE-2015[Nair’17] Nair, Vivek, et al. "Faster discovery of faster system configurations with spectral learning." ASE Journal-2017 - to appear.

Configuration Space

1

1. Divide the configuration space into training and testing sets;

2. Measure all the configurations in the testing set;

3. Iteratively sampling configuration from training set to build a model and test the model against testing set;

4. Exit when an accurate model is built (e.g., error = 0.1)

Train

Test2

3

4

Page 18: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Limitation of Existing Solutions

Page 19: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Limitation of Existing Solutions

Page 20: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Limitation of Existing Solutions

Page 21: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Limitation of Existing Solutions

Page 22: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Limitation of Existing Solutions

Page 23: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Limitation of Existing Solutions

Page 24: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Core Insight

Page 25: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Page 26: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Page 27: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Page 28: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Page 29: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Page 30: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Page 31: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Page 32: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Configuration Space

1

1. Divide the configuration space into training and testing sets;

2. Measure all the configurations in the testing set;

3. Iteratively sampling configuration from training set to build a model and test the model against testing set;

Train

Test2

3

Page 33: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Configuration Space

1

1. Divide the configuration space into training and testing sets;

2. Measure all the configurations in the testing set;

3. Iteratively sampling configuration from training set to build a model and test the model against testing set;

4. Calculate accuracy � model should get progressively more accurate

Train

Test2

3

4

Page 34: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Rank Preserving Model

Configuration Space

1

1. Divide the configuration space into training and testing sets;

2. Measure all the configurations in the testing set;

3. Iteratively sampling configuration from training set to build a model and test the model against testing set;

4. Calculate accuracy � model should get progressively more accurate

5. Exit when a model built does not improve (accuracy plateau)

Train

Test2

3

4 5

Page 35: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Evaluation

Page 36: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Baselines

• Progressive Sampling[1]

– Sequentially (randomly) sample configuration to build a decision tree till threshold accuracy is reached

• Projective Sampling[2]

– Using minimal set of initial sample configurations to project the sampling cost based on a threshold accuracy

[1] Guo, Jianmei, et al. “Variability-aware performance prediction: A statistical learning approach”. ASE-2013[2] Sarkar, Atri, et al. "Cost-efficient sampling for performance prediction of configurable systems (t)." ASE-2015

Page 37: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Research Questions

RQ1- Can inaccurate models accurately rank configurations?

RQ2- How expensive is a rank-based method?

Page 38: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Subject Software Systems

Video Encoder

Databases

Utility

Compression

Numerical

Grid benchmark

Web server

Data processing

Page 39: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Subject Software Systems

Pooyan Jamshidi

Norbert Siegmund

Sven Apel

Combined effort = 6 computational months

Page 40: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Experimental Settings

Data (100)

Page 41: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Experimental Settings

Data (100)

Training Pool (40) Prune Pool (20) Testing Pool (40)

Page 42: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Experimental Settings

Data (100)

Training Pool (40) Prune Pool (20) Testing Pool (40)

Page 43: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Results

Page 44: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

Page 45: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

Page 46: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

Page 47: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

The lower the better

Page 48: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

The lower the better

Page 49: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

The lower the betteractualoptimal

predictedoptima

l1

6

Page 50: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

The lower the betteractualoptimal

predictedoptimal

1

6

RD = |1 - 6| = 5

Page 51: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

Page 52: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

Page 53: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

8/1535

Page 54: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ1: Can inaccurate models accurately rank configurations?

Page 55: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ2: How expensive is a rank-based approach?

Page 56: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ2: How expensive is a rank-based approach?

The lower the better

Page 57: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ2: How expensive is a rank-based approach?

Page 58: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

RQ2: How expensive is a rank-based approach?

Page 59: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration

Conclusion

Page 60: North Carolina State University Vivek Nair Tim Menziesvivekaxl.github.io/assets/UsingBadLearnerstofindGoodConfiguration.… · "An uncertainty-aware approach to optimal configuration