DCGM 指標を収集して表示する


NVIDIA Data Center GPU Manager(DCGM)の指標を Cloud Monitoring に送信するように GKE を構成すると、GPU の使用率、パフォーマンス、正常性をモニタリングできます。

DCGM 指標を有効にすると、GKE は DCGM-Exporter ツールをインストールし、Google 管理の GPU ドライバをインストールして、ClusterPodMonitoring リソースをデプロイし、Google Cloud Managed Service for Prometheus に指標を送信します。

DCGM 指標のセットをカスタマイズする場合や、マネージド DCGM 指標の要件を満たしていないクラスタがある場合は、セルフマネージド DCGM を構成することもできます。

DCGM とは

NVIDIA Data Center GPU Manager(DCGM)は、NVIDIA GPU の管理とモニタリングを行うための NVIDIA のツールセットです。DCGM を使用すると、GPU の使用率、パフォーマンス、健全性を包括的に把握できます。

  • GPU 使用率の指標は、モニタリング対象の GPU の負荷と、タスクの処理に効果的に使用されているかどうかを示します。これには、コア処理、メモリ、I/O、電力使用量の指標が含まれます。
  • GPU パフォーマンス指標は、GPU が計算タスクをどれだけ効果的かつ効率的に実行できるかを示します。これには、クロック速度と温度の指標が含まれます。
  • NVlink や PCIe などの GPU I/0 指標では、データ転送の帯域幅を測定します。

始める前に

始める前に、次の作業が完了していることを確認してください。

  • Google Kubernetes Engine API を有効にする。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得する。

NVIDIA Data Center GPU Manager(DCGM)の指標の要件

NVIDIA Data Center GPU Manager(DCGM)の指標を収集するには、GKE クラスタが次の要件を満たしている必要があります。

DCGM 指標の収集を構成する

GKE で既存のクラスタの DCGM 指標を収集するには、Google Cloud コンソール、gcloud CLI、または Terraform を使用します。

コンソール

  1. GPU ノードプールを作成します

    GPU ドライバのインストールでは、デフォルトまたは最新を使用する必要があります。

  2. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  3. クラスタの名前をクリックします。

  4. [Cloud Monitoring] の横にある をクリックします。

  5. SYSTEMDCGM を選択します。

  6. [保存] をクリックします。

gcloud

  1. GPU ノードプールを作成します。

    --gpu-driver-version には default または latest を使用する必要があります。

  2. クラスタを更新します。

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --enable-managed-prometheus \
        --monitoring=SYSTEM,DCGM
    

    次のように置き換えます。

Terraform

Terraform を使用して DCGM 指標の収集を構成するには、google_container_cluster の Terraform レジストリmonitoring_config ブロックをご覧ください。Terraform と Google Cloud を使用する場合の一般的な情報については、Google Cloud での Terraform をご覧ください。

DCGM 指標を使用する

DCGM 指標は、Google Cloud コンソールのダッシュボード、またはクラスタの概要ページとクラスタの詳細ページで直接表示できます。詳細については、オブザーバビリティ指標を表示するをご覧ください。

指標は、Grafana DCGM 指標ダッシュボードを使用して表示できます。詳細については、Grafana を使用したクエリをご覧ください。エラーが発生した場合は、API の互換性をご覧ください。

料金

DCGM 指標は、Google Cloud Managed Service for Prometheus を使用して、Cloud Monitoring に指標を読み込みます。Cloud Monitoring では、取り込まれたサンプルの数に基づいて、これらの指標の取り込みに対して課金されます。ただし、GKE Enterprise エディションが有効になっているプロジェクトに属する登録済みクラスタでは、これらの指標は無料です。

詳細については、Cloud Monitoring の料金をご覧ください。

割り当て

DCGM 指標は、Cloud Monitoring API の1 分あたりの時系列取り込みリクエストの割り当てを消費します。指標パッケージを有効にする前に、その割り当ての直近のピーク使用量を確認してください。同じプロジェクトに多くのクラスタがある場合や、すでに割り当ての上限に近づいている場合は、いずれかのオブザーバビリティ パッケージを有効にする前に割り当ての上限の引き上げをリクエストできます。

DCGM 指標

この表の Cloud Monitoring の指標名には、prometheus.googleapis.com/ という接頭辞を付ける必要があります。表内の項目では、この接頭辞を省略しています。

