このプロジェクトについて
NVSentinelは、Kubernetes上のGPUインフラストラクチャの信頼性を高めるためのNVIDIAオープンソースプロジェクトです。単一の故障したGPUがトレーニング実行を静かに破損させたり、ノードをアイドル状態にしたりする問題に対処します。システムは障害が発生した時点で検出し、影響を受けたノードをcordonおよびdrainしてワークロードを保護し、対象を絞ったGPUリセットまたは完全な再起動で修復し、手動でのページングなしにサービスに戻します。
中核機能:
- 検出: DCGM、syslog/journalctl、クラウドプロバイダーのメンテナンスイベント、Kubernetesオブジェクト監視、パターンベースのヘルスイベント分析を通じて、リアルタイムのGPU、NIC、システムレベルの障害検出を行います。
- 保護: 障害のあるノードをcordonしてスケジューラーが新しいワークを配置しないようにし、オプションで既存のワークロードをdrainします。ノードドレイナーを省略することで、cordonのみのモードも可能です。
- 修復: 特権付きオンノードジョブ(GPUリセットまたは再起動)による自動修復。再起動にはオプションでクラウドプロバイダーAPI統合を使用します。
- 事前チェック(オプション): ジョブ開始前にノードの準備状態を検証するinitコンテナ。Kubernetesギャングスケジューリングを使用し、ネームスペースごとにラベルで有効化されます。
アーキテクチャ: 共有MongoDBイベントストアとKubernetes APIを通じて調整される独立したモジュールで構成され、モジュール間の直接通信はありません。ヘルスモニター(GPU、syslog、CSP、NIC、ヘルスイベントアナライザー、Kubernetesオブジェクトモニター)は、gRPCを介してプラットフォームコネクタにイベントを送信し、コネクタはそれらを永続化してノードの状態とイベントを更新します。障害管理コンポーネント(障害隔離、ノードドレイナー、障害修復、ジャニター)は、ストアからの変更を調整し、Kubernetes APIに作用します。この設計は、プラグ可能なヘルスモニター、ドレイン戦略、修復アクションで拡張可能です。
前提条件: Kubernetes 1.34以降、Helm 3.0以降、DCGMスタンドアロンモードが有効なNVIDIA GPU Operator(dcgm.enabled=true)、cert-manager v1.21以降、データベース用の永続ストレージ。
インストールと採用: 単一のHelmコマンドで、OCIチャートからNVSentinelをインストールまたはアップグレードします。デフォルトではヘルスモニタリングのみが有効で、これは非破壊的です。ユーザーはHelm値を通じて、cordon、drain、修復、ジャニター、事前チェックを段階的に有効化できます。ローカル障害注入デモは、GPUハードウェアなしのKINDクラスターで実行され、シミュレートされたDCGMを使用して検出、隔離、cordonを実証します。
サポート対象ハードウェア: NVIDIA Volta、Ampere、Hopper、Ada Lovelace、Blackwellアーキテクチャで検証済み。配布はOCI Helmチャート、GHCRコンテナイメージ、GitHubリリース、公式ドキュメントサイトのみです。コンテナイメージにはSigstore署名付きCycloneDX SBOMとSLSAビルド出所証明が含まれます。このプロジェクトはApache 2.0ライセンスで提供され、本番テスト準備完了と説明されていますが、APIと設定はリリース間で変更される可能性があります。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.