エラスティックリソーススケジューリング、AI タスクスケジューリング、ヘテロジニアスリソーススケジューリング、およびタスクキュースケジューリングの概要です。クラスターのリソース使用率と Job の効率を向上させます。
エラスティックスケジューリング
1つのアプリケーションで Elastic Compute Service (ECS) 、Elastic Container Instance (ECI) 、およびプリエンプティブルインスタンスを組み合わせます。優先度ベースのポリシーで、どのリソースタイプを先にスケールアウトし、先に解放するかを制御します。
| 機能 | シナリオ | 参考資料 |
|---|---|---|
| エラスティックスケジューリング | スケールアウト時に安価なリソースを優先し (例:ECI より先に ECS) 、スケールイン時にはそれらを先に解放することでコストを削減します。サブスクリプション、従量課金、およびプリエンプティブルインスタンスをサポートします。 | Elastic Container Instance ベースのスケジューリングを使用するおよび優先度ベースのリソーススケジューリングを構成する |
タスクスケジューリング
ギャングスケジューリング、キャパシティスケジューリング、および Kube Queue (ack-kube-queue) で、バッチワークロードと AI ワークロードを管理します。
| 機能 | シナリオ | 参考資料 |
|---|---|---|
| ギャングスケジューリング | 同時にタスクを開始する必要がある分散トレーニングやバッチジョブに使用します。ギャングスケジューリングがない場合、タスクが部分的に開始されることでリソースがブロックされ、デッドロックが発生します。ギャングスケジューリングは、関連するプロセスをまとめて起動し、ブロックを防止します。 | ギャングスケジューリングを使用する |
| キャパシティスケジューリング | 複数チームが同一クラスターを利用し、チームごとにリソースの使用時間帯が異なるシナリオに適しています。標準の Kubernetes リソースクォータは、名前空間ごとに固定量を割り当てるため、クォータが未使用の場合はリソースがアイドルになります。キャパシティスケジューリングを使用すると、クォータの境界をまたいでアイドルリソースをチーム間で共有できます。 | キャパシティスケジューリングを使用する |
| Kube Queue (ack-kube-queue) | 複数ユーザーの AI ワークロードとバッチワークロードを扱う大規模クラスターに適しています。Job 数が多い場合、Pod レベルのスケジューリングは性能が低下し、ユーザー間で Job が干渉します。ack-kube-queue は、カスタマイズ可能なポリシーと統合クォータを備えたキューを管理し、使用率を最大化します。 | ack-kube-queue を使用してジョブキューを管理する |
ヘテロジニアスリソーススケジューリング
cGPU による GPU 共有と、CPU と GPU の両方に対するトポロジーを意識した配置で GPU をスケジュールします。GPU スケジューリングのノードラベルについては、Container Service for Kubernetes (ACK) が GPU を制御するために使用するラベルをご参照ください。
cGPU による GPU 共有
cGPU を使用すると、複数の Pod で 1 つの GPU をメモリ隔離しながら共有できます。これにより、GPU コストを削減し、ワークロードの安定性を向上させます。ACK Pro クラスターでは、次のポリシーをサポートします:
| ポリシー | 使用する場面 | 説明 |
|---|---|---|
| 1 Pod 1 GPU の共有とメモリ隔離 | モデル推論 | 1 つの GPU を複数の Pod で共有し、Pod 間のメモリ隔離を保証します。 |
| 1 Pod 複数 GPU の共有とメモリ隔離 | 分散モデルトレーニング | 分散モデルトレーニング向けに、1 つの Pod を複数の GPU にまたがって配置し、メモリ隔離を行います。 |
| binpack または spread アロケーション | GPU 使用率と高可用性の向上 | binpack または spread アルゴリズムで GPU を割り当て、使用率を向上させ、高可用性を確保します。 |
セットアップ手順については、「cGPU Professional Edition」をご参照ください。
トポロジーを意識した CPU および GPU スケジューリング
スケジューラーは、ノードハードウェアトポロジーに基づいて、性能に敏感なワークロードを配置します。具体的には、GPU 間パス (NVLink、PCIe スイッチ) と CPU NUMA トポロジーを考慮します。
| 機能 | 参考資料 |
|---|---|
| トポロジーを意識した CPU スケジューリング | トポロジーを意識した CPU スケジューリング |
| トポロジーを意識した GPU スケジューリング | 概要 |
FPGA スケジューリング
ラベルを使用して FPGA ワークロードをアクセラレーテッドノードにスケジュールし、クラスター全体で FPGA リソースを管理します。
| 機能 | 参考資料 |
|---|---|
| FPGA スケジューリング | ラベルを使用して Pod を FPGA アクセラレーテッドノードにスケジュールする |
タスクキュースケジューリング
AI ワークロードとバッチワークロード向けに、タスクキュースケジューリングをカスタマイズします。