nebius/soperator

Run Slurm in Kubernetes

何を解決するか

Soperatorは、Kubernetes上でのSlurmクラスターのデプロイと管理を簡素化し、特にAIトレーニングやハイパフォーマンス・コンピューティング(HPC)のワークロードに特化しています。Slurmクラスターのセットアップ、リサイズ、メンテナンスに必要な手動作業を排除し、未検出のハードウェアの問題や非効率なGPU利用による、長時間実行されるトレーニングジョブの失敗リスクを軽減します。

仕組み

SoperatorはKubernetesオペレーターパターンを使用します。ユーザーは、クラスターのレイアウト(コントローラー、ログインノード、ワーカー、ストレージ、およびヘルスチェック)を記述するSlurmClusterカスタムリソースを定義します。その後、オペレーターはこの仕様をKubernetesオブジェクト(DeploymentsやStatefulSetsなど)に調整(reconcile)します。クラスター全体の一貫性を確保するため、PVCを介した共有ルートファイルシステムである「jail」を使用し、設定やパッケージの変更がすべてのノードですぐに反映されるようにします。

対象ユーザー

プラットフォームエンジニアや、ベアメタルでのSlurmインストールからKubernetesベースの環境へ移行し、AIトレーニングのためにスケーラブルで信頼性の高いSlurmスケジューリングを提供する必要があるチーム向けに設計されています。

ハイライト

  • 自動化されたクラスター管理: 単一のリソースを介して、リサイズ、アップグレード、および設定の宣言的な更新が可能です。
  • 高い信頼性: 受動的なモニタリングと能動的なGPU/ネットワークプローブを組み合わせ、失敗したノードを自動的にドレイン(drain)して交換します。
  • GPUの効率性: エフェメラルノード、オートスケーリング、およびInfiniBandトポロジー認識をサポートし、GPUの配置を最適化します。
  • プリインストールされたスタック: NVIDIAドライバー、CUDA、NCCL、および一般的なトレーニング依存関係が含まれています。
  • エンタープライズ統合: ID管理のためのSSSD、オブザーバビリティのためのPrometheus/Grafana、およびPyxis/EnrootのようなOCI互換のランタイムをサポートします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト