メインコンテンツまでスキップ
バージョン: v2602

性能を分析する

Performance Overview

このダッシュボードでは、観測対象のすべてのGPUホストの性能に関する情報を一覧することができます。

ページ最上部には、対象区間におけるGPUの重要なメトリクスの統計値が表示されています。 これらの値が100%に近いほど、GPUが頻繁に使用されていることを意味します。

grafana-performance-overview-1

その下には、これらのメトリクスのホストごとの時系列推移や、GPUごとのヒートマップが合わせて表示されています。

grafana-performance-overview-2

ダッシュボードの最下部では、ホストやジョブの情報がテーブルとして表示されています。 各行はハイパーリンクになっており、このリンクをクリックすることで、該当するホストやジョブごとのPerformance Detailsダッシュボードに遷移することができます。

grafana-performance-overview-3

ホストとは、AIBoosterが観測している各計算機ノードのことです。

ジョブとは、プロセスツリーIDと呼ばれるプロセスに関するメタ情報が、特定の条件に当てはまるプロセスを指します。 プロセスツリーIDとは、あるプロセスのすべての親プロセスにおける /proc/<pid>/comm を古い順に並べ、 / で区切ったものです。 デフォルトでは、以下の正規表現にマッチするプロセスツリーIDがジョブとして扱われます。

systemd.*/([a-z]*sh|containerd-shim-runc-v2)/.*python[0-9.]*$

この表現を解釈すると、コンテナ内、あるいはシェルから呼び出されたPythonプロセスは、すべてジョブとして扱われる、ということになります。

Performance Details / Host

Performance Overviewから指定のHostを選択すると、このダッシュボードを表示できます。 ホストごとの性能メトリクスを一覧できるため、特定のノードでのリソース使用状況やボトルネックを分析することができます。

grafana-3

続くパネルでは、以下のメトリクスを時系列グラフとして表示しています。

  • GPU Utilization
  • GPU SM Activity
  • CPU Utilization
  • Memory Bandwidth
  • L2 Cache Hit Ratio
  • L3 Cache Hit Ratio
  • Network Bandwidth
  • Storage Bandwidth

grafana-4

また、Profileパネルでは、ノード上で動作しているプログラムのフレームグラフを見ることができます。 フレームグラフは、サンプリングされたスタックトレース情報を再構築することで、プログラムのボトルネックをソースコードレベルで解析するためのパネルです。 フレームグラフの詳細については解説ページを参照してください。

grafana-5

以下のPrometheusエクスポーターがサポートされており、これらのメトリクス情報によってシステム全体のパフォーマンスボトルネックを特定し、最適化のポイントを見つけることができます。

これらのエクスポーターが収集するメトリクスを組み合わせることで、CPU、GPU、メモリ、ネットワーク、ストレージなど、システム全体のリソース使用状況を包括的に監視・分析できます。詳細については、リンク先の公式ドキュメントを参照してください。

これらのエクスポーターが提供するメトリクスを使用したパネルを追加できます。詳細な手順については、可視化方法とテレメトリデータをカスタムするを参照してください。

Performance Details / Job

Performance Overviewから指定のJobを選択すると、このダッシュボードを表示できます。 ジョブごとの性能情報が確認でき、各種メトリクスはジョブの実行時間およびホストに予めフォーカスされているため、特定ジョブでのリソース使用状況やパフォーマンスのボトルネックを分析できます。

grafana-performance-details-job-1