Using Bad Learners to find Good Configurations
arXiv:1702.05701 · doi:10.1145/3106237.3106238
Abstract
Finding the optimally performing configuration of a software system for a given setting is often challenging. Recent approaches address this challenge by learning performance models based on a sample set of configurations. However, building an accurate performance model can be very expensive (and is often infeasible in practice). The central insight of this paper is that exact performance values (e.g. the response time of a software system) are not required to rank configurations and to identify the optimal one. As shown by our experiments, models that are cheap to learn but inaccurate (with respect to the difference between actual and predicted performance) can still be used rank configurations and hence find the optimal configuration. This novel \emph{rank-based approach} allows us to significantly reduce the cost (in terms of number of measurements of sample configuration) as well as the time required to build models. We evaluate our approach with 21 scenarios based on 9 software systems and demonstrate that our approach is beneficial in 16 scenarios; for the remaining 5 scenarios, an accurate model can be built by using very few samples anyway, without the need for a rank-based approach.
11 pages, 11 figures
Cited by in corpus (13)
- Systematic Literature Review of Validation Methods for AI Systems
- Fairway: A Way to Build Fair ML Software
- Better Software Analytics via "DUO": Data Mining Algorithms Using/Used-by Optimizers
- Data-Driven Search-based Software Engineering
- Does Configuration Encoding Matter in Learning Software Performance? An Empirical Study on Encoding Schemes
- Accuracy Can Lie: On the Impact of Surrogate Model in Configuration Tuning
- ClassyTune: A Performance Auto-Tuner for Systems in the Cloud
- Low-Level Augmented Bayesian Optimization for Finding the Best Cloud VM
- Predicting Performance of Software Configurations: There is no Silver Bullet
- FLASH: A Faster Optimizer for SBSE Tasks
- RIOT: a Stochastic-based Method for Workflow Scheduling in the Cloud
- Mining Scientific Workflows for Anomalous Data Transfers
- Towards Quality Assurance of Software Product Lines with Adversarial Configurations