Skip to main content
QUICK REVIEW

[论文解读] SAIC: Identifying Configuration Files for System Configuration Management

Zhen Huang, David Lie|arXiv (Cornell University)|Nov 6, 2017
Distributed systems and fault tolerance参考文献 46被引用 3
一句话总结

SAIC 是一种统计框架,通过分析配置文件在不同版本间的内容相似性,自动识别系统管理中的配置文件,利用配置文件随时间变化缓慢的洞察。它通过过滤非配置文件,将恢复工作量减少至多 7GB,在两个用户轨迹中,实现 90% 的配置文件检测率,同时假阳率高达 60%。

ABSTRACT

Systems can become misconfigured for a variety of reasons such as operator errors or buggy patches. When a misconfiguration is discovered, usually the first order of business is to restore availability, often by undoing the misconfiguration. To simplify this task, we propose the Statistical Analysis for Identifying Configuration Files (SAIC), which analyzes how the contents of a file changes over time to automatically determine which files contain configuration state. In this way, SAIC reduces the number of files a user must manually examine during recovery and allows versioning file systems to make more efficient use of their versioning storage. The two key insights that enable SAIC to identify configuration files are that configuration state must persist across executions of an application and that configuration state changes at a slower rate than other types of application state. SAIC applies these insights through a set of filters, which eliminate non-persistent files from consideration, and a novel similarity metric, which measures how similar a file's versions are to each other. Together, these two mechanisms enable SAIC to identify all 72 configuration files out of 2363 versioned files from 6 common applications in two user traces, while mistaking only 33 non-configuration files as configuration files, which allows a versioning file system to eliminate roughly 66% of non-configuration file versions from its logs, thus reducing the number of file versions that a user must try to recover from a misconfiguration.

研究动机与目标

  • 解决在配置错误的系统中识别配置文件的挑战,因为手动识别容易出错且耗时。
  • 通过过滤非配置文件,减少版本控制文件系统的存储和恢复开销。
  • 实现无需事先了解应用程序结构或配置格式的自动化启发式配置文件检测。
  • 指导版本控制系统仅保留相关文件版本,提升效率和可用性。

提出的方法

  • SAIC 在分析前应用三种过滤器,以排除非持久性、临时和用户数据文件,从而减少文件候选集。
  • 它使用一种基于 Rabin 哈希指纹的新型相似性度量方法,衡量文件内容在不同版本间的一致性变化,高相似性表明为配置状态。
  • 系统采用采样方法计算文件随时间的相似性,以降低计算成本,同时保持准确性。
  • 它采用触发点函数确定最佳测量时间,确保充分的时间覆盖,同时将每文件的测量次数降至最低。
  • 该方法根据可用存储动态调整相似性阈值,实现检测率与假阳性率之间的权衡。
  • SAIC 作为黑盒分析工具运行,无需代码插桩或对应用程序的先验知识。

实验结果

研究问题

  • RQ1如何在不了解其结构或配置格式的前提下,自动识别任意应用程序中的配置文件?
  • RQ2文件内容随时间变化的哪些特征可将配置文件与其他类型的应用程序状态区分开来?
  • RQ3在多样化应用程序中,文件版本间统计相似性在多大程度上可准确识别配置文件?
  • RQ4版本控制系统如何通过仅保留与配置相关的文件版本,来减少存储开销和恢复复杂性?

主要发现

  • 在两个用户轨迹中,SAIC 从六个常见应用程序的 2363 个版本化文件中成功识别出全部 72 个配置文件(100% 召回率)。
  • 系统以 60% 的假阳性率实现了 90% 的配置文件检测率,消除了 713,129 个非配置文件版本,节省了 7GB 存储空间。
  • 在 80% 的相似性阈值下,SAIC 正确识别了 90% 的配置文件,同时从版本日志中移除了 60% 的非配置文件。
  • 采样和触发点机制显著降低了计算成本,对准确性影响可忽略,支持持续运行。
  • 该方法将用户在回滚过程中必须检查的文件数量减少了 1 至 2 个数量级。
  • 该方法在多样化应用程序中均有效,即使在配置存储于非标准、非描述性文件中的情况下也适用。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。