Skip to main content
QUICK REVIEW

[논문 리뷰] AutoPerf: A Generalized Zero-Positive Learning System to Detect Software Performance Anomalies

Mohammad Mejbah ul Alam, Justin Gottschlich|arXiv (Cornell University)|2017. 09. 21.
Software System Performance and Reliability참고 문헌 43인용 수 7
한 줄 요약

AutoPerf는 레이블이 부여된 이상 데이터가 필요 없이 자동에코더와 하드웨어 성능 카운터를 사용하여 소프트웨어 성능 저하를 탐지하는 제로-긍정 학습 시스템이다. 평균 프로파일링 오버헤드가 3.7%에 불과하며, 15개의 실제 저하 사례와 7개의 오픈소스 프로그램에서 세 가지 유형의 성능 문제를 탐지하는 데 이전 방법들을 능가한다.

ABSTRACT

We present AutoPerf, a generalized software performance regression diagnosis system. AutoPerf uses autoencoders, an unsupervised learning technique, and hardware performance counters to learn the performance signatures of a program. It then uses this knowledge to identify when newer versions of the program suffer from performance regressions, while simultaneously providing root cause analysis to help programmers debug the program's performance. AutoPerf is the first zero-positive learning performance regression diagnosis system. It trains entirely in the negative (non-anomalous) space to learn positive (anomalous) behaviors. We demonstrate AutoPerf's generality against three different types of performance regressions: (i) true sharing cache contention, (ii) false sharing cache contention, and (iii) NUMA latencies across 15 real world performance regressions and 7 open source programs. On average, AutoPerf exhibits only 3.7% profiling overhead and diagnoses more regressions than prior state-of-the-art approaches.

연구 동기 및 목표

  • 레이블이 부여된 이상 학습 데이터에 의존하지 않고 소프트웨어 성능 저하를 탐지하는 문제를 해결하기 위해.
  • 캐시 경쟁 및 NUMA 지연과 같은 다양한 성능 문제를 진단할 수 있는 일반화된 시스템을 개발하기 위해.
  • 실제 소프트웨어 시스템에서 높은 탐지 정확도를 유지하면서 프로파일링 오버헤드를 최소화하기 위해.
  • 개발자 디버깅을 지원하기 위해 성능 저하의 근본 원인 분석을 제공하기 위해.

제안 방법

  • AutoPerf는 이상 데이터가 없는 상황에서 하드웨어 성능 카운터에서 정상적인 성능 행동을 학습하기 위해 자동에코더를 활용한다.
  • 이 시스템은 이상이 없는(부정적인) 성능 트레이스에만 훈련하여 이질적인 성능 행동이 무엇인지를 암묵적으로 모델링한다.
  • 시스템은 저수준 하드웨어 카운터를 사용해 프로그램 실행 동안 성능 서명을 추출하여 저수준 시스템 행동을 캡처한다.
  • 재구성 오차 측정을 통해 이상을 탐지한다; 높은 오차는 잠재적인 성능 저하를 시사한다.
  • 근본 원인 분석은 회귀 지점에서 성능 카운터 값의 변화와 특성 중요도를 분석함으로써 수행된다.
  • 일반화 능력을 검증하기 위해 15개의 실제 회귀 사례와 7개의 다양한 오픈소스 프로그램에서 프레임워크를 평가한다.

실험 결과

연구 질문

  • RQ1제로-긍정 학습 시스템은 레이블이 부여된 이상 학습 데이터가 없이도 성능 저하를 탐지할 수 있는가?
  • RQ2AutoPerf는 진짜 공유, 가짜 공유, NUMA 지연과 같은 다양한 성능 문제를 얼마나 효과적으로 탐지하는가?
  • RQ3실제 워크로드에서 기존 접근법과 비교해 AutoPerf의 프로파일링 오버헤드는 어느 정도인가?
  • RQ4AutoPerf는 성능 디버깅을 위한 실질적인 근본 원인 통찰을 어느 정도 제공할 수 있는가?

주요 결과

  • AutoPerf는 모든 평가 대상 워크로드에서 평균 프로파일링 오버헤드가 단 3.7%에 그친다.
  • 동일한 벤치마크 세트에서 이전 최신 기술 대비 더 많은 성능 저하를 탐지한다.
  • 시스템은 진짜 공유, 가짜 공유, NUMA 지연이라는 세 가지 다른 성능 문제를 성공적으로 식별한다.
  • AutoPerf는 15개의 실제 워크로드 회귀 사례와 7개의 다양한 오픈소스 프로그램에서 일반화 능력을 보여준다.
  • 자동에코더의 사용으로 이상 행동에 대한 명시적 레이블 없이도 효과적인 이상 탐지가 가능하다.
  • 성능 카운터의 이탈 분석을 통해 근본 원인 분석을 제공함으로써 개발자 디버깅 효율성이 향상된다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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