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)|Sep 21, 2017
Software System Performance and Reliability参考文献 43被引用数 7
ひとこと要約

AutoPerf は、ラベル付きの異常データを必要とせず、自己符号化器とハードウェアパフォーマンスカウンターを用いてソフトウェアパフォーマンスの劣化を検出するゼロポジティブ学習システムである。平均3.7%のプロファイリングオーバーヘッドを達成し、15件の実際の劣化と7つのオープンソースプログラムにおける3種類のパフォーマンス問題の検出において、先行手法を上回る性能を発揮する。

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遅延の3種類の異なるパフォーマンス問題を正常に同定した。
  • AutoPerf は、15件の実世界の劣化と7つの多様なオープンソースプログラムにおいて一般化を示した。
  • 自己符号化器の使用により、異常行動の明示的ラベル付けなしに効果的な異常検出が可能になった。
  • パフォーマンスカウンターの逸脱を分析することで根本原因分析が提供され、開発者のデバッグ効率が向上した。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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