PMU の概要


このドキュメントでは、Compute Engine のパフォーマンス モニタリング ユニット(PMU)の動作、課金、制限について説明します。C4A または C4 仮想マシン(VM)インスタンスで PMU を有効にする方法については、VM で PMU を有効にするをご覧ください。

PMU は、プロセッサがコードをどのように実行しているかをモニタリングする CPU コア内のハードウェア コンポーネントです。C4A VM または C4 VM で PMU を有効にすると、パフォーマンス モニタリング ソフトウェアを使用して PMU のパフォーマンス カウンタにアクセスできます。このアプローチでは、アプリケーションのパフォーマンスのボトルネックを特定して対処することで、ハイ パフォーマンス コンピューティング(HPC)ワークロードや ML ワークロードなど、パフォーマンスに敏感なワークロードを最適化できます。

PMU の仕組み

PMU は、パフォーマンス モニタリング カウンタ(PMC)と呼ばれる一連のハードウェア カウンタで構成されています。これらのカウンタは、CPU 内で低レベルのプロセッサ イベント(分岐予測ミスやキャッシュミスなど)が発生するたびにカウントが増えるモデル固有レジスタです。PMU 内の PMC の読み取りや構成には、Intel VTune Profiler などのパフォーマンス モニタリング ソフトウェアを使用します。

デフォルトでは、PMU は VM で無効になっています。これを有効にするには、次のいずれかの PMU タイプを有効にして、追跡する低レベル CPU イベントのタイプを指定します。

  • アーキテクチャ(ARCHITECTURAL: アーキテクチャに関連する次のパフォーマンス イベントを測定できます。

    • リタイアした分岐命令: リタイアした分岐命令の数。このイベントを使用してコードの実行を測定し、潜在的なパフォーマンスのボトルネックを特定します。

    • リタイアした分岐ミス: 予測ミスによってプロセッサがストールし、フェッチされた命令が破棄された分岐命令の数。このイベントの数が多い場合は、CPU パフォーマンスを最適化できます。

    • リタイアした命令: CPU によって正常に処理された命令の数。このイベントは、CPU の命令スループットを測定するために使用します。

    • トップダウン スロット: 命令の同時実行に使用される、プロセッサのパイプライン内の使用可能なスロットの数。このイベントを使用して、コードがプロセッサのリソースをどれだけ効率的に使用しているかを把握します。

    • 非停止コアサイクル: 電力管理や割り込みなどが原因でスレッドが停止していないコアサイクルの数。このイベントを使用して、プロセッサの全体的な使用状況を評価します。

    • 非停止参照サイクル: コアが停止していないとき(データや命令のフェッチ時など)の参照サイクルの数。コアは、HLT 命令または MWAIT 命令を実行するときに停止します。参照サイクルは固定周波数で動作し、電力節約のためにプロセッサの速度が変化したときにも安定した時間基準を提供します。このイベントを使用して、タスクに費やされた時間を測定し、コードのパフォーマンスのボトルネックを特定します。

  • 標準(STANDARD: アーキテクチャ PMU タイプのすべてのイベントに加えて、レベル 2(L2)キャッシュ イベントなどの CPU コア内のローカル イベントを測定できます。

  • 拡張(ENHANCED: 標準 PMU タイプのすべてのイベントに加えて、レベル 3(L3)キャッシュ イベントなどの CPU コア外のローカル イベントを測定できます。

VM で PMU を有効にすると、PMU がバックグラウンドで実行され、PMC を使用してパフォーマンス イベントが継続的にモニタリングされます。必要に応じて、任意のパフォーマンス モニタリング ソフトウェアを使用して特定の PMC のしきい値を構成できます。PMC が指定されたしきい値を超えると、パフォーマンス モニタリング ソフトウェアに通知されます。

制限事項

PMU には次の制限があります。

  • PMU を有効にできるのは、次の CPU プラットフォームに限られます。

    CPU プラットフォーム サポートされているマシンシリーズ サポートされているパフォーマンス イベント
    Google Axion™ プロセッサ C4A Arm Neoverse V2 PMU ガイド
    インテル Xeon スケーラブル プロセッサ(Emerald Rapids)第 5 世代 C4 emeraldrapids_core.json
  • 拡張 PMU タイプを有効にできるのは、96 個または 192 個の vCPU を持つ C4 マシンタイプを使用する VM でのみです。

料金

VM で PMU を有効または無効にしても、費用は発生しません。

次のステップ