Project-HAMi/HAMi
Heterogeneous GPU Sharing on Kubernetes
何を解決するか
HAMiは、KubernetesクラスタにおけるGPU割り当ての非効率性に対処します。小さなジョブに全体のGPUが割り当てられることが多く、リソースの無駄が生じます。また、NVIDIA GPU、NPUs、DCUsなど多様なアクセラレータハードウェアを、単一の統一されたワークフローで管理する問題も解決し、ベンダー依存を回避し、AIチームのインフラ管理を簡素化します。
動作方法
HAMiはKubernetesとハードウェアの間に仮想化ミドルウェア層として機能します。ミューテイティングWebhook、スケジューラ拡張、デバイスプラグインを使用して、ポッドの提出をインターセプトし、アクセラレータのメモリまたはコンピューティングコアの特定の割合を割り当てます。これにより、複数のワークロードが1つの物理デバイスを共有しながら、リソースの隔離を維持でき、アプリケーションコードの変更は一切不要です。
対象ユーザー
KubernetesベースのAIクラスタを管理するプラットフォームエンジニアやAIインフラチームで、GPU利用率を向上させ、マルチテナント環境(ノートブックや推論サーバーなど)をサポートし、複数のベンダーの異種ハードウェアを管理したい方々に最適です。
主な特徴
- デバイス共有: メモリ、コア、デバイス数に基づいて物理アクセラレータの部分を割り当て可能。
- 異種アクセラレータ対応: NVIDIA GPUおよびその他のさまざまなアクセラレータ(NPUs、DCUs、MLUsなど)を統一的に管理。
- デバイス認識スケジューリング: ビンパック、スプレッド、トポロジ認識ポリシーをサポートし、ワークロード配置を最適化。
- アプリケーション変更ゼロ: 通常のKubernetesリソースリクエストとリミットと互換性あり。
- 可視性: アクセラレータ使用状況を監視するためのWebUIとGrafanaダッシュボードを提供。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト