Xen創始者インタビュー

NICに仮想化支援を入れスループットを大幅改善、Xen

2007/07/24

 レッドハットやノベル、サン・マイクロシステムズといったオープンソース系企業が採用しただけでなく、相互運用の実現に向けてマイクロソフトとも技術提携を結んだ仮想化ソリューションベンダの米XenSource。先行するVMwareや、次々と登場する仮想化ソフトウェアと、今後いかに差別化していくのか。VA Linux Systems Japan主催で行われた「Xen Conference Japan 2007」のために来日したXenプロジェクトの創始者で、米XenSourceにも籍を置くイアン・プラット氏に話を聞いた。

常に最新のハードウェアサポートが可能なのなXenだけ

xen01.jpg オープンソースプロジェクト「Xen」の創始者で現在も同プロジェクトのリーダーを務めるイアン・プラット(Ian Pratt)氏。現在はケンブリッジ大学コンピュータ研究所の教授を務める一方で、米XenSourceにも籍を置く。

――広く普及したVMwareだけでなく、LinuxカーネルのKVMやlguest、あるいはマイクロソフトの次期サーバOSで搭載されるというハイパーバイザのViridia(開発コード)など、いろいろな仮想化ソフトがあります。Xenの強みを教えてください。

プラット氏 Xenプロジェクトではクルマのエンジンは作りますが、クルマ自体は作りません。つまり、ハイパーバイザに特化しています。Xenプロジェクトの目標は「最高のハイパーバイザを提供すること」で、ハイパーバイザの層を、いかに薄くしてパフォーマンスやスケーラビリティを実現するかに注力しています。

 ハイパーバイザと、仮想化に必要なそのほかのソフトウェアを完全に分離するのは、設計上、とても重要なことです。コアをコンパクトにできますし、何か障害が起こってもシステム全体に影響を与えません。これはKVMのようにカーネルに統合されたものとの大きな違いで、セキュリティや信頼性、可用性の点でXenは有利です。

 プロプライエタリなソフトウェアと異なり、オープンソースのXenでは、ハードウェアベンダの協力が得られやすいため、CPUやチップセット、I/O関連でのハードウェアサポートが充実していて、この点でXenはほかのソリューションよりも進んでいます。

――進んでいるとは具体的に?

プラット氏 Xenでは、さまざまなハードウェアベンダとの協力して、デザイン段階から何年もかけて一緒に作業しています。ですから、最新のハードウェアで新機能が出てきたときにも、出荷時にすでにサポートしています。

 これに反して、プロプライエタリなソフトウェアベンダは、ハードウェアメーカーが仕様書が出てきてから実装するので、対応が遅くなりがちです。

 例えば現在、仮想化環境におけるI/Oパフォーマンスで課題となっているのは、ネットワーク関連です。一般的にいってブロック単位で大きなデータを転送するディスクI/Oのオーバーヘッドは、それほど大きな問題ではありません。確かにダウンロードしたばかりのXenでは、数台のドライブがあるだけの小規模のシステムを前提としているため、ファイバーチャネルを使うような大規模システムではパラメータの調整が必要で、こうした面で改善はまだ必要。しかし、正しくパラメータを設定しさえすれば、すでに十分なパフォーマンスを出せています。

 これに対してネットワーク機器は小さなパケットを大量に扱うためにパフォーマンス改善が難しいのです。そこで、インテル、ブロードコム、ソーラーフレアなどのハードウェアベンダと共同でNICに仮想化に適したアーキテクチャを組み込む作業を進めています。その1つが「ネットチャネル2」という機構です。

 現在のXenでは、ハイパーバイザ上で走る各ゲストOSは直接NICのメモリからデータを読み込むことはできません。NICには、特定のドメインからしかアクセスできないからです。このため、そのドメインで読み込んだパケットは、ヘッダに従って、ほかのドメインにコピーすることになります。これは大きなボトルネックになります。

 これにボトルネック解消のために、ネットチャネル2ではNIC上に複数の受信キューを用意する「マルチプル・レシーブ・キュー」を実装します。NICはパケットのヘッダを見て、どのキューに入れるべきかを決定します。第1世代のカードではキューは8〜16本程度になると思いますが、うまく設計すると各ゲストOSは仮想NICを通して、対応するキューからDMA転送でパケットを拾うことができるようになり、ドメイン間の無駄なメモリコピーをなくすことができます。それぞれの仮想NICは対応するNIC上のメモリしか読み込むことができないので、セキュリティも向上します。

 ネットチャネル2により、パフォーマンスとスケーラビリティは上がり、ゲストOS上でも10Gbpsという速度が出せるようになりました。2008年にはある程度、こうした仮想化補助機能の入ったNICが一般的になってくるでしょう。仮想化を前提にしたハードウェアデザインが求められるのは、もはやCPUベンダだけではありません。

 こうした努力により、Xenはネットワーク分野で最高のパフォーマンスを出せるハイパーバイザになるわけです。

 もともとXen自体が大学の研究プロジェクトとして出てきたということもありますが、Xenはアカデミックな研究に適しています。Xenを使った研究では多くの論文が書かれており、そうした中から、コードを洗練させた上でわれわれは成果を取り込んでいます。

