GPU仮想化技術である MIG と vGPU の違いを理解する
はじめに
GPU仮想化は、高性能コンピューティングやAI処理において重要な技術です。本記事では、NVIDIAの提供する2つの主要GPU仮想化技術である「Multi-Instance GPU (MIG)」と「Virtual GPU (vGPU)」の違いについて詳しく解説します。両技術はGPUリソースを複数のワークロードに分割する点では似ていますが、アーキテクチャ、用途、パフォーマンス特性において重要な違いがあります。最新の情報と実際のユースケースを基に、それぞれの技術の利点と適した環境を明らかにします。
この記事は2025年4月時点の情報に基づいています。
TL;DR
- MIGはAmpere世代以降(A100/A30/H100/H200など)のデータセンター向けGPUを物理的に分割する技術で、パーティション間の完全な分離とパフォーマンス保証が特徴
- vGPUはハイパーバイザーを通じてGPUリソースを仮想マシン間で共有する技術で、柔軟なリソース割り当てが可能だが、パフォーマンスに変動がある
- 用途によって選択が異なり、MIGは複数のMLワークロード向け、vGPUはVDI環境やクラウドゲーミングなど幅広い仮想化用途に適している
MIG (Multi-Instance GPU) とは
MIGは、NVIDIA A100、A30、H100、H200などのデータセンターGPUで利用可能な技術で、単一の物理GPUを最大7つの独立したGPUインスタンスに分割できます。Ampere世代(A100/A30)から導入され、Hopper世代(H100/H200)、そして最新のBlackwell世代でもサポートされています。
MIGの主な特徴
- 物理的分離: GPUのコンピューティングリソース、メモリ、キャッシュを物理的に分割
- パーティション間の完全な分離: 各MIGインスタンスは他に影響を与えず独立して動作
- 予測可能なパフォーマンス: 各インスタンスに割り当てられたリソースは保証される
- ハードウェアレベルでの分離: ハイパーバイザーを必要としない
- 動的再構成: Hopper世代(H100/H200)以降では、GPUリセットなしでMIGプロファイルの動的変更が可能に
MIGの構成例
A100/H100 GPUの場合、以下のような構成が可能です:
MIG構成 | GPU計算スライス | GPU メモリ | ユースケース |
---|---|---|---|
1g.10gb/1g.20gb | 1/7 (1/7の計算能力) | A100: 10GB / H100: 20GB | 小規模ML推論 |
2g.20gb/2g.40gb | 2/7 (2/7の計算能力) | A100: 20GB / H100: 40GB | 中規模ML学習/推論 |
3g.40gb/3g.60gb | 3/7 (3/7の計算能力) | A100: 40GB / H100: 60GB | 大規模ML学習 |
7g.80gb/7g.120gb | 7/7 (フルGPU) | A100: 80GB / H100: 120GB | 最大規模のワークロード |
注:H100の場合のMIGプロファイル名は、メモリ容量が異なります。
MIGの設定例
# MIGモードの有効化
sudo nvidia-smi -mig 1
# GPUを3つのインスタンスに分割 (3g.40gb x 1, 2g.20gb x 2)
sudo nvidia-mig-parted -c 3g.40gb,2g.20gb,2g.20gb
vGPU (Virtual GPU) とは
vGPUは、NVIDIA Grid技術をベースとしたソフトウェア仮想化ソリューションで、ハイパーバイザーを通じて物理GPUを複数の仮想マシン間で共有します。幅広いNVIDIA GPUをサポートし、様々な用途に対応できる柔軟性が特徴です。
vGPUの主な特徴
- ソフトウェアベースの仮想化: ハイパーバイザー(VMware vSphere、Citrix Hypervisor等)を通じて動作
- 時分割マルチプレキシング: GPUリソースをタイムスライスで複数VMに割り当て
- プロファイルベースの割り当て: 様々なメモリサイズと計算能力のプロファイルを提供
- 広範なGPUサポート: データセンターGPUだけでなく、様々なNVIDIA GPUで利用可能
- ライセンス必須: vGPUの利用には適切なライセンスが必要
主なvGPUプロファイル種別
プロファイル種別 | 用途 | 特徴 |
---|---|---|
NVIDIA RTX Virtual Workstation (vWS) | プロフェッショナルグラフィックスワークロード | フルGPUアクセラレーション、CUDA/OpenCL対応 |
NVIDIA Virtual PC (vPC) | 知識労働者向けVDI | 基本的なグラフィックス加速 |
NVIDIA Virtual Applications (vApps) | アプリケーション仮想化 | リモートデスクトップセッション |
NVIDIA Virtual Compute Server (vCS) | コンピューティングワークロード | CUDA対応、グラフィックス機能無効 |
vGPUライセンスモデル
NVIDIAのvGPUソフトウェアは以下の2つの主要なライセンスモデルで提供されています:
-
永続ライセンス(Perpetual License):
- 無期限の使用権を提供
- 初期契約時は4年または5年のSUMS(Support Updates and Maintenance)が必要
- 初期期間後は年単位で更新可能
- 一般的に高い初期投資が必要
-
年間サブスクリプション(Annual Subscription):
- より手頃な価格で提供
- ライセンス数の管理に柔軟性を提供
- サブスクリプション期間中はSUMSを含む
- 年間または複数年(3年、4年、5年など)契約が可能
ライセンスは主に同時ユーザー(CCU: Concurrent User)モデルに基づいており、vGPUソフトウェアに同時にアクセスまたは使用する各ユーザーに対してライセンスが必要です。
vGPU構成例
<!-- VMware ESXiでのvGPU構成例 (VM構成ファイル) -->
<gpu>
<gpuDevice>0</gpuDevice>
<vgpu>nvidia-352</vgpu> <!-- P40-8Qプロファイル -->
</gpu>
MIGとvGPUの主な違い
アーキテクチャの違い
MIG:
- ハードウェアレベルでの分割
- 物理的に分離されたリソース
- ハイパーバイザー不要
- NVIDIA A100/A30/H100/H200/B200などの特定のデータセンターGPUのみ対応
- A100では最大で7つのGPUインスタンスに分割可能
vGPU:
- ソフトウェアレベルでの仮想化
- タイムシェアリングベースのリソース共有
- ハイパーバイザーが必須
- 広範なNVIDIA GPUで利用可能
- プロファイルによっては16以上の仮想GPUをサポート
パフォーマンス特性
MIG:
- 予測可能で一貫したパフォーマンス
- パーティション間の干渉なし
- QoS(Quality of Service)保証
- オーバーサブスクリプションなし
- 大規模かつ連続的なGPU計算に最適
vGPU:
- 共有リソースによるパフォーマンス変動の可能性
- GPUスケジューラーによる管理
- オーバーサブスクリプション対応(vGPUインスタンス数が物理リソース以上)
- 最大パフォーマンスはタイムスライス配分に依存
- 頻繁にデータ転送を行うワークロードに有利
スケーリングと柔軟性
MIG:
- 静的または動的な構成(H100以降では動的変更可能)
- A100では最大7つのインスタンス
- サイズ構成が限定的
- L2キャッシュや計算リソースも分割
- 物理リソースの総和が元のGPUを超えない
vGPU:
- 動的なリソース割り当て可能
- インスタンス数は選択したプロファイルに依存
- 多様なプロファイル選択肢
- GPUメモリのみ固定分割、計算リソースはタイムシェア
- オーバーサブスクリプションによる高い柔軟性
クラウドプロバイダーでの利用状況
主要なクラウドプロバイダーでのMIGとvGPUの対応状況は以下の通りです:
クラウドプロバイダー | MIG対応 | vGPU対応 | 備考 |
---|---|---|---|
AWS | 対応 | GPUパススルーのみ | P4d、P5インスタンスでMIG対応 |
Google Cloud Platform (GCP) | 対応 | GPUパススルーのみ | A2インスタンスでMIG対応 |
Microsoft Azure | 対応 | GPU-Pとパススルー対応 | NDasrA100 v4などでMIG対応 |
Oracle Cloud Infrastructure (OCI) | 対応 | 対応 | ベアメタルGPUインスタンスも提供 |
各クラウドプロバイダーは独自のGPUインスタンスタイプやプロビジョニング方法を提供しており、詳細は各プロバイダーのドキュメントを参照する必要があります。
実世界のパフォーマンス比較
ワークロード別の性能特性
VMwareの性能評価によると、ワークロードの特性によってMIGとvGPUのパフォーマンスに差があることが示されています:
-
計算中心のワークロード:
- 大規模な連続的CUDA計算を行うワークロードでは、MIGモードの方がvGPUモードよりも優れたパフォーマンスを示す
- 例:バッチサイズの小さい軽量な機械学習ワークロード
-
I/O中心のワークロード:
- データ転送や頻繁なCPU計算と交互に行われるGPU計算では、vGPUモードが優位
- 例:NFV(Network Function Virtualization)ワークロード
-
高負荷ワークロード:
- GPUの計算能力とメモリを大量に使用するワークロードでは、両モードのパフォーマンスの差は小さくなる
- バッチサイズの大きい重量級機械学習ワークロードでは、vGPUが若干優位
これらの知見から、ワークロードの特性を理解し、適切なモードを選択することが重要です。
MLPerfベンチマークデータ
NVIDIAのMLPerfベンチマークでは、A100からH100へのアップグレードによる全体的なパフォーマンス向上が示されています。MLPerf Training v3.0の結果によれば、H100はA100と比較して:
- BERT(自然言語処理)で最大6.7倍の性能向上
- 平均で約2.6倍のアクセラレータあたりのパフォーマンス向上
- 特にTransformerベースのモデルでは顕著な性能向上
MIGモードでのベンチマークでは、MIGパーティションのサイズと数に応じて性能が線形にスケールしており、A100の7g.40gbプロファイルとH100の7g.80gbプロファイルでは、単一のパーティションでもフルGPUに近いパフォーマンスを実現しています。
これらのデータは、特にAI/MLワークロードにおけるMIGの効果的な活用可能性を示しています。
適したユースケース
MIGに適したユースケース
- マルチテナントGPUクラスタ: 複数ユーザー/チーム間でのGPUリソース分離
- ML/AIワークロード混在環境: 推論と学習を同一GPU上で分離実行
- パフォーマンス保証が必要なアプリケーション: SLA要件の厳しいサービス
- HPC (高性能コンピューティング): 複数の独立した科学計算ワークロード
- セキュリティ要件の厳しい環境: Trusted Execution Environment(TEE)によるセキュアな分離が必要な場合
vGPUに適したユースケース
- VDI (仮想デスクトップインフラ): リモートワーカー向けグラフィックス処理
- クラウドゲーミング: 複数ユーザーへのグラフィックスリソース提供
- 仮想ワークステーション: CAD/CAM、3Dモデリング、映像編集
- 混在ワークロード環境: 様々なGPU要件を持つVM間でのリソース共有
- 既存の仮想化環境の拡張: VMwareやCitrixなどのハイパーバイザー環境との統合
MIGとvGPUの選択指針
以下の基準で選択を検討するとよいでしょう:
-
パフォーマンス要件
- 高い予測可能性とQoSが必要 → MIG
- 柔軟性と多様なプロファイルが必要 → vGPU
-
インフラストラクチャ
- ベアメタル環境 → MIG
- すでにVMware/Citrixなどの仮想化環境がある → vGPU
-
ワークロードタイプ
- 主にML/AI/HPC → MIG
- グラフィックス処理/VDI → vGPU
-
対応ハードウェア
- A100/A30/H100/H200などの最新データセンターGPUを使用 → MIG可能
- 他のNVIDIA GPU → vGPUのみ対応
-
コスト要件
- vGPUはライセンスコストが発生
- MIGはライセンスなし(ハードウェアコストのみ)
併用シナリオ
MIGとvGPUは排他的な技術ではなく、特定のシナリオでは併用も可能です:
GPU
├── MIG partition 1 → vGPU (VM1, VM2)
├── MIG partition 2 → vGPU (VM3, VM4)
└── MIG partition 3 → 直接利用 (コンテナ)
このような構成により、MIGによる物理的分離の利点と、vGPUによる柔軟な仮想化の利点を組み合わせることができます。
技術的制限と考慮事項
MIGの制限事項
- Ampere、Hopper、Blackwell世代のデータセンターGPUのみ対応
- 最大7つのインスタンスに制限される
- H100より前の世代では、構成変更にGPUリセットが必要
- GPUDirect RDMA/TCPXなど特定の技術が利用できない場合がある
- カスタムサイズの制限(プリセットのみ)
vGPUの制限事項
- ライセンスの管理と追加コスト
- ハイパーバイザーのオーバーヘッド
- 「ノイジーネイバー問題」発生の可能性
- パフォーマンスの予測が難しい場合がある
- ライセンスサーバーの設定と管理が必要
まとめ
MIGとvGPUはどちらもGPUリソースを共有するための技術ですが、アーキテクチャと用途に大きな違いがあります。MIGはハードウェアレベルでのGPU分割によって高い性能分離と予測可能性を提供しますが、特定のハイエンドGPUでのみ利用可能です。一方、vGPUはソフトウェアベースの仮想化でより柔軟性が高く、広範なGPUと仮想化プラットフォームで利用できます。
ワークロードの特性に基づいて適切な技術を選択することで、GPUリソースの最適化と効率化を図ることができます。MIGは予測可能な性能とQoSが重要なAI/ML/HPCワークロードに適し、vGPUはVDIやリモートワークスペースなどのユースケースに向いています。
最新のデータセンター環境では、両技術を状況に応じて使い分けることで、GPUリソースの最適化と効率化を図ることができます。
参考文献
- NVIDIA Multi-Instance GPU User Guide
- NVIDIA Virtual GPU Software Documentation
- VMware vSphere 7 with NVIDIA AI Enterprise Time-sliced vGPU vs MIG vGPU
- NVIDIA vGPU Software Licensing
- Cloud Providers NVIDIA GPU Support
- NVIDIA Blackwell Platform - Multi-Instance GPU Support
- NVIDIA MLPerf Benchmarks
- Breaking MLPerf Training Records with NVIDIA H100 GPUs
- NVIDIA's GTC 2025 Highlights: Blackwell GPUs and AI-Q Framework
Discussion