「AMDでは『Trinity』というコンセプトのもと、仮想化とセキュリティを1つのソリューションとしている。OS、ハイパーバイザー、プロセッサのそれぞれの領域でセキュリティを積み上げていく必要があると考えているためだ」
日本AMD マーケティング部 CPUプロダクトマーケティング部 部長代理の山野洋幸氏は、セキュリティも一緒に考えているのがAMDの特長だと説明する。これは、メモリコントローラをCPUに持つというアーキテクチャにより、メモリもCPUでセキュリティ管理できるためだ。
これに対しIntelでは、セキュリティと仮想化という2つの課題に対し、個別に取り組んでいる。セキュリティついては、CPUの周辺も含めてトータルで考えていくというのがIntelの立場だ。
CPUの周辺技術も仮想化に対応
AMDの仮想化に対する取り組みを見ると、2006年にAMD-Vを提供開始し、プロセッサによる仮想化支援技術で仮想化ソフトの複雑性を軽減、仮想化によるCPU処理の負荷を軽減した。そして、2007年には「ネステッド ページテーブル」という仮想化の性能向上技術を追加する。そして2008年以降に、デバイスの仮想化を実現すべく、I/Oの仮想化技術を提供していく。Intelも、細部は異なるが基本的には同様のロードマップが描かれ、今後Intel-VTの第2世代で仮想化環境でのさらなるパフォーマンス向上を実現し、次にI/Oの仮想化技術を提供する。I/Oの仮想化は、「AMD IOMMU」あるいは「Intel VT-d」と呼ばれる技術だ。
1つのOSが1つのマシンを占有しているならば、仮にネットワークの処理性能が不足しても高速なネットワークカードを追加することで容易に性能が向上できるだろう。ところが仮想サーバの場合には、この方法では限界となる場合がある。どんなに高速なデバイスカードを追加しても、ハイパーバイザーがいったん処理を仲立ちするためボトルネックとなってしまうのだ。これを各ゲストOSに対し、直接I/Oをマッピングすることで仮想化ソフトの負荷を軽減しようというのがI/Oの仮想化技術だ。
I/Oの仮想化技術は、パフォーマンスだけでなく、仮想化環境でのデバイスドライバの問題も解決できる可能性がある。従来のデバイスドライバが仮想化環境でそのまま使用できるようになるのだ。これが実現すると、従来は仮想化環境で利用できなかったデバイスが利用できるようになる。
また、仮想化に最適化されたデバイスそのものの開発も進みそうだ。今後は、各種デバイスも仮想化環境で利用されることを前提として開発されることになるのだ。I/Oボードが仮想化対応していれば、ボトルネックをボード側に持って行くことができ、I/Oボードを高速なものに交換して性能改善できる可能性は高い。このための、PCI Expressの拡張仕様の標準化も進められている。今後は、CPUだけでなくチップセットなどの周辺ハードウェアについても、仮想化が前提となっていくだろう。
そうなると「仮想化のシステムデザインをする専門エンジニアが必要になるだろう」とインテルの岩本氏は言う。XenやVMwareなど仮想化ソフトウェアのことを熟知し、ハードウェアの仮想化技術も身につけたエンジニアでなければ、適切な仮想サーバ環境が構築できないということだ。仮想化がさらに普及すると、技術者が勉強すべきことはまだまだ増えていきそうだ。