VMwareに追いつく高度な管理機能も、秋から提供

――サポートするプラットフォームが多いこともXenの特徴だと講演のなかでおっしゃっていましたね。

プラット氏 ええ、x86、IA-64、Power、ARMと大小さまざまな規模向けのCPUをサポートしていますし、OSについても、Windows、Linux、Solaris、BSD系OSと幅広く対応しています。異なるCPU、OSでも、同じ管理ツールを使って、例えばパフォーマンスモニタリング、リモートでの起動やリブートといったことが行えます。

――組み込み向けのARMでも仮想化が必要なのですか?

プラット氏 例えば高機能化する携帯電話で、無線関連のソフトウェアモジュールとシステム関連のプログラム、ユーザーがダウンロードしたプログラムを、別々の仮想化環境で動かすことができれば、ダウンロードしたゲームにウイルスが入っていても、問題なく110番や119番の緊急通報ができるでしょう?

――仮想化でパフォーマンスは重要なファクターですが、その一方、仮想化ソリューションでは管理ツールの充実度や機能性が差別化要因になっているように思えます。その点、Xenはいかがですか?

プラット氏 XenSourceのマネージメントツールも洗練されてきています。秋にはGAフェーズ(General Availability)に入るXen Enterprise 4.0のベータ版では、VMware Infrastructure 3と同様の、さまざまな管理機能が盛り込まれています。VMware同様に、多数のサーバを1つのリソースプールとして管理し、そこに共有ストレージを接続するといった構成が可能になります。ちょうど、VMware VMotionと同じように、稼働中のゲストOSを、異なる物理サーバ上の仮想化環境に移動させる機能も入ります。

 また、ハイパーバイザとしてXenを採用するレッドハットやノベルといったベンダとXenSourceは立場が少し異なります。XenSourceはOSではなく、VMwareのようにプラットフォームとして提供しています。OSのアップデートは、早くても18〜24カ月かかりますから、最新のハードウェアサポートを提供するという意味でも、Xenはほかの仮想化ソリューションと差別化ができると思います。

――今後の仮想化のトレンドについてお聞かせください。

プラット氏 ハイパーバイザのオーバーヘッドが限りなくゼロに近づいて、たとえノートPCで単一のOSを動かすという用途であっても、ハイパーバイザを使うようになると思います。使わない理由がなくなります。企業ユーザーであれば、そのほうがより厳密なクライアントPC管理が可能です。

 いずれは仮想化機能は、すべてのハードウェアにハイパーバイザが載ってくる時代になると思います。フラッシュ化され、BIOSのような形で提供されるようになるかもしれません。

 そうなると、現在アプライアンスと呼ばれる機器は、PC上にインストールしてすぐに稼働する「バーチャルアプライアンス」化していくでしょう。バーチャルアプライアンスはOSとソフトウェアスタックがパッケージされたもので、スパムフィルタやファイルサーバ、サーチアプライアンスといったものです。OSのアップデートやチューニング、パッチ適用といった面倒がなく、ハードウェアアプライアンス同様にWebブラウザから簡単に管理ができるようになります。

関連リンク

(@IT 西村賢)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)