Do Performance Aspirations Matter for Guiding Software Configuration Tuning?

01/09/2023
by   Tao Chen, et al.
0

Configurable software systems can be tuned for better performance. Leveraging on some Pareto optimizers, recent work has shifted from tuning for a single, time-related performance objective to two intrinsically different objectives that assess distinct performance aspects of the system, each with varying aspirations. Before we design better optimizers, a crucial engineering decision to make therein is how to handle the performance requirements with clear aspirations in the tuning process. For this, the community takes two alternative optimization models: either quantifying and incorporating the aspirations into the search objectives that guide the tuning, or not considering the aspirations during the search but purely using them in the later decision-making process only. However, despite being a crucial decision that determines how an optimizer can be designed and tailored, there is a rather limited understanding of which optimization model should be chosen under what particular circumstance, and why. In this paper, we seek to close this gap. Firstly, we do that through a review of over 426 papers in the literature and 14 real-world requirements datasets. Drawing on these, we then conduct a comprehensive empirical study that covers 15 combinations of the state-of-the-art performance requirement patterns, four types of aspiration space, three Pareto optimizers, and eight real-world systems/environments, leading to 1,296 cases of investigation. We found that (1) the realism of aspirations is the key factor that determines whether they should be used to guide the tuning; (2) the given patterns and the position of the realistic aspirations in the objective landscape are less important for the choice, but they do matter to the extents of improvement; (3) the available tuning budget can also influence the choice for unrealistic aspirations but it is insignificant under realistic ones.

READ FULL TEXT

page 1

page 12

page 23

page 25

page 26

research
12/14/2021

MMO: Meta Multi-Objectivization for Software Configuration Tuning

Software configuration tuning is essential for optimizing a given perfor...
research
05/31/2021

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

Automatically tuning software configuration for optimizing a single perf...
research
02/08/2022

The Weights can be Harmful: Pareto Search versus Weighted Search in Multi-Objective Search-Based Software Engineering

In presence of multiple objectives to be optimized in Search-Based Softw...
research
10/11/2018

Practical Design Space Exploration

Multi-objective optimization is a crucial matter in computer systems des...
research
03/30/2022

Does Configuration Encoding Matter in Learning Software Performance? An Empirical Study on Encoding Schemes

Learning and predicting the performance of a configurable software syste...
research
12/12/2021

Gamifying optimization: a Wasserstein distance-based analysis of human search

The main objective of this paper is to outline a theoretical framework t...
research
01/23/2023

Many-Objective Optimization of Non-Functional Attributes based on Refactoring of Software Models

Software quality estimation is a challenging and time-consuming activity...

Please sign up or login with your details

Forgot password? Click here to reset