詳細解釋
將物理 GPU 分割為多個虛擬 GPU,讓多個用戶/任務共享一塊 GPU,提高資源利用率,是 AI 訓練/推理基礎設施的核心技術。
技術方法:
- 時間切片:輪流使用 GPU(類似 CPU 時間片)
- 空間分割:將顯存和計算單元物理分割(MIG)
- API 攔截:攔截 CUDA 調用,調度到物理 GPU
- 容器化:NVIDIA Docker、Kubernetes GPU 插件
NVIDIA 方案:
- vGPU:企業級虛擬化,支持 VMware、Citrix
- MIG(Multi-Instance GPU):A100/H100 硬件級分割
- Time-Slicing:Kubernetes 中的時間共享
- GPU Operator:K8s 中自動化 GPU 管理
應用場景:
- 雲服務:AWS、GCP 的 GPU 實例
- 多租戶:共享集群的資源隔離
- 開發/測試:多開發者共享 GPU
- 推理服務:多模型共享 GPU,提高吞吐量
挑戰:
- 隔離:一個任務的內存洩露影響他人
- 性能損失:虛擬化開銷
- 顯存碎片:分配釋放導致的碎片
- 調度複雜:優先級、資源預留、搶占
與 CPU 虛擬化的對比:
- GPU 虛擬化更難:緊耦合的計算和內存
- 成熟度:不如 CPU 虛擬化成熟
這是「AI 基建」的核心—— GPU 稀缺昂貴,必須高效共享。