Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software
Authors:
Top Cited Papers
Open Access
- 30 August 2015
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 307-319
Abstract
Configuration problems are not only prevalent, but also severely impair the reliability of today's system software. One fundamental reason is the ever-increasing complexity of configuration, reflected by the large number of configuration parameters (\"knobs\"). With hundreds of knobs, configuring system software to ensure high reliability and performance becomes a daunting, error-prone task. This paper makes a first step in understanding a fundamental question of configuration design: \"do users really need so many knobs?\" To provide the quantitatively answer, we study the configuration settings of real-world users, including thousands of customers of a commercial storage system (Storage-A), and hundreds of users of two widely-used open-source system software projects. Our study reveals a series of interesting findings to motivate software architects and developers to be more cautious and disciplined in configuration design. Motivated by these findings, we provide a few concrete, practical guidelines which can significantly reduce the configuration space. Take Storage-A as an example, the guidelines can remove 51.9% of its parameters and simplify 19.7% of the remaining ones with little impact on existing users. Also, we study the existing configuration navigation methods in the context of \"too many knobs\" to understand their effectiveness in dealing with the over-designed configuration, and to provide practices for building navigation support in system software.Keywords
This publication has 48 references indexed in Scilit:
- Systems Approaches to Tackling Configuration ErrorsACM Computing Surveys, 2015
- Combining Multi-Objective Search and Constraint Solving for Configuring Large Software Product Lines2015
- Range Fixes: Interactive Error Resolution for Software ConfigurationIEEE Transactions on Software Engineering, 2014
- QoS contract preservation through dynamic reconfiguration: A formal semantics approachScience of Computer Programming, 2014
- Bypassing the Combinatorial Explosion: Using Similarity to Generate and Prioritize T-Wise Test Configurations for Software Product LinesIEEE Transactions on Software Engineering, 2014
- iTree: Efficiently Discovering High-Coverage Configurations Using Interaction TreesIEEE Transactions on Software Engineering, 2013
- Feedback driven adaptive combinatorial testing2011
- Tuning database configuration parameters with iTunedProceedings of the VLDB Endowment, 2009
- Scientific Debugging2009
- WordNetCommunications of the ACM, 1995