Automated Performance Tuning for Highly-Configurable Software Systems

10/03/2020
by   Xue Han, et al.
0

Performance is an important non-functional aspect of the software requirement. Modern software systems are highly-configurable and misconfigurations may easily cause performance issues. A software system that suffers performance issues may exhibit low program throughput and long response time. However, the sheer size of the configuration space makes it challenging for administrators to manually select and adjust the configuration options to achieve better performance. In this paper, we propose ConfRL, an approach to tune software performance automatically. The key idea of ConfRL is to use reinforcement learning to explore the configuration space by a trial-and-error approach and to use the feedback received from the environment to tune configuration option values to achieve better performance. To reduce the cost of reinforcement learning, ConfRL employs sampling, clustering, and dynamic state reduction techniques to keep states in a large configuration space manageable. Our evaluation of four real-world highly-configurable server programs shows that ConfRL can efficiently and effectively guide software systems to achieve higher long-term performance.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/17/2023

DMSConfig: Automated Configuration Tuning for Distributed IoT Message Systems Using Deep Reinforcement Learning

The Distributed Messaging Systems (DMSs) used in IoT systems require tim...
research
10/20/2017

Understanding and Auto-Adjusting Performance-Related Configurations

Modern software systems are often equipped with hundreds to thousands of...
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
05/12/2019

Metareasoning in Modular Software Systems: On-the-Fly Configuration using Reinforcement Learning with Rich Contextual Representations

Assemblies of modular subsystems are being pressed into service to perfo...
research
05/31/2021

Multi-Objectivizing Software Configuration Tuning (for a single performance concern)

Automatically tuning software configuration for optimizing a single perf...
research
12/01/2022

An Extended Model of Software Configuration

Feature toggles and configuration options are modern programmatic techni...
research
01/18/2023

CaRE: Finding Root Causes of Configuration Issues in Highly-Configurable Robots

Robotic systems have several subsystems that possess a huge combinatoria...

Please sign up or login with your details

Forgot password? Click here to reset