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

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

DOI:
10.1145/2786805.2786852
复制
发表时间:
2015-08
期刊:
Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering
影响因子:
--
通讯作者:
Tianyin Xu;Long Jin;Xuepeng Fan;Yuanyuan Zhou;S. Pasupathy;Rukma Talwadker
Tianyin Xu;Long Jin;Xuepeng Fan;Yuanyuan Zhou;S. Pasupathy;Rukma Talwadker
中科院分区:
其他
文献类型:
--
作者:
Tianyin Xu;Long Jin;Xuepeng Fan;Yuanyuan Zhou;S. Pasupathy;Rukma Talwadker

文献摘要

被引文献

相似文献

配置问题不仅普遍,而且严重损害了当今系统软件的可靠性。一个基本原因之一是配置的复杂性不断增加,这反映了大量配置参数(“旋钮”)。使用数百个旋钮,配置系统软件以确保高可靠性和性能成为一项艰巨的,容易出错的任务。本文是理解配置设计基本问题的第一步:“用户真的需要这么多旋钮吗?”为了提供定量答案,我们研究了现实世界用户的配置设置,包括数千名商业存储系统(Storage-A)的客户以及两个广泛使用的开源系统软件项目的数百名用户。我们的研究揭示了一系列有趣的发现,以激励软件架构师和开发人员在配置设计中更加谨慎和纪律。在这些发现的激励下,我们提供了一些具体的实用指南,可以显着降低配置空间。以存储A为例,指南可以删除其参数的51.9%,并简化19.7%的参数,对现有用户影响很小。此外,我们在“太多旋钮”的背景下研究了现有的配置导航方法,以了解它们在处理过度设计的配置方面的有效性,并提供用于系统软件中构建导航支持的实践。
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.