Whence to Learn? Transferring Knowledge in Configurable Systems using BEETLE

11/01/2019
by   Rahul Krishna, et al.
0

As software systems grow in complexity and the space of possible configurations increases exponentially, finding the near-optimal configuration of a software system becomes challenging. Recent approaches address this challenge by learning performance models based on a sample set of configurations. However, collecting enough sample configurations can be very expensive since each such sample requires configuring, compiling, and executing the entire system using a complex test suite. When learning on new data is too expensive, it is possible to use Transfer Learning to "transfer" old lessons to the new context. Traditional transfer learning has a number of challenges, specifically, (a) learning from excessive data takes excessive time, and (b) the performance of the models built via transfer can deteriorate as a result of learning from a poor source. To resolve these problems, we propose a novel transfer learning framework called BEETLE, which is a "bellwether"-based transfer learner that focuses on identifying and learning from the most relevant source from amongst the old data. This paper evaluates BEETLE with 57 different software configuration problems based on five software systems (a video encoder, an SAT solver, a SQL database, a high-performance C-compiler, and a streaming data analytics tool). In each of these cases, BEETLE found configurations that are as good as or better than those found by other state-of-the-art transfer learners while requiring only a fraction (1/7th) of the measurements needed by those other methods. Based on these results, we say that BEETLE is a new high-water mark in optimally configuring software.

READ FULL TEXT

page 2

page 10

page 11

page 12

research
03/11/2018

Transfer Learning with Bellwethers to find Good Configurations

As software systems grow in complexity, the space of possible configurat...
research
02/26/2019

Transfer Learning for Performance Modeling of Configurable Systems: A Causal Analysis

Modern systems (e.g., deep neural networks, big data analytics, and comp...
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
01/07/2018

Finding Faster Configurations using FLASH

Finding good configurations for a software system is often challenging s...
research
06/13/2023

CAMEO: A Causal Transfer Learning Approach for Performance Optimization of Configurable Computer Systems

Modern computer systems are highly-configurable, with hundreds of config...
research
01/20/2022

Unicorn: Reasoning about Configurable System Performance through the lens of Causality

Modern computer systems are highly configurable, with the total variabil...
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