nebius/soperator
Run Slurm in Kubernetes
何を解決するか
SoperatorはKubernetes上でSlurmクラスタのデプロイと管理を簡素化し、特にAIトレーニングおよびハイパフォーマンスコンピューティング(HPC)向けに設計されています。手動でのSlurmのセットアップ・メンテナンスの負担、ハードウェアの問題による長時間実行ジョブの失敗リスク、固定サイズのクラスタや不適切な配置によるGPUの無駄なアイドル化といった課題に対処します。
動作方法
SoperatorはKubernetes Operatorパターンを使用してSlurmを管理します。ユーザーはSlurmClusterカスタムリソースを定義し、クラスタ全体の構成(コントローラー、ワーカー、ストレージなど)を記述します。その後、Operatorがこの仕様をDeploymentsやStatefulSetsなどのKubernetesオブジェクトに同期します。ノード間の一貫性を確保するために、PVCを介した共有ルートファイルシステム(「jail」)を使用し、設定やパッケージの変更をクラスタ全体に即座に適用します。また、パッシブおよびアクティブなヘルスチェックを実装し、障害が発生したノードを自動的にドレインして置き換えます。
対象ユーザー
Slurm環境をAIトレーニングに提供する必要があるプラットフォームチームやエンジニア、およびベアメタルのSlurmインストールからKubernetesへの移行を検討しているチームに最適です。
主な特徴
- 宣言的管理: NVIDIAドライバー、CUDA、NCCLを含むSlurmスタック全体を、1つのKubernetesリソースで管理可能。
- 自動信頼性: アクティブおよびパッシブなヘルスチェックによりGPUおよびネットワーク障害を検出し、ノードの自動置換をトリガー。
- GPU効率: オートスケーリングに対応する一時的ノードと、InfiniBand対応の配置戦略によりGPU利用効率を最適化。
- ポータブルなデプロイ: AWS、GCP、Azure、Nebius、OCIなどさまざまなクラウドプロバイダー、およびベアメタルまたはオフライン環境に対応。
- 標準的なSlurm体験: ガングスケジューリング、フェアシェア、プリエンプションといったSlurmの慣用的な振る舞いを維持。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト