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

Container Service for Kubernetes:ジョブ分散の概要

最終更新日:Mar 13, 2025

分散クラウドコンテナプラットフォーム Kubernetes 版(ACK One)のフリートインスタンスは、マルチクラスタおよびハイブリッドクラウドシナリオ向けのジョブ分散機能を提供し、AI ワークロードの一元的なスケジューリングと分散を実現します。単一の Container Service for Kubernetes(ACK)クラスタでは、大規模な AI トレーニングまたは推論タスクのリソース要件を満たせない場合、または複数の ACK クラスタにアイドルリソースが存在する場合、この機能を使用すると、これらのクラスタにジョブを分散してリソース使用率を最適化できます。

機能

ACK One マルチクラスタジョブ分散は、以下の機能を提供します。

  • 複数ジョブタイプのサポート: PyTorchJob、SparkApplication、および TFJob フレームワークと互換性があります。

  • マルチクラスタギャングスケジューリング: リソースの事前割り当てまたは動的リソースチェックを通じて、クラスタ間でジョブを分散し、サブクラスタへのタスクのデプロイを確実に成功させ、全体的なスケジューリング効率を向上させます。

  • マルチテナントクォータ管理: マルチテナント環境では、ElasticQuotaTree ベースの名前空間クォータを使用して、テナントごとのリソース制限を適用します。

  • 優先度ベースのスケジューリング: AI ジョブの PodTemplate で定義された PriorityClass に基づいて、重要なタスクのリソース割り当てを優先します。

  • 複数のタスクキューイングポリシー構成: クラスタ使用率の最適化とタスクの優先順位保証モードをサポートするために、ブロッキングとノンブロッキングの両方のスケジューリングパターンをサポートする柔軟なキューポリシーを許可します。

  • 障害発生時のジョブの再スケジューリング: グローバルスケジューラは、失敗したジョブを自動的に再取得し、十分なリソースを持つ適切なクラスタに再スケジューリングします。

しくみ

  1. ジョブの送信: 分散ポリシー PropagationPolicy を使用して、PyTorchJob、SparkApplications、または TFJob タイプのジョブをフリートインスタンスに送信します。

  2. 優先順位とクォータの検証: フリートインスタンスは、ジョブの優先順位とテナントクォータに基づいてキャパシティスケジューリングを実行します。

  3. グローバルスケジューリング: フリートインスタンスのグローバルスケジューラは、デキューされたジョブに対してマルチクラスタ動的リソーススケジューリングとギャングスケジューリングを適用し、リソースを予約するか、適切なクラスタを動的にチェックします。スケジューリングに失敗した場合、ジョブは再キューイングされます。

  4. ジョブの分散: 正常にスケジュールされたジョブは、指定された ACK クラスタに伝播されます。

  5. 障害時の再試行: サブクラスタでジョブが失敗した場合、グローバルスケジューラはジョブを再取得し、他の適切なクラスタに再スケジューリングします。