Transfer Learning with Bellwethers to find Good Configurations

03/11/2018
by   Vivek Nair, et al.
0

As software systems grow in complexity, the space of possible configurations grows exponentially. Within this increasing complexity, developers, maintainers, and users cannot keep track of the interactions between all the various configuration options. Finding the optimally performing configuration of a software system for a given setting is challenging. Recent approaches address this challenge by learning performance models based on a sample set of configurations. However, collecting enough data on enough sample configurations can be very expensive since each such sample requires configuring, compiling and executing the entire system against a complex test suite. The central insight of this paper is that choosing a suitable source (a.k.a. "bellwether") to learn from, plus a simple transfer learning scheme will often outperform much more complex transfer learning methods. Using this insight, this paper proposes BEETLE, a novel bellwether based transfer learning scheme, which can identify a suitable source and use it to find near-optimal configurations of a software system. BEETLE significantly reduces the cost (in terms of the number of measurements of sample configuration) to build performance models. We evaluate our approach with 61 scenarios based on 5 software systems and demonstrate that BEETLE is beneficial in all cases. This approach offers a new highwater mark in configuring software systems. Specifically, BEETLE can find configurations that are as good or better as those found by anything else while requiring only 1/7th of the evaluations needed by the state-of-the-art.

READ FULL TEXT
research
11/01/2019

Whence to Learn? Transferring Knowledge in Configurable Systems using BEETLE

As software systems grow in complexity and the space of possible configu...
research
01/07/2018

Finding Faster Configurations using FLASH

Finding good configurations for a software system is often challenging s...
research
09/07/2017

Transfer Learning for Performance Modeling of Configurable Systems: An Exploratory Analysis

Modern software systems provide many configuration options which signifi...
research
04/04/2019

Transfer Learning for Performance Modeling of Deep Neural Network Systems

Modern deep neural network (DNN) systems are highly configurable with la...
research
12/14/2021

The Interaction between Inputs and Configurations fed to Software Systems: an Empirical Study

Widely used software systems such as video encoders are by necessity hig...
research
02/13/2021

GenTree: Using Decision Trees to Learn Interactions for Configurable Software

Modern software systems are increasingly designed to be highly configura...
research
02/14/2023

Reasoning on Feature Models: Compilation-Based vs. Direct Approaches

Analyzing a Feature Model (FM) and reasoning on the corresponding config...

Please sign up or login with your details

Forgot password? Click here to reset