米Xen Source社のCHIEF SCIENCE OFFICERで,「Xen project」のLeader and chief architectも務めるIan Pratt氏(写真)に,仮想化技術の展望と次期Xenについて聞いた。同氏は2007年7月20日に東京都内で開催された「Xen Conference Japan 2007」に合わせて来日したもの。(聞き手は日経Linux編集 畑 陽一郎)



仮想化の将来像についてどのように考えているのか。


写真1 米Xen Source社のCHIEF SCIENCE OFFICERで,「Xen project」のLeader and chief architectも務めるIan Pratt氏
[画像のクリックで拡大表示]
 工場出荷時点ですべてのコンピュータに仮想化機能が実装された世界が来ると考えている。現在はサーバー・マシンが仮想化の対象だが,デスクトップ・パソコンやノート・パソコン,さらには携帯電話機ですら仮想化される。仮想化にはそれだけのメリットがあるからだ。Xenはこれを下支えすることを目指す。

XenをLinux向けに最適化する,もしくはLinuxカーネルにXenを組み込むという選択肢についてはどう考えるか。

 XenはさまざまなOSを動かすためのプラットホーム(基盤ソフト)であり,Linuxだけを特別視することはしない。そのため,Xen本体をLinuxカーネルに組み込むことはしない。ただし,LinuxカーネルにXen用のインタフェースを組み込む動きには協力している。

仮想化では実機との性能差をいかに縮めるかに苦労している。Xenではどのように改良していくのか。

 現在のXenは,CPU性能にはほとんど影響を与えない。Red Hat Enterprise Linux 5では1ウエイ,2ウエイ,4ウエイのいずれの構成においても,5%以下しか性能が低下しない。Windows Server 2003では,10%前後の性能低下で済む。

 Xenで改良が必要なのは,ディスク・アクセス性能とネットワーク性能だ。ディスク・アクセス性能を向上するには,(1)仮想マシン(ゲストOS)のインストール先や,(2)メイン・メモリーに占めるディスク・バッファ量の比率および転送単位などを,ディスク装置の種類に応じて最適化しなければならない。例えば,IDE接続のハード・ディスクとファイバ・チャネル接続のハード・ディスクでは,当然のことながら,最適値が異なる。将来的には,ハードウエア・ベンダーがサーバー・マシンを工場出荷する時点で,プリインストールするXenを最適化できるようにしたい。

 ネットワーク・アクセスでは,ネット・チャネル2対応の高速化技術を取り込む。通常のネットワーク・インタフェース・カード(NIC)でも高速化が可能だが,複数のキューを内蔵するタイプの新しいNICと組み合わせれば,さらにネットワーク性能を向上できる。

Xenの次期版ではどのような機能を盛り込むのか。

 2007年9月に公開する予定の「Xen 3.2」では,NICとDomain U(ゲストOS)の管理下にあるメモリーとの間で,DMA転送が利用できるように改良する。いったんDomain 0(管理用OS)を経由する場合と比べてネットワーク性能を高められる。

 Xenは,準仮想化(パラ・バーチャライゼーション)と呼ばれるモードでゲストOSを動かした場合に最も性能がでる。ただし,現時点で最新のLinuxカーネル2.6.22では,Xen用のカーネルを用意しなければ準仮想化は利用できない。

 現在,Linuxカーネル開発者やXenSource社,米VMware社,米Red Hat社,米IBM社などが協力し,「Paravirt-Ops」と呼ばれるインタフェースを開発中だ。Paravirt-Opsは,XenとLinuxカーネルが協調して動作するためのインタフェースである。既にVMware製品などでも利用されており,カーネル2.6.20からその一部が組み込まれている。次期版のカーネル2.6.23では,Paravirt-Opsが完全にカーネル内に組み込まれる。すると,Xen用のカーネルを用意しなくても準仮想化を利用できるようになる。つまり,通常のLinuxディストリビューションを,準仮想化のゲストOSとして使えるわけだ。