🌊

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つの主要なライセンスモデルで提供されています:

  1. 永続ライセンス(Perpetual License):

    • 無期限の使用権を提供
    • 初期契約時は4年または5年のSUMS(Support Updates and Maintenance)が必要
    • 初期期間後は年単位で更新可能
    • 一般的に高い初期投資が必要
  2. 年間サブスクリプション(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のパフォーマンスに差があることが示されています:

  1. 計算中心のワークロード:

    • 大規模な連続的CUDA計算を行うワークロードでは、MIGモードの方がvGPUモードよりも優れたパフォーマンスを示す
    • 例:バッチサイズの小さい軽量な機械学習ワークロード
  2. I/O中心のワークロード:

    • データ転送や頻繁なCPU計算と交互に行われるGPU計算では、vGPUモードが優位
    • 例:NFV(Network Function Virtualization)ワークロード
  3. 高負荷ワークロード:

    • 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の選択指針

以下の基準で選択を検討するとよいでしょう:

  1. パフォーマンス要件

    • 高い予測可能性とQoSが必要 → MIG
    • 柔軟性と多様なプロファイルが必要 → vGPU
  2. インフラストラクチャ

    • ベアメタル環境 → MIG
    • すでにVMware/Citrixなどの仮想化環境がある → vGPU
  3. ワークロードタイプ

    • 主にML/AI/HPC → MIG
    • グラフィックス処理/VDI → vGPU
  4. 対応ハードウェア

    • A100/A30/H100/H200などの最新データセンターGPUを使用 → MIG可能
    • 他のNVIDIA GPU → vGPUのみ対応
  5. コスト要件

    • 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リソースの最適化と効率化を図ることができます。

参考文献

  1. NVIDIA Multi-Instance GPU User Guide
  2. NVIDIA Virtual GPU Software Documentation
  3. VMware vSphere 7 with NVIDIA AI Enterprise Time-sliced vGPU vs MIG vGPU
  4. NVIDIA vGPU Software Licensing
  5. Cloud Providers NVIDIA GPU Support
  6. NVIDIA Blackwell Platform - Multi-Instance GPU Support
  7. NVIDIA MLPerf Benchmarks
  8. Breaking MLPerf Training Records with NVIDIA H100 GPUs
  9. NVIDIA's GTC 2025 Highlights: Blackwell GPUs and AI-Q Framework

Discussion