インテル バーチャライゼーション・テクノロジー

インテル バーチャライゼーション・テクノロジー(Intel VT)とは



インテル バーチャライゼーション・テクノロジー(Intel Virtualization Technology)、通称Intel VTは、インテルが開発した仮想化支援技術の総称です。当初は開発コード名からVanderpool Technologyと呼ばれていましたが、現在ではVTという略称が一般的です。VT-xという名称で呼ばれることもありますが、これらはIntel VTの一部を指しています。

概要



Intel VTは、仮想マシンモニタ(ハイパーバイザ)を用いて複数のオペレーティングシステム(OS)を同時に実行する際に、より効率的な動作を可能にする技術です。ソフトウェアのみで仮想化を実装することも可能ですが、その場合、パフォーマンスの低下やゲストOSの変更が必要になることがあります。Intel VTのようなハードウェア支援技術を利用することで、これらの問題を解決し、仮想環境をより快適に利用できます。

インテルは、Itanium 2などのIA-64アーキテクチャ向けにIntel VT-i、Pentium DなどのIntel 64アーキテクチャ向けにIntel VT-x、そしてI/O仮想化機能としてIntel VT-dを開発しました。これらの機能を総称してIntel VTと呼んでいます。

Nehalemマイクロアーキテクチャ以降のCore i3以上のCPUは、VT-xに対応しています。一方、AMDは同様のコンセプトでAMD Virtualization(AMD-V)を開発していますが、Intel VTとの互換性はありません。

仮想化支援技術



通常のOSは、リングプロテクションという仕組みを利用し、特権レベルとユーザーレベルの二つの階層で動作します。仮想マシンモニタでは、ホストOSを特権リングに、ゲストOSカーネルを中間リングに配置します。これにより、ゲストOSカーネルが特権命令を実行しようとすると、特権違反が発生し、仮想マシンモニタがその処理を検出できます。

しかし、ゲストOSは本来特権レベルで動作することを前提に設計されているため、割り込みの禁止や許可など、細粒度の資源要求が頻繁に発生します。リングプロテクションにおけるリング間の状態遷移は、CPUコンテキストの切り替えを伴い、性能低下を招きます。

仮想化支援技術は、特権リングの扱いを再定義し、これらの細粒度の操作を制御したり、スーパーバイザの操作を代行したりすることで、より効率的な処理を実現します。これにより、仮想化環境の性能を大幅に向上させることができます。例えば、割り込み制御の最適化だけで、20%以上の性能向上が見られることがあります。

Intel VTは、命令レベルの改善を行うVT-xとVT-i、I/Oレベルの改善を行うVT-dで構成されています。

Intel VTの構成要素



VT-x


VT-xは、x86アーキテクチャにおける仮想化の実装例であり、単にIntel VTと呼ばれることもあります。

VMX動作モードの追加


32ビットOSでは、通常リング0でカーネルが動作しますが、仮想マシンモニタはより高い特権モードで動作する必要があります。このため、VT-xでは、リング0-3とは別にVMX rootとVMX non-rootという2つの動作モードが追加されました。仮想マシンモニタはVMX rootモードで、ゲストOSはVMX non-rootモードで動作します。ゲストOSが仮想化に影響のある命令を発行すると、VMX rootモードに遷移し、仮想マシンモニタが適切な処理を行います。

VMCS (Virtual Machine Control Structure)


仮想マシンモニタは、VMCSというデータ領域を使用して、各仮想マシンを制御します。VMX non-rootモードで動作していたCPUの状態の保存や読み出しをVMCSを使用して行います。これにより、ゲストOSの切り替え時のオーバーヘッドを削減できます。VMCSには、仮想マシンを起動、再開、VMXモードへ遷移・離脱する命令が含まれています。

VT-i


VT-iは、IA-64アーキテクチャ向けに実装された仮想化支援技術です。VT-xとほぼ同様の機能を持ちますが、ゲストOSに対する仮想CPUリソースの割り当てを柔軟に構成できる点が特徴です。

VT-d


ダイレクトI/O向けインテルVT(Intel VT-d)は、I/O処理の仮想化を支援する機能です。VT-dがない場合、仮想マシンモニタはI/Oデバイスをエミュレートし、DMAのメモリ領域をリマッピングする必要があります。VT-dでは、ハードウェア的にDMA転送時のリマッピングを行うことで、通常のデバイスドライバを使用でき、利便性と性能を向上させることができます。メモリアクセスはチップセット側の機能であるため、対応するチップセットが必要です。

VT-c


VT-c(Virtualization Technology for Connectivity)は、サーバー性能の最適化を目的としたI/O仮想化技術の総称です。VMDq、I/OAT、SR-IOVで構成されています。

関連項目



仮想マシン
IOMMU
x86仮想化
Microsoft Hyper-V
Parallels Desktop
VirtualBox
Microsoft Virtual PC
Microsoft Virtual Server
VMware
Xen (仮想化ソフトウェア)

参照



インテル® バーチャライゼーション・テクノロジー
対応製品リスト(インテル
* チップセット・デスクトップボード一覧

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。