kirancodes.me
To Proof Maintenance & Beyond!

Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software

Tianyin Xu, Long Jin, Xuepeng Fan, Yuanyuan Zhou, Shankar Pasupathy, Rukma Talwadker

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.

BibTeX
@inproceedings{Xu-al:FSE15,
  author    = {Tianyin Xu and
               Long Jin and
               Xuepeng Fan and
               Yuanyuan Zhou and
               Shankar Pasupathy and
               Rukma Talwadker},
  title     = {Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {307--319},
  publisher = {{ACM}},
  year      = {2015},
}

Related papers