[論文レビュー] Mantis: Predicting System Performance through Program Analysis and Modeling
Mantis は、実行トレースからプログラム特徴を抽出・モデル化するためのプログラム解析と機械学習を組み合わせることで、93%以上の精度でプログラムの実行性能を予測する新規フレームワークです。特徴のインストルメンテーション、機械学習に基づく特徴選択、およびプログラムスライシングを用いて、リアルタイムの性能推定に効率的に特徴を計算する軽量なコードスニペットを生成します。
We present Mantis, a new framework that automatically predicts program performance with high accuracy. Mantis integrates techniques from programming language and machine learning for performance modeling, and is a radical departure from traditional approaches. Mantis extracts program features, which are information about program execution runs, through program instrumentation. It uses machine learning techniques to select features relevant to performance and creates prediction models as a function of the selected features. Through program analysis, it then generates compact code slices that compute these feature values for prediction. Our evaluation shows that Mantis can achieve more than 93% accuracy with less than 10% training data set, which is a significant improvement over models that are oblivious to program features. The system generates code slices that are cheap to compute feature values.
研究の動機と目的
- 複雑で大規模なプログラムのシステム性能を、ブラックボックスモデルや開発者提供の意味論に依存せずに正確に予測する課題に対処すること。
- 実行トレースからプログラムの意味論を捉え、性能指標と相関する意味のあるプログラム特徴を自動で抽出すること。
- 予測時における特徴の計算を効率的に行う、コンactで効率的なコードスニペットを生成すること。
- 入力サイズや設定パラメータにのみ依存する従来のブラックボックスモデルよりも、予測精度を向上させること。
- データセンターや分散アプリケーションなどの実世界のシステムへの性能予測の実用的導入を可能にすること。
提案手法
- メタデータ、制御フローのパターン、データアクセス特性などを含む幅広い実行特徴を収集できるようにプログラムをインストルメンテーションすること。
- 特にスパース回帰を用いた機械学習技術を適用し、性能予測に最も関連する特徴を特定すること。
- 予測時にのみ選択された特徴を計算する最小限で効率的なコード断片を生成するために、プログラムスライシングを用いること。
- 特徴選択とスライシングの統合により、予測性能と計算コストの両方が優れた特徴を優先的に選択すること。
- システムをブラックボックスとして扱うのではなく、内部のプログラム意味論を活用するホワイトボックス予測モデルを構築すること。
- 訓練データのわずか10%未満を用いて、実アプリケーション(Lucene および ImageJ)上でフレームワークを評価すること。
実験結果
リサーチクエスチョン
- RQ1実行トレースから抽出したプログラム特徴は、ブラックボックスモデルと比較して性能予測精度を顕著に向上させることができるか?
- RQ2予測に有用であり、かつ計算が効率的な最小限の特徴集合を自動で特定する方法は何か?
- RQ3特徴選択とプログラムスライシングを統合することで、予測モデルの効率性と精度にどのような影響を与えるか?
- RQ4プログラム解析に基づくホワイトボックスアプローチは、実世界のアプリケーションにおいて従来のブラックボックスモデリングを上回る性能を発揮できるか?
- RQ5このフレームワークは、異なる種類のプログラムやワークロードに対してスケーラブルで汎用的か?
主な発見
- Mantis は、訓練データの10%未満を用いても実行時間の予測精度が93%以上に達し、ブラックボックスモデルを著しく上回っています。
- ブラックボックスモデルが見逃す内部プログラム意味論をインストルメンテーション特徴を通じて活用することで、予測誤差が低減されています。
- プログラムスライシングにより生成されたコードスニペットは非常に効率的であり、予測時の特徴計算を高速化し、実行時のオーバーヘッドを最小限に抑えています。
- スパース回帰による特徴選択は、多数の候補特徴の中から最も関連性の高い特徴を効果的に特定しています。
- スライシングとモデル生成の統合により、計算コストが低い特徴のみが選択されるため、展開性が向上しています。
- 本アプローチは、検索エンジン(Lucene)や画像処理ツール(ImageJ)を含む多様なアプリケーションにおいて有効であることが確認されています。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。