NVIDIA GPU対応
WhaTap KubernetesエージェントのGPUメトリクス収集方法
WhaTap Kubernetesノード エージェントは、データセンターGPU管理者(DCGM) Exporterを使って NVIDIA GPUの性能メトリクスを収集し、モニタリングします。 その過程は、サイドカー(Sidecar) パターンを活用して構成されます。
-
サイドカーパターン
DCGM Exporterは、主アプリケーションコンテナとともに同じPod内で実行される補助コンテナとして設定されます。 このサイドカーパターンは、DCGM ExporterがGPU状態情報を効率的に収集できるようにサポートします。
-
DCGM Exporter
dcgm-exporter
コンテナは、NVIDIAのデータセンターGPU管理者(DCGM)を通じてGPUの状態と性能関連指標を収集します。
-
メトリクスの収集と転送
whatap-node-agent
コンテナは、dcgm-exporter
のHTTPエンドポイントを通じてGPUメトリクスを要請し、これを収集します。ノートdcgm-exporter
のHTTPエンドポイントは、通常、ポート9400を使用します。
収集範囲
WhaTap Kubernetesエージェントは、ノードに配布された各コンテナのGPU使用量を効率的にモニタリングし、管理することに重点を置いています。
-
コンテナ
WhaTapノードエージェントは、各コンテナのGPUメトリクスを収集し、各コンテナがGPUリソースをどれだけ使用しているかを明確に把握できるようにします。 このデータは、リソースの割り当てを最適化するのに役立ちます。
-
ノード
ノード全体のGPU使用量をモニタリングしてノード全般のGPUリソース活用度を評価できます。 この情報は、クラスターの全体的な性能分析に役立ちますが、個々のプロセスレベルの詳細は提供されません。
収集メトリクス
以下は、DCGM Exporterを通じて収集される主なGPUメトリクスの項目です。
ノードレベルメトリクス
Kubernetesノード全体でのGPU状態のモニタリングに重点を置いています。 このメトリクスは、クラスターの全体的なGPU活用度を評価するのに役立ちます。
-
DCGM_FI_DEV_GPU_UTIL Gauge
-
GPU使用率を表すメトリクスで、現在のGPUの使用量をパーセンテージで表示します。
-
ノード全体でGPUの使用状況をリアルタイムでモニタリングし、リソースの適切な配分と負荷の分散をサポートします。
-
-
DCGM_FI_DEV_MEM_COPY_UTIL Gauge
-
メモリ使用率を表すメトリクスで、GPUメモリ帯域幅の使用量をパーセントで提供します。
-
GPUメモリリソースの使用量をモニタリングし、メモリ帯域幅のボトルネック現象を感知して解決するのに役立ちます。
-
-
DCGM_FI_DEV_POWER_USAGE Gauge
-
現在のGPUの電力消費量をワット(W) 単位で表示するメトリクスです。
-
GPUの電力使用状況をモニタリングすることで、電力効率を改善し、運用コストを最適化できます。
-
-
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION Counter
-
システム起動後に蓄積されたGPUの総エネルギー消費量をミリジュール(mJ) 単位で測定します。
-
ノード全体のエネルギー使用量を追跡し、長期的なエネルギー効率の改善と運用戦略を策定できます。
-
コンテナレベルメトリクス
個別コンテナ内でのGPUリソース使用状態のモニタリングに重点を置いています。 各コンテナが割り当てられたリソースを効果的に使用しているかを評価します。
-
DCGM_FI_DEV_FB_FREE及びDCGM_FI_DEV_FB_USED Gauge
-
使用可能なフレームバッファ(Frame Buffer) メモリの容量と現在使用中のフレームバッファメモリの容量をメビバイト(MiB) 単位で示します。
-
各コンテナのGPUメモリの使用状態をモニタリングすることで、メモリリソースの割り当てを最適化し、リソース不足による性能低下を防止することができます。
-
-
DCGM_FI_DEV_SM_CLOCK及びDCGM_FI_DEV_MEM_CLOCK Gauge
-
各GPUのストリーミングマルチプロセッサ(SM) クロック周波数とメモリクロック周波数をMHz単位で示します。
-
各コンテナのGPUクロック速度をモニタリングし、性能最適化及び適切な周波数設定をサポートします。 これにより、各アプリケーションのニーズに合った性能を提供できます。
-
-
DCGM_FI_DEV_GPU_TEMP及びDCGM_FI_DEV_MEMORY_TEMP Gauge
-
各GPUの温度とメモリ温度を摂氏(C) 単位で測定します。
-
各コンテナのGPU温度をモニタリングして過熱を防止し、安定した運用を保証できます。 これにより、システムの寿命を延ばし、ダウンタイムを軽減できます。
-