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は、因果的推論を用いて高設定可能なシステムにおける非機能的障害の根本原因を効果的に同定できるか?
  • RQ2CADETの障害修復における精度と効率は、最先端の機械学習ベースのデバッグ手法と比べてどうか?
  • RQ3CADETは、マルチオブジェクティブ最適化手法に比べ、修復速度とパフォーマンス向上の面でどの程度優れているか?
  • RQ4CADETは、実世界のデバッグシナリオにおいて、エキスパートレベルの助言と同等またはそれを上回る修復を推奨できるか?

主な発見

  • CADETは、非機能的障害に対する効果的な修復を同定する際、機械学習ベースのデバッグ手法に比べ最大17%高い精度を達成した。
  • 同様の障害修復タスクにおいて、他の機械学習ベースのアプローチに比べ28%高いパフォーマンス向上を達成した。
  • 最先端の機械学習ベースのデバッグ技術に比べ、修復の特定において40倍の高速化を達成した。
  • マルチオブジェクティブ最適化手法と比較して、最大9倍の高速さで修復を同定したが、パフォーマンス向上は維持または向上させた。
  • 実世界の事例調査では、CADETが30分以内にNVIDIAのフォーラムから得たエキスパートの助言を14%上回る修復を推奨した。
  • CADETは、NVIDIA Jetson SoCにデプロイされた5つの高設定可能なシステムにおいて、非機能的障害を正常に診断・修復した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。