Skip to main content
QUICK REVIEW

[논문 리뷰] CADET: A Systematic Method For Debugging Misconfigurations using Counterfactual Reasoning.

Rahul Krishna, Shahriar Iqbal|arXiv (Cornell University)|2020. 10. 12.
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에 배포된 다섯 개인고도로 구성 가능한 시스템에서 비기능적 결함을 성공적으로 진단하고 수리했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.