仮想化道場

コードの全面的なリフレッシュを行ったハイパーバイザー「Xen 4.5」

x64プロセッサでPVHをサポート

 x64プロセッサに対しては、PVHのサポートが行われた。PVHでは、プロセッサがハードウェアでサポートしている仮想化支援機能を積極的に利用する。

 PVHは最初のゲストとして起動し、イニシャルドメイン「dom0」として動作する。プロセッサの仮想化支援機能を使用することで、Dom0の起動を高速に行えるようになった。また、Dom0のOSとしてLinuxだけでなく、FreeBSDも利用できるようになった。

Xenのアーキテクチャ。ハイパーバイザーとは別に管理用のDom0という仮想マシンが必要となっている。Dom0により、特殊なドライバの開発をしなくても、LinuxやFreeBSDのドライバーをそのまま仮想環境でも利用できる
Xen 4.4以降は、PVHにより余計なレイヤがなくなり仮想マシンのパフォーマンスが上昇している
PVHは、高い性能を出す仮想環境には必須の機能だ

 さらにIntelプロセッサ版では、Haswell(開発コード名)世代のサーバープロセッサで追加されたIntel Resource Director Technologyをサポートすることで、アプリケーションがどのくらいLLC(ラストレベルキャッシュ)を使用しているのかをチェックするために、仮想マシンでIntelのCache Monitoring Technology(CMT)を実行できるようになった。

 また、Broadwell(開発コード名)世代で追加されたSupervisor Mode Access Prevention(SMAP)のサポート、Sandy Bridge(開発コード名)世代のプロセッサで追加された、仮想マシンからハイパーバイザーへの割り込みを仮想化して頻度を少なくするvAPICのサポート、などが加わっている。

x64プロセッサ向けの新機能。HPET、メモリのスクラビングにより高速ブート、PCIパススルーの低レイテンシ化などをサポート

 AMDのプロセッサに対しては、KabiniやKaveri(いずれも開発コード名)世代で追加されたData Breakpointの機能拡張のサポートや、MSRマスキングのサポートなど、小幅な改良にとどまっている。

 Xen 4.2で正式サポートになったARMプロセッサ版では、AMDのARMプロセッサSeattle(開発コード名)のサポートが行われた。さらに64ビットARM版では、最大5TBのメモリ容量をサポート(32ビットARM版では最大16GB)。仮想マシン1つあたりの仮想CPUは最大8つ(Xen 4.3と同じ)、仮想メモリは最大1TB(Xen 4.3では16GB)となった。

ARMプロセッサ版における機能追加。仮想マシンが利用できる仮想メモリが最大1TBに増えた
将来的には、x64プロセッサ版のXenと同じ機能をARM版でも実現する予定

(山本 雅史)