Skip to main content
QUICK REVIEW

[论文解读] CADET: A Systematic Method For Debugging Misconfigurations using Counterfactual Reasoning.

Rahul Krishna, Shahriar Iqbal|arXiv (Cornell University)|Oct 12, 2020
Software System Performance and Reliability参考文献 73被引用 4
一句话总结

CADET 是一个因果调试工具包,通过在学习到的因果模型上使用反事实推理,系统性地识别、解释并修复高度可配置系统中的非功能性故障。与基于机器学习的调试方法相比,它在准确率上最高提升17%,性能提升提高28%,修复速度提升40倍;与多目标优化方法相比,其修复速度最高提升9倍。

ABSTRACT

Modern computing platforms are highly-configurable with thousands of interacting configurations. However, configuring these systems is challenging. Erroneous configurations can cause unexpected non-functional faults. This paper proposes CADET (short for Causal Debugging Toolkit) that enables users to identify, explain, and fix the root cause of non-functional faults early and in a principled fashion. CADET builds a causal model by observing the performance of the system under different configurations. Then, it uses casual path extraction followed by counterfactual reasoning over the causal model to: (a) identify the root causes of non-functional faults, (b) estimate the effects of various configurable parameters on the performance objective(s), and (c) prescribe candidate repairs to the relevant configuration options to fix the non-functional fault. We evaluated CADET on 5 highly-configurable systems deployed on 3 NVIDIA Jetson systems-on-chip. We compare CADET with state-of-the-art configuration optimization and ML-based debugging approaches. The experimental results indicate that CADET can find effective repairs for faults in multiple non-functional properties with (at most) 17% more accuracy, 28% higher gain, and $40 imes$ speed-up than other ML-based performance debugging methods. Compared to multi-objective optimization approaches, CADET can find fixes (at most) $9 imes$ faster with comparable or better performance gain. Our case study of non-functional faults reported in NVIDIA's forum show that CADET can find $14%$ better repairs than the experts' advice in less than 30 minutes.

研究动机与目标

  • 解决在具有数千个相互依赖配置参数的高度可配置系统中调试非功能性故障的挑战。
  • 通过因果推理,实现对性能相关故障的根本原因的早期、系统性识别。
  • 为修复非功能性问题的配置参数提供可操作的、数据驱动的修复建议。
  • 在故障修复的准确率、速度和有效性方面,超越现有的基于机器学习的方法和多目标优化技术。

提出的方法

  • CADET 通过观察系统在多种配置下的性能表现,构建因果模型。
  • 执行因果路径提取,追踪配置参数对性能目标的影响路径。
  • 在因果模型上应用反事实推理,模拟“如果……会怎样”的情景,以识别故障的根本原因。
  • 系统估算单个配置参数对性能的影响,并推荐最优修复方案。
  • 利用观测到的配置-性能数据推断因果关系,无需依赖先验领域知识。
  • 将因果推断与配置调试相结合,实现系统化、可解释的故障修复。

实验结果

研究问题

  • RQ1CADET 是否能通过因果推理有效识别高度可配置系统中非功能性故障的根本原因?
  • RQ2与最先进的基于机器学习的调试方法相比,CADET 在故障修复中的准确率和效率如何?
  • RQ3CADET 在修复速度和性能提升方面,与多目标优化技术相比,能实现多大程度的超越?
  • RQ4在真实世界调试场景中,CADET 推荐的修复方案是否能达到或超过专家水平的建议?

主要发现

  • CADET 在识别非功能性故障的有效修复方案方面,相比基于机器学习的调试方法,准确率最高提升17%。
  • 在相同的故障修复任务中,CADET 的性能提升比其他基于机器学习的方法高出28%。
  • 与最先进的基于机器学习的调试技术相比,CADET 在修复识别速度上实现了40倍的提升。
  • 与多目标优化方法相比,CADET 在保持或提升性能提升的同时,修复速度最高快9倍。
  • 在一次真实世界案例研究中,CADET 推荐的修复方案比 NVIDIA 论坛专家建议的性能高出14%,且在30分钟内完成。
  • CADET 在部署于 NVIDIA Jetson SoC 的五个高度可配置系统中,成功诊断并修复了非功能性故障。

更好的研究,从现在开始

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

无需绑定信用卡

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