複数チームが存在する環境では、効率的な運用を確保するために、コンピューティングリソースを適切に割り当てる必要があります。このトピックでは、クォータを作成して各チームにリソースを割り当て、効率的なリソース管理を実現する方法について説明します。
背景情報
例
チーム A、チーム B、チーム C の AI コンピューティングリソースとして合計 128 GPU を購入し、次のような要件があるとします。
-
チーム A は推論サービスを実行するため、保証されたリソースが必要です。
-
チーム B とチーム C はトレーニングジョブを実行します。
-
チーム A の推論サービスは、トレーニングジョブよりも高い優先度を持ちます。チーム A が追加のリソースを必要とする場合、システムはトレーニングジョブからリソースを回収し、推論サービスが正常に実行されるようにします。
-
チーム B とチーム C のリソースは、実際のニーズに基づいて動的に調整できます。
-
チーム B とチーム C は、それぞれのリソースとジョブを独立して管理できます。
概要
上の図は、このシナリオのサンプルを示しています。解決策は次のとおりです。
-
128 GPU を持つ親クォータ `Quota1` を作成し、子レベルのプリエンプションを有効にします。次に、2 つの子クォータを作成します:`Quota1.1` (48 GPU) と `Quota1.2` (80 GPU)。
-
チーム A 用にワークスペース `workspace-a` を作成し、`Quota1` に関連付けて Elastic Algorithm Service (EAS) の推論サービスをデプロイします。
-
チーム B 用にワークスペース `workspace-b` を作成し、`Quota1.1` に関連付けて Deep Learning Containers (DLC) のトレーニングジョブを実行します。
-
チーム C 用にワークスペース `workspace-c` を作成し、`Quota1.2` に関連付けてモデル開発用の Data Science Workshop (DSW) インスタンスを実行します。
操作手順
-
AI コンピューティングリソース (汎用コンピューティングリソースまたは Lingjun リソース) を準備します。詳細については、「リソースプールの概要」をご参照ください。すでに AI コンピューティングリソースを購入済みの場合は、この手順をスキップしてください。
クォータを作成します。
次の主要なパラメーターを使用して、`Quota1` という名前のクォータを作成します。詳細については、「リソースクォータの作成」または「汎用コンピューティングリソースクォータ」をご参照ください。
-
仕様/リソース:128 GPU などのリソース仕様を選択します。
Child-level Preemption スイッチをオンにします。
-
`Quota1` の Actions 列で、New Child-level Resource Quota をクリックして、次の 2 つの子クォータを作成します。詳細については、「親子クォータの作成」をご参照ください。
-
48 GPU を持つ子クォータ `Quota1.1` を作成します。
-
80 GPU を持つ子クォータ `Quota1.2` を作成します。
-
-
次のワークスペースを作成し、ワークスペースをクォータに関連付けます。詳細については、「ワークスペースの作成と管理」をご参照ください。
-
チーム A 用に `workspace-a` という名前のワークスペースを作成し、そのワークスペースを `Quota1` に関連付けます。
-
チーム B 用に `workspace-b` という名前のワークスペースを作成し、そのワークスペースを `Quota1.1` に関連付けます。
-
チーム C 用に `workspace-c` という名前のワークスペースを作成し、そのワークスペースを `Quota1.2` に関連付けます。
-
-
各チームにワークスペース管理者権限を付与します。詳細については、「ワークスペースの管理」をご参照ください。その他の権限タイプについては、「ロールと権限」をご参照ください。
-
推論サービスとトレーニングジョブを作成します。
-
チーム A は、ワークスペース `workspace-a` で推論サービスを作成します。詳細については、「サービスのデプロイ」をご参照ください。
-
チーム B は、ワークスペース `workspace-b` で DLC ジョブを作成します。詳細については、「トレーニングジョブの作成」をご参照ください。
-
チーム C は、ワークスペース `workspace-c` で DSW インスタンスを作成します。詳細については、「DSW インスタンスの作成」をご参照ください。
-
シナリオ
シナリオ 1:推論サービスがトレーニングジョブからリソースをプリエンプトする
管理者は [リソースクォータ] ページに移動し、親クォータ Quota1 をクリックして、[概要] タブで [子レベルのプリエンプション] スイッチを有効にします。
チーム A がワークスペース `workspace-a` で新しい推論サービスを送信した際に、チーム B とチーム C のトレーニングジョブによってリソースが不足している場合、システムは自動的にトレーニングジョブからリソースを回収し、推論サービスが正常に実行されるようにします。
シナリオ 2:チーム間でリソースを再割り当てする
管理者はクォータのスケーリング機能を使用して、チーム B とチーム C のニーズに応じて、Quota1.1 と Quota1.2 のリソースを調整できます。詳細については、「クォータのスケーリング」をご参照ください。
-
Quota1.1 の GPU を 48 から 56 に増やします (+8 GPU)。
-
Quota1.2 の GPU を 80 から 72 に減らします (-8 GPU)。
シナリオ 3:チーム間で権限を分離する
Quota1.1 はチーム B の workspace-b に割り当てられ、Quota1.2 はチーム C の workspace-c に割り当てられます。この設定により、チーム B とチーム C は、それぞれのワークスペース内で、自身のリソースとジョブに対する権限を独立して管理できます。詳細については、「ワークスペーススケジューリングセンター」をご参照ください。