GKE で収集されたすべての DCGM 指標には、モニタリング対象リソースの prometheus_target ラベルだけでなく、次のラベルが付加されます。

  • UUID: GPU デバイスの UUID
  • container: GPU デバイスを使用する Kubernetes コンテナの名前。
  • device: GPU デバイス名。
  • gpu: ノードの GPU デバイスの整数としてのインデックス番号。たとえば、8 個の GPU が接続されている場合、この値は 07 の範囲になります。
  • instance: dcgm-exporter を実行しているノード名とポート。形式は NODE_NAME:PORT_NAME です。
  • modelName: GPU デバイスモデルの名前(NVIDIA L4 など)。
  • namespace: GPU デバイスを使用する Pod とコンテナの Kubernetes Namespace。
  • pod: GPU デバイスを使用する Kubernetes Pod。
PromQL の指標名
Cloud Monitoring の指標名
種類、タイプ、単位
モニタリング対象リソース
必要な GKE バージョン
説明
DCGM_FI_DEV_FB_FREE
DCGM_FI_DEV_FB_FREE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
空きフレーム バッファ(MB)。
DCGM_FI_DEV_FB_TOTAL
DCGM_FI_DEV_FB_TOTAL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
GPU の合計フレーム バッファ(MB)。
DCGM_FI_DEV_FB_USED
DCGM_FI_DEV_FB_USED/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
使用済みのフレーム バッファ(MB)。
DCGM_FI_DEV_GPU_TEMP
DCGM_FI_DEV_GPU_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
デバイスの現在の温度(摂氏)。
DCGM_FI_DEV_GPU_UTIL
DCGM_FI_DEV_GPU_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
GPU 使用率(%)。
DCGM_FI_DEV_MEM_COPY_UTIL
DCGM_FI_DEV_MEM_COPY_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
メモリ使用率(%)
DCGM_FI_DEV_MEMORY_TEMP
DCGM_FI_DEV_MEMORY_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
デバイスのメモリの温度(°C)。
DCGM_FI_DEV_POWER_USAGE
DCGM_FI_DEV_POWER_USAGE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
デバイスの消費電力(ワット単位)。
DCGM_FI_DEV_SM_CLOCK
DCGM_FI_DEV_SM_CLOCK/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
SM クロック周波数(MHz)。
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION/counter

CUMULATIVEDOUBLE1 prometheus_target
1.30.1-gke.1204000
ドライバが最後に再読み込されて GPU の合計エネルギー消費量(mJ)。
DCGM_FI_PROF_DRAM_ACTIVE
DCGM_FI_PROF_DRAM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
デバイスのメモリ インターフェースがデータを送受信しているアクティブなサイクルの割合。
DCGM_FI_PROF_GR_ENGINE_ACTIVE
DCGM_FI_PROF_GR_ENGINE_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
グラフィック エンジンがアクティブな時間の割合。
DCGM_FI_PROF_NVLINK_RX_BYTES
DCGM_FI_PROF_NVLINK_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
アクティブな NvLink rx(読み取り)データのレート(ヘッダーとペイロードの両方を含むバイト単位)。
DCGM_FI_PROF_NVLINK_TX_BYTES
DCGM_FI_PROF_NVLINK_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
アクティブな NvLink 送信(送信)データのレート(ヘッダーとペイロードの両方を含むバイト単位)。
DCGM_FI_PROF_PCIE_RX_BYTES
DCGM_FI_PROF_PCIE_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
アクティブな PCIe rx(読み取り)データのレート(ヘッダーとペイロードの両方を含むバイト単位)。
DCGM_FI_PROF_PCIE_TX_BYTES
DCGM_FI_PROF_PCIE_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
アクティブな PCIe tx(送信)データのレート(ヘッダーとペイロードの両方を含むバイト単位)。
DCGM_FI_PROF_PIPE_FP16_ACTIVE
DCGM_FI_PROF_PIPE_FP16_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
fp16 パイプがアクティブなサイクルの比率。
DCGM_FI_PROF_PIPE_FP32_ACTIVE
DCGM_FI_PROF_PIPE_FP32_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
fp32 パイプがアクティブなサイクルの比率。
DCGM_FI_PROF_PIPE_FP64_ACTIVE
DCGM_FI_PROF_PIPE_FP64_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
fp64 パイプがアクティブなサイクルの比率。
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
任意のテンソルパイプがアクティブなサイクルの比率。
DCGM_FI_PROF_SM_ACTIVE
DCGM_FI_PROF_SM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
SM に 1 つ以上のワープが割り当てられているサイクルの割合。

次のステップ