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互換のランタイムをサポートします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト