すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:クラウドネイティブAIダッシュボードの操作

最終更新日:Jan 07, 2025

クラウドネイティブAIモニタリングコンポーネントack-arena-exporterをインストールして、クラスター、ノード、またはトレーニングジョブごとにGPUリソースの使用をモニタリングし、さまざまな名前空間のリソースクォータに関する洞察を得ることができます。 このトピックでは、クラスター、ノード、トレーニングジョブ、およびリソースクォータのダッシュボードについて説明します。 このトピックでは、ack-arena-exporterをインストールしてこれらのダッシュボードを操作する方法についても説明します。

前提条件

  • Container Service for Kubernetes (ACK) Proクラスターのみがサポートされており、Kubernetesバージョンのクラスターは1.18.8以降である必要があります。

  • V0.7.0以降のArenaコンポーネントがインストールされています。 詳細については、「Arenaクライアントの設定」をご参照ください。

  • ack-arms-prometheusモニタリングコンポーネントをインストールします。 詳細については、「arms-prometheus」をご参照ください。

  • AIダッシュボードコンポーネントがインストールされています。 詳細については、「クラウドネイティブAIスイートのデプロイ」をご参照ください。

背景情報

Arenaを使用してトレーニングジョブを送信した後、クラスター、ノード、トレーニングジョブ、またはリソースクォータごとにGPUとGPUメモリの使用を監視することができます。 従来のACKクラスターでは、特定のノードでのみGPUリソース (GPU使用率、GPUメモリ使用率、GPU電力を含む) の使用を監視したり、特定のポッドで使用されているGPUリソースを表示したりできます。

より多くのディメンションでリソース使用量を監視するために、ACKはクラウドネイティブAIダッシュボードを提供します。 従来のACKクラスターのGPUダッシュボードと比較して、AIダッシュボードには次の利点があります。

  • AIダッシュボードは、クラスターダッシュボード、ノードダッシュボード、トレーニングジョブダッシュボード、およびリソースクォータダッシュボードで構成されます。

  • クラスターダッシュボードには、GPU で高速化したノードの総数や異常な GPU で高速化したノードの数、GPU の平均使用率、さまざまな状態のトレーニングジョブ数が表示されます。

  • ノードダッシュボードには、GPU の総数、割り当てられた GPU の数、GPU 使用率、および各ノードの GPU のメモリ使用量が表示されます。

  • トレーニングジョブダッシュボードには、各トレーニングジョブの状態、期間、要求された GPU の数、GPU の平均使用率、GPU のメモリ使用量が表示されます。

  • リソースクォータダッシュボードでは、特定の名前空間におけるリソースタイプの割り当てと使用状況が、Max Quota、Min Quota、Used Quota などで表示されます。

ack-arena-exporterをインストールする

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[アプリケーション] > [クラウドネイティブAIスイート] を選択します。

  3. ack-arena-exporterをインストールします。

    • クラウドネイティブAIスイートをインストールしている場合:

      [クラウドネイティブAIスイート] ページで、[ack-arena-exporter] という名前のクラウドネイティブAIモニタリングコンポーネントを見つけ、[操作] 列の [デプロイ] をクリックします。

    • クラウドネイティブAIスイートをインストールしていない場合:

      [クラウドネイティブAI Suite] ページで、[デプロイ] をクリックします。 [モニタリング] セクションで、[モニタリングコンポーネント] を選択し、[クラウドネイティブAIスイートのデプロイ] をクリックします。

AIダッシュボードの概要

AIダッシュボードにログインすると、デフォルトでクラスターダッシュボードにリダイレクトされます。 ページのimage.png左上隅にあるアイコンをクリックして、ダッシュボードを切り替えます。

  • Cluster: Cluster dashboard

  • ノード: ノードダッシュボード

  • TrainingJobs: トレーニングジョブダッシュボード

  • クォータ: リソースクォータダッシュボード

クラスターダッシュボード

詳細については、「方法1: インターネットに接続されたIngressを使用してAIダッシュボードにアクセスする」をご参照ください。

クラスターダッシュボードで次のメトリクスを表示できます。

  • GPUクラスターの概要: クラスター内のGPUアクセラレーションノードの総数、割り当てられたGPUアクセラレーションノードの数、および正常でないGPUアクセラレーションノードの数を表示します。

  • Total GPU Nodes: クラスター内のGPUアクセラレーションノードの総数を表示します。

  • 異常なGPUノード: クラスター内の異常なGPUアクセラレーションノードの数を表示します。

  • GPUメモリ (使用 /合計): クラスターで使用されているGPUメモリの合計に対する比率を表示します。

  • GPUメモリ (割り当て済み /合計): クラスターによって割り当てられたGPUメモリの合計に対する比率を表示します。

  • [GPU 使用率] :クラスターにおける GPU の平均使用率。

  • GPU (割り当て済み /合計): GPUの総数に対するクラスターによって割り当てられたGPUの数の比率を表示します。

  • [クラスターのトレーニングジョブの概要]: [実行中] 、[保留中] 、[成功] 、[失敗] の状態にあるトレーニングジョブの数を表示します。

jk1

ノードダッシュボード

[クラスター] ページで、右上隅の [ノード] をクリックして、ノードダッシュボードに移動します。

ノードダッシュボードでは、次のメトリックを表示できます。

  • GPUノードの詳細: クラスターノードに関する情報をテーブルに表示します。 次の情報が表示されます。

    • 各ノードの名前

    • クラスター内の各ノードのIPアドレス

    • クラスター内の各ノードの役割

    • 各ノードのステータス

    • 各ノードのGPUモード: 排他的または共有

    • 各ノードが所有するGPUの数

    • 各ノードが所有するGPUメモリの総量

    • 各ノードに割り当てられたGPUの数

    • 各ノードに割り当てられたGPUメモリの量

    • 各ノードで使用されるGPUメモリの量

    • 各ノードの平均GPU使用率

  • GPUデューティサイクル: 各ノードの各GPUの使用率を表示します。

  • GPUメモリ使用量: 各ノードの各GPUのメモリ使用量を表示します。

  • GPUメモリ使用率: 各ノードのGPUごとのメモリ使用率を表示します。

  • [ノードごとに割り当てられたGPU]: 各ノードに割り当てられたGPUの数を表示します。

  • ノードあたりのGPU数: 各ノードのGPUの総数を表示します。

  • ノードあたりのGPUメモリの合計: 各ノードのGPUメモリの合計量を表示します。

jk21jk22

ノードページの左上隅にあるgpu_nodeフィルターとGPUフィルターを使用して、ノードとgpuをフィルター処理できます。 これにより、指定したノードでのみGPUの使用状況を表示できます。

jk23

Training job dashboard

[ノード] ページで、右上隅の [トレーニングジョブ] をクリックして、トレーニングジョブダッシュボードに移動します。

トレーニングジョブダッシュボードでは、次のメトリックを表示できます。

  • トレーニングジョブ: 各トレーニングジョブに関する情報をテーブルに表示します。 次の情報が表示されます。

    • 各トレーニングジョブの名前空間

    • 各トレーニングジョブの名前

    • 各トレーニングジョブのタイプ

    • 各トレーニングジョブのステータス

    • 各トレーニングジョブの期間

    • 各トレーニングジョブによって要求されるGPUの数

    • 各トレーニングジョブによって要求されるGPUメモリの量

    • 各トレーニングジョブで使用されるGPUメモリの量

    • 各トレーニングジョブの平均GPU使用率

  • ジョブインスタンス使用済みGPUメモリ: 各ジョブインスタンスで使用されているGPUメモリの量を表示します。

  • ジョブインスタンス使用済みGPUメモリの割合: 各ジョブインスタンスで使用されているGPUメモリの割合を表示します。

  • ジョブインスタンスのGPUデューティサイクル: 各ジョブインスタンスのGPU使用率を表示します。

jk31

job_namespacejob_type、およびjob_nameフィルターを使用して、名前空間、タイプ、および名前でトレーニングジョブをフィルターできます。 これにより、指定されたトレーニングジョブに関する詳細情報のみを表示できます。

jk32

リソース割り当てダッシュボード

[トレーニングジョブ] ページで、右上隅の [クォータ] をクリックして、リソースクォータダッシュボードに移動します。

リソースクォータダッシュボードでは、次のメトリックを表示できます。

  • クォータ (cpu)

  • クォータ (メモリ)

  • Quot a(nvidia.com/gpu)

  • Quot a(aliyun.com/gpu-mem)

  • Quot a(aliyun.com/gpu)

上記のリストの各メトリックは、リソースクォータに関する情報をテーブルに表示します。 次の情報が表示されます。

  • Elastic Quota Name: クォータグループの名前を表示します。

  • 名前空間: リソースが属する名前空間を表示します。

  • リソース名: リソースの種類を表示します。

  • Max Quota: 指定された名前空間で使用できるリソースの最大量を表示します。

  • 最小クォータ: クラスターに十分なリソースがない場合に、指定された名前空間で使用できるリソースの最小量を表示します。

  • 使用済みクォータ: 指定された名前空間で使用されているリソースの量を表示します。

jk41

AIダッシュボードを使用する方法の例

この例では、Arenaを使用してmpijobトレーニングジョブを送信します。 トレーニングジョブを送信した後、AIダッシュボードで変更を表示します。

  1. AIダッシュボードにログインすると、デフォルトでクラスターダッシュボードにリダイレクトされます。

    次の図は、クラスターにトレーニングジョブが送信されていない場合のクラスターダッシュボードの外観を示しています。

    jk51

    上の図は、クラスターに2つのGPUアクセラレーションノードと2つのGPUが含まれていることを示しています。

  2. 次のコマンドを実行して、mpijobトレーニングジョブを送信します。

    アリーナはmpijob \を提出します
        -- name=mpi-test \
        -- gpus=1 \
        -- workers=1 \
        -- working-dir=/perseus-demo/tensorflow-demo/ \
        -- imag e=registry.cn-beijing.aliyuncs.com/ai-samples/horovod:0.13.11-tf1.10.0-torch0.4.0-py3.5 \
        'mpirun python /benchmarks/scripts /tf_cnn_benchmarks.py-model resnet101-batch_size 64-num_batches 5000-variable_update horovod-train_dir=/training_logs-summary_verbosity=3-save_summaries_steps=10 ' 
  3. クラスターダッシュボードを再度確認します。

    jk52

    上の図は、GPU使用率やGPU (割り当て済み /合計) などのメトリックが更新されることを示しています。

  4. 次のコマンドを実行して、ジョブが実行されるノードを照会します。

    アリーナ一覧

    期待される出力:

    NAME STATUS TRAINER DURATION GPU (要求された) GPU (割り当てられた) ノード
    mpi-test実行MPIJOB 8s 1 1 192.168.1.151 
  5. [クラスター] ページで、右上隅の [ノード] をクリックして、ノードダッシュボードに移動します。 ステップ4で返される出力は、ジョブが実行されるノードのIPアドレスが192.168.1.151であることを示しています。 次の図に示すように、ノードのGPU関連のメトリックが更新されていることがわかります。

    jk53

  6. [ノード] ページで、右上隅の [トレーニングジョブ] をクリックして、トレーニングジョブダッシュボードに移動します。このダッシュボードでは、トレーニングジョブの名前やステータスなど、クラスター内のトレーニングジョブに関する情報を表示できます。

    jk54